Bug 1636111 - Review Request: glyr - Glyr is a music related metadata searchengine
Summary: Review Request: glyr - Glyr is a music related metadata searchengine
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Mukundan Ragavan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR
TreeView+ depends on / blocked
 
Reported: 2018-10-04 13:31 UTC by Matias De lellis
Modified: 2019-02-07 14:35 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
nonamedotc: fedora-review+


Attachments (Terms of Use)

Description Matias De lellis 2018-10-04 13:31:53 UTC
Spec URL: https://copr-dist-git.fedorainfracloud.org/cgit/matias/Pragha-updated/glyr.git/plain/glyr.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/matias/Pragha-updated/fedora-28-x86_64/00805296-glyr/glyr-1.0.10-3.20180824git618c418e.fc28.src.rpm

Description: Glyr is a music related metadata searchengine, both with commandline interface and C API.
It was used in Pragha several years ago to search the letters but it was never used in Fedora. 

Fedora Account System Username: matias

Comment 1 Robert-André Mauchin 2018-10-04 15:46:33 UTC
You're not member of the packager group, so you'll also need to find a sponsor: https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

Blocking FE-NEEDSPONSOR.

Comment 2 Mukundan Ragavan 2018-10-14 12:55:33 UTC
Matias,

The SRPM you have uploaded is no longer accessible. Can you please upload the SRPM again? Let's get this rolling.

Comment 3 Matias De lellis 2018-10-15 00:20:45 UTC
Hi Mukundan,
They are still available, but I upload them to a public folder:

Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-3.20180824git618c418e.fc28.src.rpm

Thanks again for the review.

Comment 4 Matias De lellis 2018-10-15 00:40:30 UTC
Hi,
Upload again due fix some rpmlint warnings

Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-4.20180824git618c418e.fc28.src.rpm

[matias@nube ~]$ rpmlint ./Desarrollo/rpmbuild/SRPMS/glyr-1.0.10-4.20180824git618c418e.fc28.src.rpm 
glyr.src: W: invalid-url Source0: glyr-20180824git618c418e.tar.bz2
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

I do not see how to fix this warning ..

Comment 5 Mukundan Ragavan 2018-10-19 22:00:55 UTC
Package Review
==============

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


Issues:
=======
- ldconfig called in %post and %postun if required.
  Note: /sbin/ldconfig not called in libglyr
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#Shared_Libraries

---> Bogus warning. No longer needed.

- 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 %license.
  Note: License file COPYING is not marked as %license
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text

---> Fedora uses the %license macro for license files.

Change %doc COPYING CHANGELOG AUTHORS to 

%license COPYING
%doc CHANGELOG AUTHORS

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[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.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "GNU Lesser General Public License (v3 or later)", "*No
     copyright* GNU Lesser General Public License (v3)", "Expat License",
     "Unknown or generated". 37 files have unknown license. Detailed output
     of licensecheck in
     /home/mukundan/nextcloud/open_source_contrib/pkg_reviews/1636111-glyr/licensecheck.txt

---> Multiple license situation needs to be addressed. For example,

License: GPLv3+ and LGPLv3+
     
[!]: License file installed when any subpackage combination is installed.
[!]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/include/glyr
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/include/glyr

---> Explicitly own the directory.
     
[x]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/lib/.build-id(qemu-ui-
     gtk, cups-client, efivar-libs, rsyslog, qemu-block-gluster, rpm-
     plugin-selinux, python3-qt5-webkit, libimagequant, giflib,
     libreoffice-graphicfilter, trousers, libdb-utils, xorg-x11-font-utils,
     OpenEXR-libs, libcom_err, libseccomp, p11-kit, libabw, gtkspell,
     libvirt-daemon-driver-storage-iscsi, libmodman, parted, libdvdread,
     perl-version, zstd, bluez-libs, libwebp, libxslt, system-config-
     printer-udev, perl-Encode, libverto-libev, python2-cryptography,
     libevdev, libgpg-error, lvm2-libs, perl-Digest-SHA, perl-Params-
     Classify, libsodium, libzstd, gtk-murrine-engine, python3-sqlalchemy,
     symlinks, python3-simplejson, libcdr, e2fsprogs-libs, pulseaudio-libs,
     lcms2, python3-Bottleneck, qemu-guest-agent, annobin, ntfs-3g, libxcb,
     libyubikey, python3-pycurl, openconnect, xcb-util-keysyms, m4,
     libgphoto2, xcb-util, libwmf-lite, xfce4-pulseaudio-plugin,
     pulseaudio-utils, perl-Sub-Identify, llvm5.0-libs, perl-PerlIO-
     utf8_strict, libeot, ImageMagick-c++, systemd-bootchart, uniconvertor,
     u2f-hidraw-policy, perl-JSON-XS, texlive-pdftex, perl-Ref-Util-XS,
     perl-Time-Piece, dbusmenu-qt, ncurses-libs, libidn2, ldns, thunar-
     volman, xorg-x11-xkb-utils, NetworkManager-openvpn, libxkbfile, hplip-
     libs, libwvstreams, sane-backends-drivers-cameras, python3-hawkey,
     libwpd, libdc1394, libvirt-daemon-driver-qemu, qemu-block-ssh, libwps,
     gssdp, libacl, pulseaudio-libs-glib2, policycoreutils, mcelog,
     libgdiplus, pptp, sane-backends-drivers-scanners, libXxf86misc,
     foomatic, texlive-dvips, python3-reportlab, libpath_utils, rpm-build,
     libvirt-daemon-driver-storage-sheepdog, libglvnd-gles, python3-audit,
     redhat-lsb-core, libmicrodns, freeglut, gstreamer1,
     python3-statsmodels, gmime30, dbus-libs, libreoffice-gtk3,
     libreoffice-gtk2, cairo-gobject, vim-minimal, libclastfm, gutenprint,
     openal-soft, usermode, xarchiver, qpdf-libs, linux-atm-libs, libedit,
     openssh, openssl, python3-cairo, python2-libdnf, accountsservice, isl,
     ImageMagick, gssproxy, mesa-libGLU, libatomic_ops, clang6.0-libs,
     libmpcdec, rubygem-io-console, geany, libyui-ncurses, libvirt-daemon-
     driver-interface, NetworkManager, libkate, liblangtag, python3-gmpy2,
     NetworkManager-l2tp-gnome, libdatrie, setuptool, guile, gl2ps, pcre-
     utf16, tree, pipewire, glusterfs-libs, gnupg, cronie-anacron,
     xfsprogs, authselect, libcroco, texlive-bibtex, xfce4-dict,
     qt5-qtsensors, NetworkManager-iodine, spice-server, NetworkManager-
     fortisslvpn-gnome, plymouth-plugin-label, colord-libs, aalib-libs,
     libcddb, totem-pl-parser, gpgmepp, gvnc, hypervfcopyd, cronie,
     libwnck, libexttextcat, qt5-qtquickcontrols, libuv, nettle, libcacard,
     elfutils, colord, libpipeline, pkcs11-helper, gtk-sharp2, network-
     scripts, findutils, popt, python2-xpyb, qt5-qtx11extras, libraw1394,
     lm_sensors, gcc-c++, python3-dbus, iproute-tc, libupnp, spice-glib,
     woff2, python2-numpy, libXfont, patch, sqlite-libs, lttng-ust,
     enchant, libXxf86dga, python2-smartcols, xdg-user-dirs-gtk,
     libwayland-client, pinentry-gnome3, libipt, mdadm, xl2tpd, device-
     mapper, python2-librepo, libXtst, irqbalance, GeoIP, perl-Class-
     XSAccessor, GraphicsMagick, libsigc++20, libXrandr, newt, liba52,
     hplip, crda, libical, sheepdog, qt5-qtdeclarative, vo-amrwbenc,
     libXfont2, libblockdev-loop, libmfx, libssh2, python3-pyqt5-sip,
     NetworkManager-adsl, open-vm-tools-desktop, xmlsec1-nss, libXcursor,
     nftables, lua-lpeg, procps-ng, plymouth-core-libs, telnet,
     openfortivpn, xorg-x11-drv-nouveau, zlib, libpeas, pam_krb5,
     gutenprint-cups, avahi, libselinux, ncurses-compat-libs, libassuan,
     expat, cups-filters, iw, userspace-rcu, wavpack, live555,
     setroubleshoot-server, make, python3-markupsafe, libnice, libsoup,
     glusterfs-api, fuse, perl-Net-SSLeay, perl-Filter, ipmitool, cups-
     libs, libsepol, efivar, gzip, autogen-libopts, keyutils, libfdisk,
     libdmx, openssl-libs, corosynclib, libatasmart, ipset, x265-libs,
     libyui-gtk, libcaca, keybinder3, deltarpm, fuse-libs, gwenhywfar,
     xfce4-weather-plugin, xorg-x11-xauth, libglvnd-glx, libXrender, json-
     glib, libX11-xcb, libfontenc, libicu, libgsf, xorg-x11-drv-vmware,
     xfce-polkit, NetworkManager-openconnect, btrfs-progs, ristretto,
     python3-mistune, wvdial, sni-qt, openssh-askpass, mesa-libglapi, glx-
     utils, qtkeychain-qt5, libquadmath, libass, wpa_supplicant, texlive-
     lib, ppp, libtiger, git, perl-Compress-Raw-Bzip2, jack-audio-
     connection-kit, mpg123-libs, opus, git-core, python3-tkinter,
     qalculate-gtk, libxklavier, traceroute, cyrus-sasl-plain, libblockdev-
     crypto, libreoffice-pdfimport, rp-pppoe, libtheora, attr, mtr,
     gtksourceview3, pugixml, plymouth, libcanberra-gtk3, mtdev, mailx,
     systemd-udev, fftw-libs-single, libXvMC, mousepad, wmctrl,
     python2-pillow, libXmu, capstone, libreoffice-impress, smartmontools,
     jasper-libs, librbd1, device-mapper-libs, xorg-x11-xinit, libogg,
     libffi, libGLEW, python2-hawkey, diffutils, chrony, time, mpfr,
     iputils, qt5-qtxmlpatterns, numactl-libs, libvirt-daemon-driver-
     nwfilter, gpgme, hypervvssd, xorg-x11-drv-openchrome, gcc-gfortran,
     libmcpp, libibverbs, gdb-headless, qemu-audio-pa, libgovirt, libqmi-
     utils, libmbim-utils, psacct, lame-libs, usbredir, ghostscript,
     libtirpc, iptables-libs, gnucash, cryptsetup-libs, bind-libs,
     pygobject2, ghostscript-x11, lua-posix, libinput, libpkgconf, teckit,
     python3-tables, gegl, qt5-qtconnectivity, libosinfo, qt5-qtsvg,
     libreoffice-calc, libqmi, gawk, xfce4-taskmanager, pcsc-lite-libs,
     adwaita-gtk2-theme, libbasicobjects, hdf5, rdma-core, vte291,
     nextcloud-client-libs, qemu-block-iscsi, NetworkManager-strongswan-
     gnome, atril, brotli, filezilla, libdvbpsi, libsmbclient,
     python2-reportlab, libkcapi, libvdpau, compat-openssl10, opencore-amr,
     libnftnl, python3-wrapt, sstp-client, python3-libvirt, network-
     manager-applet, xcb-util-renderutil, texlive-luatex, lightdm,
     freetype, logrotate, libkadm5, libdnet, atril-libs, ntfsprogs,
     efibootmgr, libgusb, samba-common-libs, libfdt, libreswan, libpsl,
     python3-rpm, jimtcl, libuser, NetworkManager-libreswan, opensp,
     lz4-libs, graphviz, boost-date-time, tbb, libglade2, gts, pixman,
     xorg-x11-drv-vesa, python3-numexpr, libbluray, brltty, libstdc++,
     libbabeltrace, vpnc, psmisc, net-snmp-libs, xorg-x11-drv-libinput,
     mesa-libOSMesa, cairo, libgcc, gdisk, ilmbase, python3-zmq,
     xfce4-settings, poppler, pocl, djvulibre-libs, fftw-libs-double,
     libconfig, ModemManager, texmaker, qemu-img, qt5-qtbase-gui,
     xfce4-screenshooter, rtkit, orc, polkit, libuuid, faad2-libs,
     libarchive, libfreehand, python3-scipy, xfdesktop, cryptsetup,
     udisks2, clucene-contribs-lib, paps-libs, tcp_wrappers, xz,
     libXcomposite, rpcbind, pygtk2, python3-matplotlib-tk, harfbuzz-icu,
     libplist, checkpolicy, xdg-user-dirs, hwloc-libs, tetex-dvipost,
     python3-lazy-object-proxy, gdk-pixbuf2, xscreensaver-base, gupnp,
     libevent, redland, python2-cccolutils, tcpdump, yubikey-
     personalization-gui, libblockdev, librdmacm, lua-socket, dconf, xz-
     libs, dbus-glib, python3-kiwisolver, libdvdnav, strongswan, libcap,
     libprojectM, libvirt-daemon-driver-storage-zfs, libwbclient, kmod,
     libvirt-daemon-driver-storage-gluster, numad, NetworkManager-
     fortisslvpn, xfdashboard, GraphicsMagick-c++, libthai, fakeroot,
     libini_config, nss-tools, iproute, python2-gpg, libsmartcols,
     fakeroot-libs, python3-tornado, libyui-qt-graph, libwpg, os-prober,
     ethtool, libfprint, systemd-libs, cpio, libknet1, texlive-xdvi, util-
     linux, numlockx, krb5-libs, net-tools, python3-qt5, llvm6.0-libs,
     libblockdev-part, libpciaccess, clucene-core, compiler-rt,
     NetworkManager-ssh-gnome, libxml++, NetworkManager-pptp, libetonyek,
     libgs, libgxps, webkit2gtk3-jsc, libpagemaker, libxkbcommon, device-
     mapper-multipath-libs, yajl, lockdev, cups-filters-libs, poppler-
     utils, lpsolve, xorg-x11-server-utils, gnupg2, libvirt-daemon-driver-
     storage-iscsi-direct, cracklib, libepubgen, libdnf, ruby, gnuplot-
     common, gnome-keyring, libdbusmenu-gtk3, libdbusmenu-gtk2, libSM,
     texlive-makeindex, netpbm, nm-connection-editor, qt5-qttools-libs-
     help, libudisks2, gstreamer1-plugins-bad-free, NetworkManager-
     libreswan-gnome, python3-setools, clutter, zenity, chkconfig,
     libgnome-keyring, hostname, iscsi-initiator-utils, gparted, librados2,
     libvirt-daemon-driver-storage-mpath, pam, python2-cffi, openldap,
     zziplib, gamin, ipcalc, SDL, speex, libvirt-daemon-driver-storage-
     logical, neon, rest, libsamplerate, python2-lxml, samba-libs, boost-
     iostreams, pakchois, lapack, zfs-fuse, libusbmuxd, perl-Unicode-
     Normalize, libimobiledevice, lzop, NetworkManager-wwan, polkit-pkla-
     compat, jbig2dec-libs, libmtp, cyrus-sasl-lib, librevenge, nspr,
     python3-gobject-base, zvbi, dnsmasq, libXfixes, libblkid, libcdio,
     NetworkManager-l2tp, rsync, lua-libs, pavucontrol, perl-Params-Util,
     authselect-libs, soundtouch, xorg-x11-drv-evdev, libpeas-gtk,
     libXinerama, lirc-libs, vim-enhanced, libcmis, libesmtp, acl, iodine-
     client, xfce4-session, gupnp-igd, vid.stab, python3-fastcache,
     libXxf86vm, mesa-libEGL, clang-libs, rpm-plugin-systemd-inhibit,
     systemd-pam, python2-libvirt, glpk, ftgl, perl-Storable, perl-Digest-
     MD5, lua-term, libshout, perl-Sort-Key, libvirt-daemon-driver-storage-
     rbd, nss-util, libsemanage, libstorj, arpack, mozjs52, systemd-
     container, libcomps, libaec, at, file, simple-mtpfs, libblockdev-fs,
     java-1.8.0-openjdk-headless, libnma, gettext, soxr, python3-pandas,
     libutempter, libmetalink, slang, openblas-serial, usbutils, e2fsprogs,
     libcdio-paranoia, grub2-tools-minimal, cpp, libksba, libwayland-
     server, virglrenderer, dracut, gdbm, libchromaprint, osinfo-db-tools,
     libsndfile, libvisio, tk, ruby-libs, bzip2-libs, NetworkManager-
     iodine-gnome, sshpass, openssl-pkcs11, gnutls, device-mapper-
     persistent-data, ykpers, webkit2gtk3-plugin-process-gtk2, libselinux-
     utils, perl-Scalar-List-Utils, python2-appindicator, dosfstools, rng-
     tools, libspectre, nano, keyutils-libs, libproxy, libreoffice-math,
     perl-Data-Dumper, glusterfs-fuse, game-music-emu, libnfsidmap, perl-
     XML-Parser, mlocate, file-libs, grub2-tools, avahi-glib, mokutil,
     libblockdev-swap, libnetfilter_conntrack, python3-gobject, libev,
     xfce4-datetime-plugin, ocl-icd, fprintd-pam, blas, libXpresent,
     libusbx, NetworkManager-openvpn-gnome, qrencode-libs, libICE, xfce4
     -places-plugin, libgexiv2, drpm, qemu-block-nfs, createrepo_c-libs,
     grilo, perl-Compress-Raw-Zlib, libindicator-gtk3, speexdsp, upower,
     p7zip, libreoffice-x11, xcb-util-wm, Thunar, atk, dbxtool, gnome-vfs2,
     pragha, alsa-lib, gstreamer1-plugins-good-gtk, libwnck3, x264-libs,
     python2-gobject, gtkmm24, libvirt-daemon-driver-storage-disk, mesa-
     dri-drivers, pyliblzma, libffado, suitesparse, gdbm-libs, fribidi,
     NetworkManager-ssh, pciutils, qt5-qttools-libs-designer, openssh-
     clients, blosc, texlive-mfware, libX11, mate-desktop-libs, celt051,
     beignet, htop, gvfs-mtp, python3-cryptography, systemd, wipe, libnl3,
     gimp-libs, NetworkManager-sstp, libidn, grubby, openjpeg-libs,
     libdbusmenu, libdbi, libbytesize, libmpeg2, qemu-block-rbd,
     python3-systemd, python2-libcomps, python2-pyyaml, audit-libs,
     gettext-libs, liborcus, qt5-qtwayland, libref_array, raptor2, gtk-
     update-icon-cache, libyui, plymouth-plugin-two-step, sbc, qt-x11,
     libsane-hpaio, bash, poppler-glib, potrace, seahorse, orage,
     libopenraw, lvm2, harfbuzz, cups, libva, gvfs-client, NetworkManager-
     libnm, python2-libs, zeromq, audit, lrzsz, libglvnd-egl, libunwind,
     unbound-libs, dhcp-libs, libtalloc, grep, ffmpeg, libepoxy, perl-
     Variable-Magic, man-db, libvirt-daemon-driver-storage-core, libibumad,
     epstool, mesa-libgbm, liblogging-stdlog, timedatex, fltk,
     qt5-qtenginio, python2-pynacl, rasqal, wireless-tools, libdb, passwd,
     cups-pk-helper, mono-core, kmod-libs, libdv, gutenprint-libs,
     lm_sensors-libs, libreoffice-writer, desktop-file-utils, libXdamage,
     xorg-x11-utils, bzr, libmwaw, exo, gtkmm30, clang5.0-libs,
     qt5-qtmultimedia, libxfce4ui, gobject-introspection, libpwquality,
     fontconfig, compat-ffmpeg28, jbigkit-libs, python3-sip, libkcapi-
     hmaccalc, libdaemon, hypervkvpd, python3-librepo, pkgconf, json-c,
     sed, arj, perl-threads-shared, glib-networking, NetworkManager-vpnc-
     gnome, python3-qt5-base, kpartx, libpng, sane-backends-libs,
     python3-pillow, qt5-qtwebsockets, ktoblzcheck, cyrus-sasl, hardlink,
     libcollection, libgcrypt, cairomm, perl-Unicode-UTF8, nss-softokn,
     lasi, geoclue2, lsof, binutils, libnsl2, twolame-libs, fuse-exfat,
     xorg-x11-server-Xorg, libmbim, perl-IO, libomp, libverto, glibmm24,
     gtk-xfce-engine, libXScrnSaver, realmd, libmspub, ncurses, nfs-utils,
     graphite2, python3-kerberos, perl-List-MoreUtils-XS, passwdqc-lib,
     libmad, gmp, fuse3, volume_key-libs, cdparanoia-libs, ffmpeg-libs,
     alsa-plugins-pulseaudio, perl-interpreter, gimp, texlive-metafont,
     libcurl, coreutils, gnutls-utils, libcap-ng, xfce4-screenshooter-
     plugin, gvfs, dbus-x11, pinentry, libvirt-daemon-driver-storage-scsi,
     librepo, lua-filesystem, qemu-common, gsm, gsl, boost-filesystem,
     libtevent, librsvg2, openblas-threads, libglvnd, boost-system,
     libpcap, openblas-threads64_, wxBase3, nmap, snappy, python2,
     libindicator, libdrm, genisoimage, rubygem-bigdecimal, pcre2, perl-
     TermReadKey, qt5-qtwebkit, cogl, perl-MIME-Base64, libvirt-glib,
     libqhull, libmspack, libssh, libmodulemd, inkscape, GConf2, glibc,
     xfce4-appfinder, fipscheck, bc, gtk-vnc2, quota, wget, libijs, boost-
     regex, qt5-qtserialport, libgomp, libexif, libvirt-daemon-driver-
     secret, gdk-pixbuf2-xlib, glib2, spirv-tools-libs, python2-libxml2,
     qemu-system-x86-core, ImageMagick-libs, libwmf, pcre2-utf16, libmnl,
     libzmf, libmng, nss, pcre, tcp_wrappers-libs, sane-backends,
     gstreamer1-plugins-base, spax, pciutils-libs, libmpc, libXi,
     openjpeg2, libmatroska, flac-libs, libXt, libXv, rubygem-openssl, rpm-
     libs, info, libnfnetlink, libiec61883, NetworkManager-sstp-gnome, rpm-
     sign-libs, device-mapper-event, libusal, lightdm-gtk, qt5-qtbase,
     libpskc, linux-atm, python3-lxml, jwhois, qemu-block-dmg, curl, yelp-
     libs, gnutls-dane, gnuplot, rubygem-json, fipscheck-lib,
     python2-pycurl, dos2unix, paps, libstaroffice, lzo-minilzo, geany-
     libgeany, gnome-keyring-pam, python3-matplotlib, gd, gc, python3-cups,
     libxshmfence, gstreamer1-plugins-ugly-free, atlas, unzip, vlc, gtk2,
     gtk3, libwayland-egl, libv4l, xfce4-session-engines, atkmm, npth,
     libyaml, mercurial, xcb-util-image, libfilezilla, libblockdev-mdraid,
     glusterfs, exiv2-libs, libebml, libunistring, gstreamer1-plugins-good,
     davfs2, python2-rpm, libasyncns, octave, qemu-block-curl, device-
     mapper-multipath, xmlsec1-openssl, pulseaudio-module-x11,
     python2-cairo, NetworkManager-pptp-gnome, jansson, bind-utils, garcon,
     pxz, firefox, trousers-lib, qrupdate, libnumbertext, libaom, zip,
     webrtc-audio-processing, startup-notification, python3-psutil, babl,
     libqxp, pinfo, freeipmi, xfce4-panel, libqalculate, elfutils-libs,
     libtasn1, perl-libintl-perl, libe-book, alsa-utils, sqlite, tar,
     python3-netifaces, xmlsec1-gnutls, sudo, dhcp-client, fprintd, gcc,
     dwz, xorg-x11-drv-qxl, gcr, ebtables, libyui-qt, avahi-libs, pigz,
     python3-pyyaml, libappindicator-gtk3, libquvi, gvfs-archive, thunar-
     archive-plugin, libao, perl-libs, kbd, dbus-daemon, libreoffice-core,
     libphodav, libwayland-cursor, openvpn, libpaper, xvidcore, libwacom,
     lzo, pango, libss, libshaderc, esmtp, polkit-libs, perl-threads, perl-
     Params-Validate, pangomm, mesa-libxatracker, nss-sysinit, LibRaw,
     texlive-gsftopk, nss-mdns, python3-cffi, qtsingleapplication-qt5, at-
     spi2-core, libvirt-daemon-driver-network, gegl04, glibc-common,
     liblockfile, bind-export-libs, xmlsec1-gcrypt, owncloud-client-libs,
     qt5-qtlocation, python3-libxml2, libnfs, libgfortran, stoken-libs,
     libiscsi, texlive-kpathsea, groff-base, libusb, hdparm, hddtemp, mesa-
     libGL, perl-Devel-LexAlias, perl-HTML-Parser, libldb, bind-libs-lite,
     NetworkManager-vpnc, libmodplug, libvirt-daemon-driver-nodedev,
     libXres, libcanberra, grub2-tools-efi, libart_lgpl, libgudev, xorg-x11
     -drv-wacom, libsrtp, perl-Package-Stash-XS, samba-client-libs,
     qt5-qtscript, which, boost-chrono, samba-client, libaio, lua-expat,
     python3-cccolutils, aqbanking, libxfce4util, qemu-ui-curses,
     python2-krbv, brlapi, thunderbird, createrepo_c, liboauth, lmdb-libs,
     xmlsec1, xfce4-power-manager, isns-utils-libs, libmypaint, libwsman1,
     krb5-workstation, mcpp, nmap-ncat, vlc-core, lksctp-tools,
     usb_modeswitch, python3-libdnf, mythes, rubygem-psych, NetworkManager-
     wifi, qt, libfastjson, libvorbis, lightdm-gobject, NetworkManager-
     openconnect-gnome, vconfig, python3-libselinux, libodfgen,
     xfce4-notifyd, exiv2, iptables, texlive-xetex, libestr,
     qt5-qtwebchannel, lua, perl-PadWalker, llvm-libs, qtlockedfile-qt5,
     libvirt-libs, portaudio, passwdqc, libXft, schroedinger, libattr,
     hyphen, gnupg2-smime, rpm, qemu-audio-oss, libxcrypt, iptstate, radvd,
     libplacebo, openpgm, python3-libs, libappindicator, glusterfs-cli,
     perl-PathTools, ipset-libs, plymouth-graphics-libs, glusterfs-client-
     xlators, libreoffice-pyuno, libxml2, libreoffice-ure, iscsi-initiator-
     utils-iscsiuio, cyrus-sasl-gssapi, xfwm4, libargon2, mesa-vulkan-
     drivers, libvirt-daemon, protobuf-lite, libsecret, tumbler,
     gtk2-engines, strongswan-charon-nm, p11-kit-trust, dcraw, libdca,
     fuse-sshfs, augeas-libs, libsysfs, python3-numpy, texlive-dvipng,
     xfce4-terminal, perl-Cpanel-JSON-XS, boost-locale, gdk-
     pixbuf2-modules, at-spi2-atk, xfconf, xen-libs, perl-DateTime, vim-
     common, python2-kerberos, less, cifs-utils, libvpx, tcl, rpm-build-
     libs, libnghttp2, util-linux-user, libsolv, libxkbcommon-x11, libtdb,
     python3-gpg, libXdmcp, libofx, perl-Socket, python2-bcrypt, aspell,
     libatomic, libvisual, python3, homebank, gpm-libs, minicom, unrar,
     dbus-tools, shared-mime-info, SDL2, webkit2gtk3, libsigsegv,
     keepassxc, boost-thread, perl-Devel-Caller, shadow-utils, nextcloud-
     client, libcgroup, libXaw, libXau, netcf-libs, libvirt-client,
     libspiro, dmidecode, qemu-audio-alsa, python3-libcomps, perl-Devel-
     CallChecker, libjpeg-turbo, spice-gtk3, fuse3-libs, libmount, spice-
     vdagent, xorg-x11-drv-wacom-serial-support, xorg-x11-drv-fbdev, libqb,
     owncloud-client, libavc1394, libtiff, python3-libsemanage,
     libvncserver, libnotify, ima-evm-utils, texlive-tex, ed, python2
     -gobject-base, mesa-libOpenCL, grub2-tools-extra, qemu-audio-sdl,
     openssh-server, fluidsynth-libs, qscintilla-qt5, taglib, libXext,
     libblockdev-utils, ModemManager-glib, bridge-utils, device-mapper-
     event-libs, initscripts, hunspell, libieee1284, wxGTK3, libndp,
     pulseaudio, qemu-ui-sdl, bzip2, elfutils-libelf, nss-softokn-freebl,
     open-vm-tools, python3-smartcols, libavdevice, libtool-ltdl, readline,
     yelp, xorg-x11-drv-intel, vulkan-loader, libXpm, python3-scandir),
     /usr/lib/.build-id/1c(libuser, qt5-qtdeclarative, gstreamer1-plugins-
     bad-free, ImageMagick-libs, graphviz, gstreamer1, libreoffice-core,
     corosynclib, glibc, gegl, gettext, qt5-qtscript, libnl3, libgphoto2,
     vlc-core, libICE, aqbanking, brltty, gdbm-libs, device-mapper-
     multipath-libs, gnupg, python3-numpy, cdparanoia-libs), /usr/lib
     /.build-id/b5(procps-ng, libndp, perl-interpreter, qemu-
     system-x86-core, wpa_supplicant, kbd, libblockdev, gettext-libs, gimp,
     libpwquality, glibc, coreutils, libosinfo, ruby-libs, policycoreutils,
     iptables, python2-appindicator, ModemManager, ImageMagick-libs, sane-
     backends-drivers-scanners, opencore-amr, vlc-core, GraphicsMagick,
     octave, libijs, qt5-qtwayland, pulseaudio, libcanberra-gtk3)
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required


---> Modernize the spec file (separate comment)
     
[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[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]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 3 files.
[!]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[!]: Buildroot is not present
     Note: Buildroot: present but not needed

---> Modernize the spec file.    
 
[!]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: %clean present but not required

---> Modernize the spec file.

[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]: Final provides and requires are sane (see attachments).
[!]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in libglyr
     , libglyr-devel
[-]: Package functions as described.
[x]: 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]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

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


Rpmlint
-------
Checking: glyr-1.0.10-4.20180824git618c418e.fc30.x86_64.rpm
          libglyr-1.0.10-4.20180824git618c418e.fc30.x86_64.rpm
          libglyr-devel-1.0.10-4.20180824git618c418e.fc30.x86_64.rpm
          glyr-1.0.10-4.20180824git618c418e.fc30.src.rpm
glyr.x86_64: E: explicit-lib-dependency libcurl
glyr.x86_64: W: no-manual-page-for-binary glyrc
libglyr.x86_64: W: spelling-error Summary(en_US) glyr -> glyph
libglyr.x86_64: W: summary-not-capitalized C glyr library
libglyr.x86_64: W: spelling-error %description -l en_US glyr -> glyph
libglyr.x86_64: W: no-documentation
libglyr-devel.x86_64: W: no-documentation
glyr.src: W: invalid-url Source0: glyr-20180824git618c418e.tar.bz2
4 packages and 0 specfiles checked; 1 errors, 7 warnings.




Rpmlint (installed packages)
----------------------------
sh: /usr/bin/python: No such file or directory
glyr.x86_64: E: explicit-lib-dependency libcurl
glyr.x86_64: W: invalid-url URL: https://github.com/sahib/glyr <urlopen error [Errno -2] Name or service not known>
glyr.x86_64: W: no-manual-page-for-binary glyrc
libglyr-devel.x86_64: W: invalid-url URL: https://github.com/sahib/glyr <urlopen error [Errno -2] Name or service not known>
libglyr-devel.x86_64: W: no-documentation
libglyr.x86_64: W: spelling-error Summary(en_US) glyr -> glyph
libglyr.x86_64: W: summary-not-capitalized C glyr library
libglyr.x86_64: W: spelling-error %description -l en_US glyr -> glyph
libglyr.x86_64: W: invalid-url URL: https://github.com/sahib/glyr <urlopen error [Errno -2] Name or service not known>
libglyr.x86_64: W: no-documentation
3 packages and 0 specfiles checked; 1 errors, 9 warnings.



Requires
--------
glyr (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libcurl
    libglib-2.0.so.0()(64bit)
    libglyr
    libglyr.so.1()(64bit)
    rtld(GNU_HASH)
    sqlite

libglyr-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    libglyr
    libglyr.so.1()(64bit)
    pkgconfig(glib-2.0)
    pkgconfig(libcurl)
    pkgconfig(sqlite3)

libglyr (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libcurl.so.4()(64bit)
    libglib-2.0.so.0()(64bit)
    libsqlite3.so.0()(64bit)
    rtld(GNU_HASH)



Provides
--------
glyr:
    glyr
    glyr(x86-64)

libglyr-devel:
    libglyr-devel
    libglyr-devel(x86-64)
    pkgconfig(libglyr)

libglyr:
    libglyr
    libglyr(x86-64)
    libglyr.so.1()(64bit)



Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1636111
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 6 Mukundan Ragavan 2018-10-19 22:05:37 UTC
Some comments about bringing the spec file to Fedora's standards

(1) drop BuildRoot definition

(2) Drop all "rm -rd %{buildroot}" lines

(3) Sub-packages should be %{name}-libs and %{name}-devel. Towards that,

"%package        -n lib%{name}" should be  "%package        -n libs"


Similarly,
"%package        -n lib%{name}-devel" should be "%package -n devel"


Make appropriate changes in the %description lines as well.

(4) Buildrequires on curl should either be curl-devel or pkconfig(curl).


(5) drop %post and %postun

(6) drop the %clean section.

(7) drop %defattr lines.


Good start!

Comment 7 Matias De lellis 2018-10-22 12:46:45 UTC
Hi Mukundan,

New source package and Spec:
Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-5.20180824git618c418e.fc28.src.rpm


> (1) drop BuildRoot definition

Done.

> (2) Drop all "rm -rd %{buildroot}" lines

Done.

> (3) Sub-packages should be %{name}-libs and %{name}-devel. Towards that,
> 
> "%package        -n lib%{name}" should be  "%package        -n libs"
> 
> 
> Similarly,
> "%package        -n lib%{name}-devel" should be "%package -n devel"

Done, but use "%package -n %{name}-devel" instead "%packege -n devel", If not, just generate the "devel*.rpm" package. ;)

> Make appropriate changes in the %description lines as well.

Done.

> (4) Buildrequires on curl should either be curl-devel or pkconfig(curl).

This is the only thing that is not fixed. :disapointed:
The spec has the dependency to libcurl-devel (See line #27), and according to the libcurl package, this is the correct name.
See: https://src.fedoraproject.org/rpms/curl/blob/master/f/curl.spec#_127

> (5) drop %post and %postun

Done.

> (6) drop the %clean section.

Done

> (7) drop %defattr lines.

Done.


Well, I hope your comments.
Thank for the review!. ;)

Regards,
Matias.

Comment 8 Mukundan Ragavan 2018-10-25 00:25:14 UTC
spec file changes - 

(1)

Requires:       lib%{name} = %{version}-%{release}

This line is no longer correct since you have changed the package names to %{name}-libs.

(2)
Use %make_build instead of make %{?_smp_mflags}. You can use 

rpm --eval to understand several macros. For example, on my system,

$ rpm --eval %make_build
/usr/bin/make -O -j8

(3)
Use %make_install

(4)
Install license file using %license macro.

Change %doc CHANGELOG AUTHORS COPYING to

%license COPYING
%doc CHANGELOG AUTHORS


You are correct about libcurl-devel.

Comment 9 Mukundan Ragavan 2018-10-25 00:27:10 UTC
Also, 

%{_includedir}/%{name}/glyr.h
%{_includedir}/%{name}/types.h
%{_includedir}/%{name}/cache.h
%{_includedir}/%{name}/misc.h
%{_includedir}/%{name}/config.h
%{_includedir}/%{name}/testing.h

Can be changed to 

%{_includedir}/%{name}

This way the entire directory will be owned by the package and you will not have to edit the file list every time something changes.

Comment 10 Matias De lellis 2018-10-25 01:29:47 UTC
Hi,
Everything done..

Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-6.20180824git618c418e.fc28.src.rpm

> This line is no longer correct since you have changed the package names to %{name}-libs.

D'Oh!. I see it later, but can not update it.

> rpm --eval to understand several macros. For example, on my system,

Thanks for the tip.. ;)

Also add "Provides: " and "Obsoletes: " definitions to fix conflicts due to name changes..
This mainly to fix the installations of my Copr repositorie. Of course is not necessary for the fedora repositories. If you do not like it, I delete it immediately and I only use it in Copr.

The rest is of course correct and was fixed..

Comment 11 Kefu Chai 2018-10-25 05:31:28 UTC
Package Review
==============

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

Issues:
=======

- please remove "Group: " tag, see https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections
- the "License:" field is not correct anymore. see "COPYING", the license has
  been changed to LGPLv3.
- instead of "BuildRequires:  glib2-devel >= 2.10", might want to
 * "BuildRequires: pkgconfig(glib-2.0) > 2.10" and
 * "BuildRequires: pkgconfig(gthread-2.0)"
 see https://fedoraproject.org/wiki/Packaging:PkgConfigBuildRequires
- nit, might want to patch the `CMakeLists.txt`, as its version number is still
  1.0.9. please 'grep GLYR_VERSION_MICRO' in the source tree for more details.
- in %description section, it'd be better to add hypyen between "easy to use" so
  it looks like "easy-to-use". because it helps user to digest it. see also:
  https://en.oxforddictionaries.com/punctuation/hyphen
- could you justify why debug_package is disabled?
- could you link 0001-use-lastfm-getinfo-instead-getimages.patch to upstream bugs/comments/lists,
  or justify it in the header of the patch?
- libglyr comes with a test suite, shall we have %check for exercising it and for making sure all
  tests pass? at least, capi could be tested, i guess.
- "Requires:    libcurl" does not look right. please leave it to rpm, it is able to figure out
  the runtime dependency introduced by linked shared libraries.
- If your application is a C or C++ application you must list a
  BuildRequires against gcc, gcc-c++ or clang.
  Note: No gcc, gcc-c++ or clang found in BuildRequires
  See: https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B


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

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

Generic:
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[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 %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

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


Rpmlint
-------
Checking: glyr-1.0.10-6.20180824git618c418e.fc28.x86_64.rpm
          glyr-libs-1.0.10-6.20180824git618c418e.fc28.x86_64.rpm
          glyr-devel-1.0.10-6.20180824git618c418e.fc28.x86_64.rpm
          glyr-1.0.10-6.20180824git618c418e.fc28.src.rpm
glyr.x86_64: E: explicit-lib-dependency libcurl
glyr.x86_64: W: no-manual-page-for-binary glyrc
glyr-libs.x86_64: W: summary-not-capitalized C glyr library
glyr-libs.x86_64: W: no-documentation
glyr-devel.x86_64: W: spelling-error %description -l en_US libglyr -> glibber
glyr-devel.x86_64: W: no-documentation
glyr.src: E: specfile-error warning: bogus date in %changelog: Sun Oct 22 2018 Matias De lellis <mati86dl@gmail.com> - 1.0.10-5.20180824git618c418e
4 packages and 0 specfiles checked; 2 errors, 5 warnings.




Rpmlint (installed packages)
----------------------------
sh: /usr/bin/python: No such file or directory
glyr.x86_64: E: explicit-lib-dependency libcurl
glyr.x86_64: W: no-manual-page-for-binary glyrc
glyr-libs.x86_64: W: summary-not-capitalized C glyr library
glyr-libs.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libglyr.so.1.1.0 /lib64/libgthread-2.0.so.0
glyr-libs.x86_64: W: no-documentation
glyr-devel.x86_64: W: spelling-error %description -l en_US libglyr -> glibber
glyr-devel.x86_64: W: no-documentation
3 packages and 0 specfiles checked; 1 errors, 9 warnings.

Comment 12 Matias De lellis 2018-10-25 14:34:28 UTC
Hi,

Except debug, I think it's all done.

Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-7.20180824git618c418e.fc28.src.rpm

Inline comments to fixes..

> please remove "Group: " tag, see https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections

Done.

> - the "License:" field is not correct anymore. see "COPYING", the license has
>  been changed to LGPLv3.

D'Oh!. Never see the licence change. Done.

> - instead of "BuildRequires:  glib2-devel >= 2.10", might want to
> * "BuildRequires: pkgconfig(glib-2.0) > 2.10" and
> * "BuildRequires: pkgconfig(gthread-2.0)"
> see https://fedoraproject.org/wiki/Packaging:PkgConfigBuildRequires

Done. I knew these recommendations, but I took them as optional, and continued with other priorities.

> - nit, might want to patch the `CMakeLists.txt`, as its version number is still
>   1.0.9. please 'grep GLYR_VERSION_MICRO' in the source tree for more details.

Done.. Add a patch to fix the version.
It was a recurring problem with the versions in this project. :disapointed:

> - in %description section, it'd be better to add hypyen between "easy to use" so
>  it looks like "easy-to-use". because it helps user to digest it. see also:
>  https://en.oxforddictionaries.com/punctuation/hyphen

Done.. Thanks fo the tip.

> - could you justify why debug_package is disabled?

If remove them just result on:
>    Empty %files file /home/matias/Desarrollo/rpmbuild/BUILD/glyr/debugsourcefiles.list

..and honestly I can not find how to fix it. You can help me.? :disapointed:

> - could you link 0001-use-lastfm-getinfo-instead-getimages.patch to upstream bugs/comments/lists,
>  or justify it in the header of the patch?

Done. Just remove that. They were internal tests to try to solve a bug in libclastfm. Both libclastfm an libglyr in Pragha use queries in parallel with different private keys, then try to differentiate them.

> - libglyr comes with a test suite, shall we have %check for exercising it and for making sure all
>  tests pass? at least, capi could be tested, i guess.

Well, check_api and check_dbc its ok, but check_opt fail..
So, change '%{cmake}' to '%{cmake} -DTEST=true' to enable build test and append these:
> > %check
> > bin/check_api
> > bin/check_dbc
> > # This check fails so ignore that.
> > # bin/check_opt

It's ok?

> - "Requires:    libcurl" does not look right. please leave it to rpm, it is able to figure out
>  the runtime dependency introduced by linked shared libraries.

You are right. Also sqlite3.

> - If your application is a C or C++ application you must list a
>  BuildRequires against gcc, gcc-c++ or clang.
>  Note: No gcc, gcc-c++ or clang found in BuildRequires
>  See: https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B

Done.. Is half strange to specify a particular compiler, but done. BuildRequires: gcc

I await your comments,
Regards

Comment 13 Kefu Chai 2018-10-25 15:04:28 UTC
(In reply to mati86dl from comment #12)
> > - could you justify why debug_package is disabled?
> 
> If remove them just result on:
> >    Empty %files file /home/matias/Desarrollo/rpmbuild/BUILD/glyr/debugsourcefiles.list
> 
> ..and honestly I can not find how to fix it. You can help me.? :disapointed:

sure. please see https://github.com/sahib/glyr/blob/458f31838a7db1744b4ad0dfcd8433c92eee71f9/CMakeLists.txt#L63

by default, it use "release" for its CMAKE_BUILD_TYPE, so no debug symbol is added. probably you could pass -DCMAKE_BUILD_TYPE=RelWithDebInfo and try again?
> 
> > - could you link 0001-use-lastfm-getinfo-instead-getimages.patch to upstream bugs/comments/lists,
> >  or justify it in the header of the patch?
> 
> Done. Just remove that. They were internal tests to try to solve a bug in
> libclastfm. Both libclastfm an libglyr in Pragha use queries in parallel
> with different private keys, then try to differentiate them.
> 
> > - libglyr comes with a test suite, shall we have %check for exercising it and for making sure all
> >  tests pass? at least, capi could be tested, i guess.
> 
> Well, check_api and check_dbc its ok, but check_opt fail..
> So, change '%{cmake}' to '%{cmake} -DTEST=true' to enable build test and
> append these:
> > > %check
> > > bin/check_api
> > > bin/check_dbc
> > > # This check fails so ignore that.
> > > # bin/check_opt

is this expected? does the upstream have an issue tracking this? i cannot find it in https://github.com/sahib/glyr/issues though.

> 
> It's ok?
> 
> > - "Requires:    libcurl" does not look right. please leave it to rpm, it is able to figure out
> >  the runtime dependency introduced by linked shared libraries.
> 
> You are right. Also sqlite3.
> 
> > - If your application is a C or C++ application you must list a
> >  BuildRequires against gcc, gcc-c++ or clang.
> >  Note: No gcc, gcc-c++ or clang found in BuildRequires
> >  See: https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B
> 
> Done.. Is half strange to specify a particular compiler, but done.
> BuildRequires: gcc

yeah =) guess GCC is the de factor standard in the foreseeable future on GNU/Linux.

Comment 14 Matias De lellis 2018-10-25 17:32:18 UTC
> > - could you justify why debug_package is disabled?
> 
> sure. please see https://github.com/sahib/glyr/blob/458f31838a7db1744b4ad0dfcd8433c92eee71f9/CMakeLists.txt#L63
> 
> by default, it use "release" for its CMAKE_BUILD_TYPE, so no debug symbol is
> added. probably you could pass -DCMAKE_BUILD_TYPE=RelWithDebInfo and try again?

Due how CMakeLists.txt is written any value other than "debug", is considered a
"release".

If use "debug", the package is built correctly, and generates the debug. But this
is compiled with -g3. and I understand that not need as much debug information.

I leave to your discretion if I compile as "debug", or that you decide.. ;)

> is this expected?

Of course that not, but since it checks internet results, the API used may have changed.

> does the upstream have an issue tracking this? i cannot find
> it in https://github.com/sahib/glyr/issues though.

I can post a bug, but the original developer says he is not maintained any more, although it accepts patches. -That's why I'm packaging a git version-

Comment 15 Matias De lellis 2018-10-25 18:21:56 UTC
Hi, New attempt..

Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-8.20180824git618c418e.fc28.src.rpm

Inline notes..

> > by default, it use "release" for its CMAKE_BUILD_TYPE, so no debug symbol is
> > added. probably you could pass -DCMAKE_BUILD_TYPE=RelWithDebInfo and try again?
>
> Due how CMakeLists.txt is written any value other than "debug", is considered a
"release".
> 
> If use "debug", the package is built correctly, and generates the debug. But this
> is compiled with -g3. and I understand that not need as much debug information.

Apply a patch to accept the -DCMAKE_BUILD_TYPE=RelWithDebInfo, so compile debug sub-packages.

About test, just added as describe before.

Regards,

Comment 16 Mukundan Ragavan 2018-10-25 22:15:50 UTC
@kefu, do you want to take over the review formally? If yes, please assign the bug to yourself. 

I can sponsor matias after the package is approved unless you are also a sponsor (cannot find you on FAS with the details here).

Comment 17 Kefu Chai 2018-10-26 02:18:38 UTC
@Mukundan i didn't intend to hijack this preview request from you. was just trying to follow https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group , as i was trying to get myself sponsored by then. since i've been sponsored. i think i'd better stop here and find another bz to review. i am sorry if it's considered impolite to jump into an assigned review request in the middle.

thanks @Matia, the last nit, see https://fedoraproject.org/wiki/Packaging:PatchUpstreamStatus .

Comment 18 Mukundan Ragavan 2018-10-26 21:17:32 UTC
(In reply to Kefu Chai from comment #17)
> @Mukundan i didn't intend to hijack this preview request from you. was just
> trying to follow
> https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group
> , as i was trying to get myself sponsored by then. since i've been
> sponsored. i think i'd better stop here and find another bz to review. i am
> sorry if it's considered impolite to jump into an assigned review request in
> the middle.
> 

No worries at all (and absolutely no offense taken). Just wanted to help and gain clarity. :)

Comment 19 Mukundan Ragavan 2018-10-30 01:14:42 UTC
Hmmm ... With checks enabled, I can build this package anymore.

https://koji.fedoraproject.org/koji/taskinfo?taskID=30550346

Comment 20 Kefu Chai 2018-10-31 07:41:15 UTC
might want to add

BuildRequires: pkgconfig(check)

Comment 21 Mukundan Ragavan 2018-11-01 00:15:41 UTC
That is correct. With that change, I think this package is ready to be approved.

Matias, if you upload it, I can approve this package, sponsor you and we can work together on related packages (including pragha).

Comment 22 Matias De lellis 2018-11-01 11:21:02 UTC
Hello both,

Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-9.20180824git618c418e.fc28.src.rpm

> BuildRequires: pkgconfig(check)

Added.

> Matias, if you upload it, I can approve this package, sponsor you and we can work together on related packages (including pragha).

ok, Hopefully, advance, and let's do interesting things .. ;)

Comment 23 Mukundan Ragavan 2018-11-06 02:42:57 UTC
Sorry for the delays. I have not had much time last few days.

Looking closely at the build log, we have test failures.

+ cd glyr
+ bin/check_api
Running suite(s): Libglyr API
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: Warning: Either query or library is not initialized.
BUILDSTDERR: glyr_cache_write: Unable to write to '/tmp'!
BUILDSTDERR: Test data of the cache
Test data of the cache
90%: Checks: 10, Failures: 1, Errors: 0
/builddir/build/BUILD/glyr/spec/capi/check_api.c:49:P:Init:test_glyr_init:0: Passed
/builddir/build/BUILD/glyr/spec/capi/check_api.c:56:P:Init:test_glyr_destroy_before_init:0: Passed
/builddir/build/BUILD/glyr/spec/capi/check_api.c:78:P:Init:test_glyr_query_init:0: Passed
/builddir/build/BUILD/glyr/spec/capi/check_api.c:115:P:Init:test_glyr_query_destroy:0: Passed
/builddir/build/BUILD/glyr/spec/capi/check_api.c:127:P:Init:test_glyr_free_list:0: Passed
/builddir/build/BUILD/glyr/spec/capi/check_api.c:86:P:Init:test_glyr_cache_free:0: Passed
/builddir/build/BUILD/glyr/spec/capi/check_api.c:106:P:Init:test_glyr_cache_copy:0: Passed
/builddir/build/BUILD/glyr/spec/capi/check_api.c:157:P:Init:test_glyr_cache_set_data:0: Passed
/builddir/build/BUILD/glyr/spec/capi/check_api.c:165:P:Init:test_glyr_cache_write:0: Passed



Can this be fixed?

/builddir/build/BUILD/glyr/spec/capi/check_api.c:193:F:Init:test_glyr_download:0: Could not load www.google.de

build environment does not have network access and so we cannot really connect to an external site.

Comment 24 Matias De lellis 2018-11-06 11:31:51 UTC
> Can this be fixed?
> 
> /builddir/build/BUILD/glyr/spec/capi/check_api.c:193:F:Init:test_glyr_download:0: Could not load www.google.de

OH..
I can make a patch to ignore this check, but honestly, if it were for me, I would not have compiled the tests.

We are already testing 2 of the 3 tests, and there is still another test of the providers that depends on the python binding. (What would be to enter into the dilemma of the egg and the chicken..?)

See: https://github.com/sahib/glyr/tree/master/spec

Seems that we want to be more papable than the Pope... but we are doing it in half.. :disapointed:

Well... In summary, if you want to write a patch, or disable the tests again. ;)
But taking into account that the library is for downloading information from the internet, doing the tests without internet seems that not make much sense..

p.s: Sorry about the analogies .. haha.

Comment 25 Mukundan Ragavan 2018-11-08 01:29:30 UTC
Go ahead and disable the failing test so that I can review the package.

Comment 26 Matias De lellis 2018-11-08 11:56:29 UTC
Hi,

Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-10.20180824git618c418e.fc28.src.rpm

%changelog
* Thu Nov 08 2018 Matias De lellis <mati86dl@gmail.com> - 1.0.10-10.20180824git618c418e
- Add a patch that disables test that depends on internet connection.

Comment 27 Mukundan Ragavan 2018-11-27 02:13:32 UTC
Sorry for the delay. All the issues seem to be resolved.

Why do you have the provides and obsoletes for devel and libs?

%package        -n %{name}-libs
Summary:        %{name} library
Group:          Development/Libraries

Provides:       lib%{name} = %{version}-%{release}
Obsoletes:      lib%{name} < %{version}-%{release}

%description    -n %{name}-libs
The lib%{name} package contains libraries for applications that use %{name}.


%package        -n %{name}-devel
Summary:        Development files for %{name}
Group:          Development/Libraries
Requires:       %{name}-libs = %{version}-%{release}

Provides:       lib%{name}-devel = %{version}-%{release}
Obsoletes:      lib%{name}-devel < %{version}-%{release}


You can safely remove these I believe unless you have a specific reason (or I am not understanding something).

Comment 28 Matias De lellis 2018-11-27 11:44:15 UTC
Hi,

> Sorry for the delay

Do not worry,. ;)


> Why do you have the provides and obsoletes for devel and libs?

https://bugzilla.redhat.com/show_bug.cgi?id=1636111#c10

- Also add "Provides: " and "Obsoletes: " definitions to fix conflicts due to
- name changes..
- This mainly to fix the installations of my Copr repositorie. Of course is not
- necessary for the fedora repositories. If you do not like it, I delete it
- immediately and I only use it in Copr.

If you want to eliminate it, I have no problem..

Regards,

Comment 29 Mukundan Ragavan 2018-11-28 11:13:28 UTC
I guess that's alright. I will post the full review later this evening.

Comment 30 Mukundan Ragavan 2018-12-06 03:02:07 UTC
sorry for the delay (again!). :(

I will definitely get this done before the end of the week.

Comment 31 Matias De lellis 2018-12-06 12:00:08 UTC
Do not apologize.
We all have our obligations. I am more than grateful you took the review.. =)

Comment 32 Mukundan Ragavan 2019-01-15 23:33:31 UTC
Package Review
==============

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


Issues:
=======
- Header files in -devel subpackage, if present.
  Note: glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/blacklist.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/cache.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/cache_intern.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/core.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/glyr.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/intern/common/amazon.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/intern/common/google.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/intern/common/mbid_lookup.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/intern/common/musicbrainz.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/intern/common/picsearch.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/intern/generic.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/jsmn/jsmn.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/misc.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/register_plugins.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/stringlib.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/lib/types.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/src/glyrc/autohelp.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/src/glyrc/colorprint.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/src/glyrc/escape.h
  glyr-debugsource :
  /usr/src/debug/glyr-1.0.10-10.20180824git618c418e.fc30.x86_64/src/glyrc/update.h
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
- All build dependencies are listed in BuildRequires, except for any that
  are listed in the exceptions section of Packaging Guidelines.
  Note: These BR are not needed: gcc
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2
- ldconfig called in %post and %postun if required.
  Note: /sbin/ldconfig not called in glyr-libs
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#Shared_Libraries

---> all these have been addressed

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "GNU Lesser General Public License (v3 or later)", "*No
     copyright* GNU Lesser General Public License (v3)", "Expat License",
     "Unknown or generated". 37 files have unknown license. Detailed output
     of licensecheck in
     /home/mukundan/nextcloud/open_source_contrib/pkg_reviews/glyr/1636111-glyr/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/lib/.build-id(qemu-ui-
     gtk, cups-client, efivar-libs, rsyslog, lz4-libs, qemu-block-gluster,
     rpm-plugin-selinux, python3-qt5-webkit, libimagequant, giflib,
     libreoffice-graphicfilter, trousers, libdb-utils, xorg-x11-font-utils,
     OpenEXR-libs, libcom_err, libseccomp, p11-kit, libabw, gtkspell,
     libvirt-daemon-driver-storage-iscsi, libmodman, parted, libdvdread,
     zstd, bluez-libs, libwebp, libxslt, system-config-printer-udev, perl-
     Encode, libverto-libev, python2-cryptography, libevdev, libgpg-error,
     lvm2-libs, perl-Digest-SHA, perl-Params-Classify, libsodium,
     python3-unbound, libzstd, gtk-murrine-engine, lua-lpeg, symlinks,
     python3-simplejson, libcdr, e2fsprogs-libs, pulseaudio-libs, lcms2,
     python3-Bottleneck, qemu-guest-agent, annobin, ntfs-3g, libxcb,
     libyubikey, python3-pycurl, openconnect, xcb-util-keysyms, m4,
     libgphoto2, xcb-util, libwmf-lite, xfce4-pulseaudio-plugin,
     pulseaudio-utils, perl-Sub-Identify, llvm5.0-libs, perl-PerlIO-
     utf8_strict, libeot, ImageMagick-c++, systemd-bootchart, uniconvertor,
     wipe, perl-JSON-XS, texlive-pdftex, perl-Ref-Util-XS, perl-Time-Piece,
     dbusmenu-qt, ncurses-libs, polkit, ldns, thunar-volman, xorg-x11-xkb-
     utils, NetworkManager-openvpn, libxkbfile, hplip-libs, libwvstreams,
     sane-backends-drivers-cameras, python3-hawkey, libwpd, libdc1394,
     libvirt-daemon-driver-qemu, qemu-block-ssh, libwps, gssdp, libacl,
     pulseaudio-libs-glib2, policycoreutils, mcelog, libgdiplus, pptp,
     sane-backends-drivers-scanners, libXxf86misc, foomatic, texlive-dvips,
     python3-reportlab, minizip, libpath_utils, rpm-build, libvirt-daemon-
     driver-storage-sheepdog, libglvnd-gles, python3-audit, redhat-lsb-
     core, libmicrodns, freeglut, gstreamer1, python3-statsmodels, gmime30,
     dbus-libs, libreoffice-gtk3, libreoffice-gtk2, cairo-gobject, python3
     -matplotlib-tk, libclastfm, gutenprint, openal-soft, usermode,
     xarchiver, qpdf-libs, linux-atm-libs, libedit, openssh, openssl,
     python3-cairo, python2-libdnf, accountsservice, isl, hfsplus-tools,
     ImageMagick, gssproxy, mesa-libGLU, libatomic_ops, clang6.0-libs,
     libmpcdec, rubygem-io-console, geany, libyui-ncurses, libvirt-daemon-
     driver-interface, NetworkManager, libkate, liblangtag, python3-gmpy2,
     NetworkManager-l2tp-gnome, libdatrie, setuptool, guile, gl2ps, pcre-
     utf16, tree, pipewire, glusterfs-libs, gnupg, cronie-anacron,
     xfsprogs, authselect, libcroco, texlive-bibtex, xfce4-dict,
     qt5-qtsensors, NetworkManager-iodine, spice-server, NetworkManager-
     fortisslvpn-gnome, plymouth-plugin-label, colord-libs, aalib-libs,
     libcddb, totem-pl-parser, gpgmepp, gvnc, hypervfcopyd, cronie,
     libexttextcat, qt5-qtquickcontrols, gsl, nettle, libcacard, elfutils,
     colord, libpipeline, pkcs11-helper, gtk-sharp2, network-scripts,
     findutils, popt, python2-xpyb, qt5-qtx11extras, libraw1394,
     lm_sensors, gcc-c++, python3-dbus, iproute-tc, libupnp, spice-glib,
     woff2, python2-numpy, patch, sqlite-libs, lttng-ust, enchant,
     libXxf86dga, python2-smartcols, xdg-user-dirs-gtk, libwayland-client,
     pinentry-gnome3, libipt, mdadm, xl2tpd, device-mapper, libXtst,
     irqbalance, GeoIP, perl-Class-XSAccessor, GraphicsMagick, portaudio,
     libXrandr, newt, liba52, hplip, crda, libical, sheepdog,
     qt5-qtdeclarative, libXpm, vo-amrwbenc, libXfont2, libblockdev-loop,
     libmfx, libssh2, python3-pyqt5-sip, NetworkManager-adsl, open-vm-
     tools-desktop, xmlsec1-nss, libXcursor, nftables, bridge-utils,
     procps-ng, plymouth-core-libs, telnet, openfortivpn, xorg-x11-drv-
     nouveau, zlib, libpeas, pam_krb5, gutenprint-cups, avahi, libselinux,
     ncurses-compat-libs, libassuan, expat, cups-filters, iw, userspace-
     rcu, wavpack, live555, setroubleshoot-server, make,
     python3-markupsafe, libnice, libsoup, glusterfs-api, fuse, perl-Net-
     SSLeay, perl-Filter, ipmitool, cups-libs, libsepol, efivar, gzip,
     keyutils, libfdisk, libdmx, openssl-libs, corosynclib, libatasmart,
     ipset, x265-libs, libyui-gtk, libcaca, keybinder3, deltarpm, fuse-
     libs, gwenhywfar, xfce4-weather-plugin, xorg-x11-xauth, libglvnd-glx,
     libXrender, json-glib, libX11-xcb, libfontenc, libicu, libgsf,
     xorg-x11-drv-vmware, xfce-polkit, NetworkManager-openconnect, btrfs-
     progs, gcc-gfortran, python3-mistune, wvdial, sni-qt, openssh-askpass,
     mesa-libglapi, glx-utils, qtkeychain-qt5, aqbanking, libass,
     python3-twisted, libstdc++, ppp, libtiger, git, perl-Compress-Raw-
     Bzip2, jack-audio-connection-kit, mpg123-libs, opus, git-core,
     python3-tkinter, qalculate-gtk, libxklavier, traceroute, cyrus-sasl-
     plain, libblockdev-crypto, libreoffice-pdfimport, rp-pppoe, libtheora,
     attr, mtr, libblockdev-part, pugixml, plymouth, libcanberra-gtk3,
     mtdev, mailx, systemd-udev, fftw-libs-single, libXvMC, mousepad,
     wmctrl, python2-pillow, libXmu, capstone, python3-zope-interface,
     libreoffice-impress, smartmontools, jasper-libs, librbd1, device-
     mapper-libs, xorg-x11-xinit, libogg, libffi, libGLEW, python2-hawkey,
     diffutils, chrony, time, mpfr, iputils, qt5-qtxmlpatterns, numactl-
     libs, libvirt-daemon-driver-nwfilter, gpgme, hypervvssd, xorg-x11-drv-
     openchrome, ristretto, libmcpp, libibverbs, gdb-headless, qemu-audio-
     pa, libqmi-utils, libmbim-utils, psacct, lame-libs, usbredir,
     ghostscript, libtirpc, iptables-libs, gnucash, cryptsetup-libs, bind-
     libs, pygobject2, lua-posix, libinput, libpkgconf, mono-core,
     python3-tables, qt5-qtconnectivity, libosinfo, qt5-qtsvg, libreoffice-
     calc, libqmi, gawk, xfce4-taskmanager, pcsc-lite-libs, adwaita-
     gtk2-theme, libbasicobjects, hdf5, rdma-core, vte291, nextcloud-
     client-libs, nmap, NetworkManager-strongswan-gnome, atril, brotli,
     filezilla, libdvbpsi, libsmbclient, python2-reportlab, libkcapi,
     libvdpau, compat-openssl10, opencore-amr, libnftnl, sstp-client,
     python3-libvirt, network-manager-applet, xcb-util-renderutil, texlive-
     luatex, lightdm, freetype, logrotate, libvirt-daemon-driver-secret,
     libdnet, atril-libs, ntfsprogs, efibootmgr, samba-common-libs,
     libreswan, libpsl, python3-rpm, jimtcl, libuser, NetworkManager-
     libreswan, opensp, lksctp-tools, graphviz, boost-date-time, tbb,
     libglade2, gts, pixman, xorg-x11-drv-vesa, python3-numexpr, libbluray,
     brltty, texlive-lib, libbabeltrace, vpnc, psmisc, net-snmp-libs,
     xorg-x11-drv-libinput, mesa-libOSMesa, cairo, libgcc, gdisk, ilmbase,
     python3-zmq, xfce4-settings, poppler, pocl, djvulibre-libs, fftw-libs-
     double, libconfig, ModemManager, texmaker, qemu-img, qt5-qtbase-gui,
     xfce4-screenshooter, rtkit, orc, libidn2, libuuid, faad2-libs,
     libarchive, libfreehand, python3-scipy, xfdesktop, cryptsetup,
     udisks2, clucene-contribs-lib, paps-libs, tcp_wrappers, xz,
     libXcomposite, rpcbind, pygtk2, vim-minimal, harfbuzz-icu, libplist,
     checkpolicy, xdg-user-dirs, hwloc-libs, tetex-dvipost, python3-lazy-
     object-proxy, gdk-pixbuf2, gupnp, libevent, redland, tcpdump, yubikey-
     personalization-gui, libblockdev, librdmacm, lua-socket, dconf, xz-
     libs, dbus-glib, python3-kiwisolver, libdvdnav, strongswan, libcap,
     libprojectM, libvirt-daemon-driver-storage-zfs, libwbclient, compiler-
     rt, libvirt-daemon-driver-storage-gluster, numad, NetworkManager-
     fortisslvpn, xfdashboard, GraphicsMagick-c++, libthai, fakeroot, qt5
     -qttools-libs-designer, nss-tools, iproute, python2-gpg, libsmartcols,
     fakeroot-libs, python3-tornado, libyui-qt-graph, libwpg, os-prober,
     ethtool, libfprint, systemd-libs, cpio, libknet1, libfdt, util-linux,
     numlockx, krb5-libs, net-tools, python3-qt5, llvm6.0-libs,
     gtksourceview3, libpciaccess, clucene-core, kmod, NetworkManager-ssh-
     gnome, libxml++, NetworkManager-pptp, libetonyek, libgs, libgxps,
     webkit2gtk3-jsc, libpagemaker, libxkbcommon, device-mapper-multipath-
     libs, yajl, lockdev, cups-filters-libs, poppler-utils, lpsolve,
     xorg-x11-server-utils, gnupg2, libvirt-daemon-driver-storage-iscsi-
     direct, cracklib, libepubgen, libdnf, ruby, gnuplot-common, gnome-
     keyring, libdbusmenu-gtk3, libdbusmenu-gtk2, libSM, texlive-makeindex,
     netpbm, nm-connection-editor, qt5-qttools-libs-help, libudisks2,
     gstreamer1-plugins-bad-free, NetworkManager-libreswan-gnome,
     python3-setools, clutter, zenity, chkconfig, libgnome-keyring,
     hostname, iscsi-initiator-utils, gparted, librados2, libvirt-daemon-
     driver-storage-mpath, pam, python2-cffi, openldap, zziplib, gamin,
     ipcalc, SDL, speex, libvirt-daemon-driver-storage-logical, neon, rest,
     libsamplerate, python2-lxml, NetworkManager-vpnc-gnome, boost-
     iostreams, pakchois, zvbi, zfs-fuse, libusbmuxd, perl-Unicode-
     Normalize, libimobiledevice, lzop, NetworkManager-wwan, polkit-pkla-
     compat, jbig2dec-libs, libmtp, cyrus-sasl-lib, librevenge, nspr,
     python3-gobject-base, xfce4-appfinder, dnsmasq, libXfixes, libblkid,
     libcdio, NetworkManager-l2tp, rsync, lua-libs, pavucontrol, perl-
     Params-Util, authselect-libs, soundtouch, xorg-x11-drv-evdev, libpeas-
     gtk, libXinerama, lirc-libs, vim-enhanced, libcmis, libesmtp, acl,
     iodine-client, xfce4-session, gupnp-igd, vid.stab, python3-fastcache,
     libXxf86vm, mesa-libEGL, clang-libs, rpm-plugin-systemd-inhibit,
     systemd-pam, python2-libvirt, glpk, ftgl, perl-Storable, perl-Digest-
     MD5, lua-term, libshout, perl-Sort-Key, libvirt-daemon-driver-storage-
     rbd, nss-util, libsemanage, libstorj, arpack, mozjs52, systemd-
     container, libcomps, libaec, at, file, simple-mtpfs, libblockdev-fs,
     java-1.8.0-openjdk-headless, libnma, gettext, soxr, python3-pandas,
     libutempter, libmetalink, slang, openblas-serial, usbutils, e2fsprogs,
     libcdio-paranoia, grub2-tools-minimal, cpp, libksba, libwayland-
     server, virglrenderer, gdbm, libchromaprint, osinfo-db-tools,
     libsndfile, libvisio, tk, ruby-libs, bzip2-libs, NetworkManager-
     iodine-gnome, sshpass, openssl-pkcs11, gnutls, device-mapper-
     persistent-data, ykpers, webkit2gtk3-plugin-process-gtk2, libselinux-
     utils, perl-Scalar-List-Utils, dosfstools, rng-tools, libspectre,
     nano, keyutils-libs, libproxy, libreoffice-math, perl-Data-Dumper,
     glusterfs-fuse, game-music-emu, gtk-update-icon-cache, libnfsidmap,
     perl-XML-Parser, mlocate, file-libs, grub2-tools, avahi-glib, mokutil,
     libblockdev-swap, libnetfilter_conntrack, python3-gobject, libev,
     xfce4-datetime-plugin, ocl-icd, fprintd-pam, blas, libXpresent,
     libusbx, NetworkManager-openvpn-gnome, qrencode-libs, libICE, xfce4
     -places-plugin, libgexiv2, drpm, qemu-block-nfs, createrepo_c-libs,
     grilo, perl-Compress-Raw-Zlib, libindicator-gtk3, speexdsp, upower,
     p7zip, libreoffice-x11, xcb-util-wm, Thunar, atk, dbxtool, gnome-vfs2,
     pragha, alsa-lib, gstreamer1-plugins-good-gtk, libwnck3, x264-libs,
     python2-gobject, gtkmm24, libvirt-daemon-driver-storage-disk, mesa-
     dri-drivers, pyliblzma, libffado, suitesparse, gdbm-libs, fribidi,
     NetworkManager-ssh, pciutils, libini_config, openssh-clients, blosc,
     texlive-mfware, libX11, mate-desktop-libs, celt051, beignet, htop,
     gvfs-mtp, python3-cryptography, systemd, u2f-hidraw-policy, libnl3,
     gimp-libs, NetworkManager-sstp, libidn, grubby, openjpeg-libs,
     libdbusmenu, libdbi, libbytesize, libmpeg2, qemu-block-rbd,
     python3-systemd, python2-libcomps, audit-libs, gettext-libs, liborcus,
     cups, qt5-qtwayland, libref_array, raptor2, python2-appindicator,
     libyui, plymouth-plugin-two-step, sbc, qt-x11, libsane-hpaio,
     python3-sqlalchemy, bash, poppler-glib, potrace, seahorse, orage,
     lvm2, harfbuzz, python3-wrapt, libva, gvfs-client, NetworkManager-
     libnm, python2-libs, zeromq, audit, lrzsz, libglvnd-egl, libunwind,
     unbound-libs, dhcp-libs, libtalloc, grep, ffmpeg, libepoxy, perl-
     Variable-Magic, man-db, libvirt-daemon-driver-storage-core, libibumad,
     epstool, mesa-libgbm, timedatex, fltk, qt5-qtenginio, python2-pynacl,
     rasqal, wireless-tools, libdb, passwd, cups-pk-helper, teckit, kmod-
     libs, libdv, gutenprint-libs, lm_sensors-libs, libreoffice-writer,
     desktop-file-utils, libXdamage, xorg-x11-utils, bzr, libmwaw, exo,
     gtkmm30, clang5.0-libs, qt5-qtmultimedia, libxfce4ui, diffpdf,
     texlive-xdvi, gobject-introspection, libpwquality, fontconfig, compat-
     ffmpeg28, jbigkit-libs, python3-sip, libkcapi-hmaccalc, libdaemon,
     hypervkvpd, pkgconf, json-c, sed, arj, perl-threads-shared, glib-
     networking, samba-libs, python3-qt5-base, kpartx, libpng, sane-
     backends-libs, python3-pillow, qt5-qtwebsockets, ktoblzcheck, cyrus-
     sasl, hardlink, libcollection, libgcrypt, cairomm, perl-Unicode-UTF8,
     nss-softokn, lasi, geoclue2, lsof, at-spi2-atk, libnsl2, twolame-libs,
     cups-ipptool, fuse-exfat, xorg-x11-server-Xorg, libmbim, perl-IO,
     libomp, libverto, glibmm24, gtk-xfce-engine, libXScrnSaver, realmd,
     libmspub, ncurses, nfs-utils, graphite2, python3-kerberos, perl-List-
     MoreUtils-XS, passwdqc-lib, libmad, gmp, fuse3, volume_key-libs,
     cdparanoia-libs, libmodulemd1, ffmpeg-libs, poppler-qt, alsa-plugins-
     pulseaudio, perl-interpreter, gimp, texlive-metafont, libcurl,
     coreutils, libcap-ng, xfce4-screenshooter-plugin, gvfs, dbus-x11,
     pinentry, libvirt-daemon-driver-storage-scsi, librepo, lua-filesystem,
     qemu-common, gsm, libuv, boost-filesystem, libtevent, librsvg2,
     openblas-threads, libglvnd, boost-system, libpcap, openblas-
     threads64_, wxBase3, qemu-block-iscsi, snappy, homebank, libindicator,
     libdrm, genisoimage, rubygem-bigdecimal, pcre2, perl-TermReadKey,
     qt5-qtwebkit, cogl, perl-MIME-Base64, libvirt-glib, libqhull,
     libmspack, libssh, inkscape, GConf2, glibc, fipscheck, bc, gtk-vnc2,
     quota, wget, libijs, boost-regex, python2-unbound, qt5-qtserialport,
     libgomp, libexif, libkadm5, libgusb, glib2, spirv-tools-libs, qemu-
     system-x86-core, ImageMagick-libs, libwmf, pcre2-utf16, libmnl,
     libzmf, libmng, nss, pcre, tcp_wrappers-libs, sane-backends,
     gstreamer1-plugins-base, spax, pciutils-libs, libmpc, libXi,
     openjpeg2, libmatroska, flac-libs, libXt, libXv, rubygem-openssl, rpm-
     libs, info, libnfnetlink, libiec61883, NetworkManager-sstp-gnome, rpm-
     sign-libs, device-mapper-event, libusal, lightdm-gtk, qt5-qtbase,
     libpskc, linux-atm, libplacebo, jwhois, qemu-block-dmg, curl, yelp-
     libs, gnuplot, rubygem-json, qt5-qtwebengine, fipscheck-lib,
     python2-pycurl, dos2unix, paps, libstaroffice, lzo-minilzo, tpm2-tss,
     geany-libgeany, gnome-keyring-pam, zchunk-libs, python3-matplotlib,
     gd, gc, python3-cups, libxshmfence, gstreamer1-plugins-ugly-free,
     atlas, unzip, vlc, gtk2, gtk3, libwayland-egl, libv4l, xfce4-session-
     engines, atkmm, npth, libyaml, mercurial, xcb-util-image,
     libfilezilla, libblockdev-mdraid, glusterfs, exiv2-libs, libebml,
     libunistring, gstreamer1-plugins-good, davfs2, python2-rpm,
     libasyncns, octave, qemu-block-curl, device-mapper-multipath,
     xmlsec1-openssl, python2-cairo, NetworkManager-pptp-gnome, jansson,
     bind-utils, garcon, pxz, firefox, alsa-utils, trousers-lib, qrupdate,
     libnumbertext, libaom, zip, webrtc-audio-processing, startup-
     notification, python3-psutil, babl, libqxp, pinfo, freeipmi,
     xfce4-panel, libqalculate, elfutils-libs, libtasn1, perl-libintl-perl,
     libe-book, iptables, sqlite, tar, python3-netifaces, xmlsec1-gnutls,
     sudo, dhcp-client, fprintd, gcc, dwz, xorg-x11-drv-qxl, gcr, ebtables,
     libyui-qt, avahi-libs, pigz, python3-pyyaml, libappindicator-gtk3,
     libquvi, gvfs-archive, thunar-archive-plugin, libao, perl-libs, kbd,
     dbus-daemon, libreoffice-core, lapack, libphodav, libwayland-cursor,
     openvpn, libpaper, xvidcore, libwacom, lzo, pango, libss, libshaderc,
     esmtp, polkit-libs, perl-threads, perl-Params-Validate, pangomm, mesa-
     libxatracker, nss-sysinit, LibRaw, texlive-gsftopk, nss-mdns,
     python3-cffi, qtsingleapplication-qt5, at-spi2-core, libvirt-daemon-
     driver-network, gegl04, glibc-common, liblockfile, re2, bind-export-
     libs, xmlsec1-gcrypt, owncloud-client-libs, qt5-qtlocation,
     python3-libxml2, libnfs, libgfortran, stoken-libs, libiscsi, texlive-
     kpathsea, groff-base, libusb, hdparm, hddtemp, mesa-libGL, perl-Devel-
     LexAlias, perl-HTML-Parser, libldb, bind-libs-lite, NetworkManager-
     vpnc, libmodplug, libvirt-daemon-driver-nodedev, libXres, libcanberra,
     libdav1d, libart_lgpl, libgudev, xorg-x11-drv-wacom, libsrtp, perl-
     Package-Stash-XS, samba-client-libs, qt5-qtscript, which, boost-
     chrono, samba-client, libaio, lua-expat, python3-cccolutils,
     libquadmath, libxfce4util, qemu-ui-curses, python2-krbv, brlapi,
     thunderbird, createrepo_c, xfce4-screensaver, liboauth, lmdb-libs,
     xmlsec1, xfce4-power-manager, isns-utils-libs, libmypaint, libwsman1,
     krb5-workstation, mcpp, nmap-ncat, vlc-core, libnotify,
     usb_modeswitch, python3-libdnf, mythes, rubygem-psych, qt,
     libfastjson, libvorbis, lightdm-gobject, NetworkManager-openconnect-
     gnome, vconfig, python3-libselinux, libodfgen, xfce4-notifyd, exiv2,
     texlive-xetex, libestr, qt5-qtwebchannel, lua, perl-PadWalker, llvm-
     libs, qtlockedfile-qt5, libvirt-libs, libsigc++20, passwdqc, libXft,
     schroedinger, libattr, hyphen, gnupg2-smime, rpm, qemu-audio-oss,
     libxcrypt, iptstate, radvd, python3-lxml, openpgm, python3-libs,
     libappindicator, glusterfs-cli, perl-PathTools, ipset-libs, plymouth-
     graphics-libs, glusterfs-client-xlators, libreoffice-pyuno, libxml2,
     libreoffice-ure, iscsi-initiator-utils-iscsiuio, cyrus-sasl-gssapi,
     xfwm4, libargon2, mesa-vulkan-drivers, libvirt-daemon, protobuf-lite,
     libsecret, tumbler, gtk2-engines, strongswan-charon-nm, p11-kit-trust,
     libdca, fuse-sshfs, augeas-libs, libsysfs, python3-numpy, texlive-
     dvipng, xfce4-terminal, perl-Cpanel-JSON-XS, boost-locale, gdk-
     pixbuf2-modules, binutils, xfconf, xen-libs, perl-DateTime, vim-
     common, python2-kerberos, less, cifs-utils, libvpx, tcl, rpm-build-
     libs, libnghttp2, util-linux-user, libsolv, libxkbcommon-x11, libtdb,
     python3-gpg, libXdmcp, libofx, perl-Socket, python2-bcrypt, aspell,
     libatomic, libvisual, python3, python2, gpm-libs, minicom, unrar,
     dbus-tools, shared-mime-info, SDL2, webkit2gtk3, libsigsegv,
     keepassxc, boost-thread, perl-Devel-Caller, shadow-utils, nextcloud-
     client, libXaw, libXau, netcf-libs, pulseaudio-module-x11, dmidecode,
     qemu-audio-alsa, python3-libcomps, perl-Devel-CallChecker, libjpeg-
     turbo, spice-gtk3, fuse3-libs, libmount, spice-vdagent, xorg-x11-drv-
     wacom-serial-support, xorg-x11-drv-fbdev, libqb, owncloud-client,
     libavc1394, libtiff, python3-libsemanage, libvncserver, ima-evm-utils,
     texlive-tex, ed, python2-gobject-base, mesa-libOpenCL, grub2-tools-
     extra, qemu-audio-sdl, openssh-server, fluidsynth-libs, qscintilla-
     qt5, taglib, libXext, libblockdev-utils, ModemManager-glib, dracut,
     device-mapper-event-libs, initscripts, hunspell, libieee1284, wxGTK3,
     libndp, pulseaudio, qemu-ui-sdl, bzip2, elfutils-libelf, nss-softokn-
     freebl, open-vm-tools, python3-smartcols, libavdevice, libtool-ltdl,
     readline, yelp, xorg-x11-drv-intel, vulkan-loader, perl-version),
     /usr/lib/.build-id/c9(openssh-clients, ImageMagick-libs, libreoffice-
     core, glibc, libibverbs, libdvdnav, lua, libsecret, strongswan, pam,
     iptables, python3-lxml, libXdmcp, xorg-x11-font-utils, vlc-core,
     aqbanking, gegl04, libnftnl, util-linux, qt, GraphicsMagick, gvfs-
     archive, acl, libcdio-paranoia), /usr/lib/.build-id/7d(ImageMagick,
     libxcb, qt5-qtmultimedia, kbd, libpciaccess, perl-interpreter, gdisk,
     libXfont2, dbus-glib, systemd, glibc, fontconfig, libreoffice-
     graphicfilter, strongswan, plymouth-core-libs, nfs-utils, vlc-core,
     qemu-img, openal-soft, hdf5, pcre-utf16, lockdev, xen-libs)
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[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]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[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 %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[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]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in glyr-
     libs , glyr-devel , glyr-debuginfo , glyr-debugsource
[x]: Package functions as described.
[x]: 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]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[x]: 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.

---> https://koji.fedoraproject.org/koji/taskinfo?taskID=32052225


[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

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


Rpmlint
-------
Checking: glyr-1.0.10-10.20180824git618c418e.fc30.x86_64.rpm
          glyr-libs-1.0.10-10.20180824git618c418e.fc30.x86_64.rpm
          glyr-devel-1.0.10-10.20180824git618c418e.fc30.x86_64.rpm
          glyr-debuginfo-1.0.10-10.20180824git618c418e.fc30.x86_64.rpm
          glyr-debugsource-1.0.10-10.20180824git618c418e.fc30.x86_64.rpm
          glyr-1.0.10-10.20180824git618c418e.fc30.src.rpm
glyr.x86_64: W: no-manual-page-for-binary glyrc
glyr-libs.x86_64: W: summary-not-capitalized C glyr library
glyr-libs.x86_64: W: no-documentation
glyr-devel.x86_64: W: no-documentation
glyr.src: W: invalid-url Source0: glyr-20180824git618c418e.tar.bz2
6 packages and 0 specfiles checked; 0 errors, 5 warnings.




Rpmlint (debuginfo)
-------------------
Checking: glyr-debuginfo-1.0.10-10.20180824git618c418e.fc30.x86_64.rpm
          glyr-libs-debuginfo-1.0.10-10.20180824git618c418e.fc30.x86_64.rpm
2 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Requires
--------
glyr (rpmlib, GLIBC filtered):
    glyr-libs
    libc.so.6()(64bit)
    libglib-2.0.so.0()(64bit)
    libglyr.so.1()(64bit)
    rtld(GNU_HASH)

glyr-libs (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libcurl.so.4()(64bit)
    libglib-2.0.so.0()(64bit)
    libsqlite3.so.0()(64bit)
    rtld(GNU_HASH)

glyr-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    glyr-libs
    libglyr.so.1()(64bit)
    pkgconfig(glib-2.0)
    pkgconfig(libcurl)
    pkgconfig(sqlite3)

glyr-debugsource (rpmlib, GLIBC filtered):

glyr-debuginfo (rpmlib, GLIBC filtered):



Provides
--------
glyr:
    glyr
    glyr(x86-64)

glyr-libs:
    glyr-libs
    glyr-libs(x86-64)
    libglyr
    libglyr.so.1()(64bit)

glyr-devel:
    glyr-devel
    glyr-devel(x86-64)
    libglyr-devel
    pkgconfig(libglyr)

glyr-debugsource:
    glyr-debugsource
    glyr-debugsource(x86-64)

glyr-debuginfo:
    debuginfo(build-id)
    glyr-debuginfo
    glyr-debuginfo(x86-64)



Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1636111
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 33 Mukundan Ragavan 2019-01-15 23:34:54 UTC
Matias, one last issue and then I can sponsor you. I apologize for yet another delay.



[!]: Package should compile and build into binary rpms on all supported
     architectures.

---> https://koji.fedoraproject.org/koji/taskinfo?taskID=32052225


Package does not build ppc and arm. Looking at the build log, checks fail. please take a look.

Comment 34 Matias De lellis 2019-01-29 10:26:02 UTC
Hi Mukundan,
I was on vacation, now I take it back...

ppc64le:
 - /builddir/build/BUILD/glyr/spec/capi/check_dbc.c:110:E:DBCache:test_iter_db:0: (after this point) Test timeout expired

aarch64:
 - /builddir/build/BUILD/glyr/spec/capi/check_dbc.c:110:E:DBCache:test_iter_db:0: (after this point) Test timeout expired

armv7hl:
 - /builddir/build/BUILD/glyr/spec/capi/check_dbc.c:110:E:DBCache:test_iter_db:0: (after this point) Test timeout expired


The three compilations failed on test due to the same problem. :disapointed:

It seems just a temp problem, because in the correct compilations, this test was executed and passed .. Can you try again?

Comment 35 Mukundan Ragavan 2019-01-30 02:32:21 UTC
Matias, Welcome back. The tests still fail on these three architectures. Here is another build - 

https://koji.fedoraproject.org/koji/taskinfo?taskID=32338231

By the way, a small change needed in the spec file. Make sure '.' is present in the %{cmake} line (shown below).


%{cmake} -DTEST=true -DCMAKE_BUILD_TYPE=RelWithDebInfo .

Comment 36 Matias De lellis 2019-01-30 11:11:18 UTC
Hi,

> Matias, Welcome back.

Thanks!.

> The tests still fail on these three architectures. Here is another build - 

From what I'm seeing, it's the timeout of the libcheck, which by default is 4 seconds.
Surely, these architectures have little processing available, therefore queries in sqlite can be slow. --Only my guesses..--. I can force the expiration times, but it will be a test.

> By the way, a small change needed in the spec file. Make sure '.' is present in the %{cmake} line (shown below).
> %{cmake} -DTEST=true -DCMAKE_BUILD_TYPE=RelWithDebInfo .

Ohh.. Ok..

Comment 37 Matias De lellis 2019-01-30 11:47:53 UTC
Well,
Done..

Spec URL: https://services.delellis.com.ar/data/rpmbuild/SPECS/glyr.spec
SRPM URL: https://services.delellis.com.ar/data/rpmbuild/SRPMS/glyr-1.0.10-11.20180824git618c418e.fc28.src.rpm


Just change that:
> - %{cmake} -DTEST=true -DCMAKE_BUILD_TYPE=RelWithDebInfo
> + %{cmake} -DTEST=true -DCMAKE_BUILD_TYPE=RelWithDebInfo .

..and that:
> - bin/check_dbc
> + CK_TIMEOUT_MULTIPLIER=20 bin/check_dbc

Please, try again.

Comment 38 Mukundan Ragavan 2019-01-31 01:30:55 UTC
Very nice!

$ diff -Nu 1636111-glyr/srpm-unpacked/glyr.spec glyr.spec 
--- 1636111-glyr/srpm-unpacked/glyr.spec	2019-01-30 20:23:43.383129623 -0500
+++ glyr.spec	2019-01-30 06:37:14.000000000 -0500
@@ -9,7 +9,7 @@
 
 Name:           glyr
 Version:        1.0.10
-Release:        10%{?git_version:.%{?git_version}}%{?dist}
+Release:        11%{?git_version:.%{?git_version}}%{?dist}
 Summary:        Search engine for music related metadata
 
 # Source0 was generated as follows:
@@ -75,12 +75,12 @@
 %patch2 -p1
 
 %build
-%{cmake} -DTEST=true -DCMAKE_BUILD_TYPE=RelWithDebInfo
+%{cmake} -DTEST=true -DCMAKE_BUILD_TYPE=RelWithDebInfo .
 %make_build
 
 %check
 bin/check_api
-bin/check_dbc
+CK_TIMEOUT_MULTIPLIER=20 bin/check_dbc
 # This check fails so ignore that
 # bin/check_opt
 
@@ -103,6 +103,9 @@
 
 
 %changelog
+* Wed Jan 30 2019 Matias De lellis <mati86dl@gmail.com> - 1.0.10-11.20180824git618c418e
+- Increase timeout in test, and add construction directory in cmake.
+
 * Thu Nov 08 2018 Matias De lellis <mati86dl@gmail.com> - 1.0.10-10.20180824git618c418e
 - Add a patch that disables test that depends on internet connection.


Scratch build works fine.

https://koji.fedoraproject.org/koji/taskinfo?taskID=32351660

Comment 39 Mukundan Ragavan 2019-01-31 01:31:38 UTC
Package approved. I will sponsor you. Permissions should propagate through the account system shortly.

Comment 40 Mukundan Ragavan 2019-01-31 01:38:23 UTC
I have now sponsored you. Welcome to packager group.

Submit SCM request using fedpkg. Here is the syntax


fedpkg request-repo <package-name> 12345


For help, consult 

fedpkg request-repo --help

Comment 41 Matias De lellis 2019-02-01 12:29:54 UTC
> I have now sponsored you. Welcome to packager group.

Just thanks. ;)

> Submit SCM request using fedpkg. Here is the syntax
>fedpkg request-repo <package-name> 12345

Done..

$ fedpkg request-repo glyr 1636111
https://pagure.io/releng/fedora-scm-requests/issue/9563

Comment 42 Gwyn Ciesla 2019-02-07 14:35:15 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/glyr


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