Description : wxSQLite3 is a C++ wrapper around the public domain SQLite 3.x database and is specifically designed for use in programs based on the wxWidgets library. wxSQLite3 does not try to hide the underlying database, in contrary almost all special features of the current SQLite3 version 3.6.22 are supported, like for example the creation of user defined scalar or aggregate functions. Since SQLite stores strings in UTF-8 encoding, the wxSQLite3 methods provide automatic conversion between wxStrings and UTF-8 strings. This works best for the Unicode builds of wxWidgets. In ANSI builds the current locale conversion object (wxConvCurrent) is used for conversion to/from UTF-8. Special care has to be taken if external administration tools are used to modify the database contents, since not all of these tools operate in Unicode resp. UTF-8 mode. wxSQLite3 includes an optional extension for SQLite supporting key based database file encryption using 128 bit AES encryption. Starting with version 1.9.6 of wxSQLite3 the encryption extension is compatible with the SQLite amalgamation source. Experimental support for 256 bit AES encryption has been added in version 1.9.8. Spec URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-1/wxsqlite3.spec?a=3l2VV5-VsLM SRPM URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-1/wxsqlite3-3.0.0.1-1.fc17.src.rpm?a=lvqt_SSxc8w rpmlint output: rpmlint wxsqlite3-3.0.0.1-1.fc17.x86_64.rpm wxsqlite3.x86_64: W: spelling-error %description -l en_US wxWidgets -> widgets wxsqlite3.x86_64: W: spelling-error %description -l en_US wxStrings -> strings wxsqlite3.x86_64: W: spelling-error %description -l en_US wxConvCurrent -> concurrence 1 packages and 0 specfiles checked; 0 errors, 3 warnings. rpmlint wxsqlite3-3.0.0.1-1.fc17.src.rpm wxsqlite3.src: W: spelling-error %description -l en_US wxWidgets -> widgets wxsqlite3.src: W: spelling-error %description -l en_US wxStrings -> strings wxsqlite3.src: W: spelling-error %description -l en_US wxConvCurrent -> concurrence 1 packages and 0 specfiles checked; 0 errors, 3 warnings.
Hi. I want to swap a review. You can take my ussd-package https://bugzilla.redhat.com/show_bug.cgi?id=859586 . I will review your package.
$ rpmbuild -bb wxsqlite3.spec ... configure: WARNING: unrecognized options: --disable-static ...
Spec URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-2/wxsqlite3.spec?a=oftqFDbjOLM SRPM URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-2/wxsqlite3-3.0.0.1-2.fc17.src.rpm?a=8MN0iCM94MY %changelog * Sun Sep 23 2012 Martin Gansser <linux4martin[at]gmx.de> 3.0.0.1-2 - removed unrecognized configure options
One note - because wxsqlite doesn't maintain any API/ABI stability across its releases, the soname of the library should be modified so it includes the library version. It will allow to detect the incompatibility also on the rpm level. In the currect state wxsqlite can be simply upgraded to a new version and the applications linked to it will crash more or less randomly.
You should use %{_isa} for Requires: field. http://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage
On line 51 you change attributes of configure but on line 54 you replace configure with configure29. Have a look at this lines. So chmod can be dropped.
The package has bundled sqlite3. It must be explicity removed in %prep section https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries Do you want to use the package in EPEL5?
%{_includedir}/wx has no owner. you must use %{_includedir}/wx/ instead of %{_includedir}/wx/*
You should preserve the source filestamp http://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps
Probably you should to separate htmls to -doc subpackage. Not need to reset executable flag for all source file. Improve line 50 in your code.
(In reply to comment #10) > Probably you should to separate htmls to -doc subpackage. > > Not need to reset executable flag for all source file. Improve line 50 in > your code. the configure option didn't work %configure --htmldir=%{_includedir}/%{name}-%{version}/html how can i separate the htmls files ? and how can i improve the executable flags ? find . -type f -exec chmod a-x {} \;
%files devel %defattr(-,root,root,-) %{_includedir}/wx/* %{_libdir}/*.so %files devel %defattr(-,root,root,-) %doc docs/html for example chmod a-x docs/html/*
fail %files devel %defattr(-,root,root,-) %{_includedir}/wx/ %{_libdir}/*.so %files doc %defattr(-,root,root,-) %doc docs/html
Spec URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-3/wxsqlite3.spec?a=uVC9Y8gWfLw SRPM URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-3/wxsqlite3-3.0.0.1-3.fc18.src.rpm?a=j8wkU7m8O4Q %changelog * Sun Oct 14 2012 Martin Gansser <linux4martin[at]gmx.de> 3.0.0.1-3 - spec file cleanup - dropped chmod of configure - deleted bundled sqlite3 files - removed %%defattr in file section becaus of no EPEL5 packaging - corrected ownership of %%{_includedir}/wx in file section - make install preserve timestamps - added isa to requires tag - improve executable flags for files in the doc folder - separated html files into doc subpackage
doc subpackage require only a base package without isa. Group for doc must be Documentation. Also use noarch for doc.
drop line 68. configure29 allready has executable bit.
Spec URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-4/wxsqlite3.spec?a=GIf4Be6OUYc SRPM URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-4/wxsqlite3-3.0.0.1-4.fc18.src.rpm?a=6otGFrrrZTE %changelog * Sun Oct 14 2012 Martin Gansser <linux4martin[at]gmx.de> 3.0.0.1-4 - removed %%_isa requirement from doc subpackage - added BuildArch noarch to doc subpackage - dropped chmod for configure
Have a look at line 91 use %{_includedir}/wx/ instead of %{_includedir}/wx/* drop Requires: wxGTK-devel from line 51 line 54 The %{name}-htm package contains html documentation must be The %{name}-doc package contains html documentation fix line 50, drop unusual percentage symbol
Spec URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-5/wxsqlite3.spec?a=kTEYGeIySUE SRPM URL: https://www.disk.dsl.o2online.de/FclyPlh/RPMS/guayadeque/wxsqlite3-3.0.0.1-5/wxsqlite3-3.0.0.1-5.fc18.src.rpm?a=Xq2SdggOjAM %changelog * Sun Oct 14 2012 Martin Gansser <linux4martin[at]gmx.de> 3.0.0.1-5 - corrected wx include path in file section - dropped unusual percentage symbol from doc subpackage - deleted unecessary Requires from doc subpackage
Ok. Now I can start formal review.
Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package contains no bundled libraries. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Sources contain only permissible code or content. [-]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [-]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [-]: Package is not known to require ExcludeArch. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Fully versioned dependency in subpackages, if present. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package devel [x]: Package complies to the Packaging Guidelines [x]: Spec file lacks Packager, Vendor, PreReq tags. [x]: Large documentation files are in a -doc subpackage, if required. [-]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [?]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL", "Unknown or generated". 2 files have unknown license. Detailed output of licensecheck in /home/taurus/develop/wxsqlite3/review- wxsqlite3/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named using only allowed ASCII characters. [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [x]: Package do not use a name that already exist [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package installs properly. [x]: Package is not relocatable. [x]: Requires correct, justified where necessary. [x]: CheckResultdir [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file is legible and written in American English. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [-]: Package contains systemd file(s) if in need. [x]: File names are valid UTF-8. [x]: Useful -debuginfo package or justification otherwise. ===== 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) [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: The placement of pkgconfig(.pc) files are correct. [-]: Scriptlets must be sane, if used. [x]: SourceX tarball generation or download is documented. [x]: SourceX / PatchY prefixed with %{name}. Note: Source0 (wxsqlite3-3.0.0.1.tar.gz) [x]: SourceX is a working URL. [-]: 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. [-]: %check is present and all tests pass. [!]: Packages should try to preserve timestamps of original installed files. [x]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). Rpmlint ------- Checking: wxsqlite3-devel-3.0.0.1-5.fc17.i686.rpm wxsqlite3-3.0.0.1-5.fc17.src.rpm wxsqlite3-debuginfo-3.0.0.1-5.fc17.i686.rpm wxsqlite3-3.0.0.1-5.fc17.i686.rpm wxsqlite3-doc-3.0.0.1-5.fc17.noarch.rpm wxsqlite3-devel.i686: W: no-documentation wxsqlite3.src: W: spelling-error %description -l en_US wxWidgets -> widgets wxsqlite3.src: W: spelling-error %description -l en_US wxStrings -> strings wxsqlite3.src: W: spelling-error %description -l en_US wxConvCurrent -> concurrence wxsqlite3-debuginfo.i686: W: spurious-executable-perm /usr/src/debug/wxsqlite3-3.0.0/src/wxsqlite3.cpp wxsqlite3-debuginfo.i686: W: spurious-executable-perm /usr/src/debug/wxsqlite3-3.0.0/include/wx/wxsqlite3.h wxsqlite3.i686: W: spelling-error %description -l en_US wxWidgets -> widgets wxsqlite3.i686: W: spelling-error %description -l en_US wxStrings -> strings wxsqlite3.i686: W: spelling-error %description -l en_US wxConvCurrent -> concurrence wxsqlite3.i686: W: spurious-executable-perm /usr/share/doc/wxsqlite3-3.0.0.1/LICENCE.txt wxsqlite3.i686: W: spurious-executable-perm /usr/share/doc/wxsqlite3-3.0.0.1/Readme.txt 5 packages and 0 specfiles checked; 0 errors, 11 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint wxsqlite3-debuginfo wxsqlite3-devel wxsqlite3-doc wxsqlite3 wxsqlite3-debuginfo.i686: W: spurious-executable-perm /usr/src/debug/wxsqlite3-3.0.0/src/wxsqlite3.cpp wxsqlite3-debuginfo.i686: W: spurious-executable-perm /usr/src/debug/wxsqlite3-3.0.0/include/wx/wxsqlite3.h wxsqlite3-devel.i686: W: no-documentation wxsqlite3.i686: W: spelling-error %description -l en_US wxWidgets -> widgets wxsqlite3.i686: W: spelling-error %description -l en_US wxStrings -> strings wxsqlite3.i686: W: spelling-error %description -l en_US wxConvCurrent -> concurrence wxsqlite3.i686: W: unused-direct-shlib-dependency /usr/lib/libwxcode_gtk2_wxsqlite3-2.8.so.0.0.0 /lib/libm.so.6 wxsqlite3.i686: W: unused-direct-shlib-dependency /usr/lib/libwxcode_gtk2_wxsqlite3-2.8.so.0.0.0 /lib/libpthread.so.0 wxsqlite3.i686: W: spurious-executable-perm /usr/share/doc/wxsqlite3-3.0.0.1/LICENCE.txt wxsqlite3.i686: W: spurious-executable-perm /usr/share/doc/wxsqlite3-3.0.0.1/Readme.txt 4 packages and 0 specfiles checked; 0 errors, 10 warnings. # echo 'rpmlint-done:' Requires -------- wxsqlite3-devel-3.0.0.1-5.fc17.i686.rpm (rpmlib, GLIBC filtered): libwxcode_gtk2_wxsqlite3-2.8.so.0 wxGTK-devel wxsqlite3(x86-32) = 3.0.0.1-5.fc17 wxsqlite3-debuginfo-3.0.0.1-5.fc17.i686.rpm (rpmlib, GLIBC filtered): wxsqlite3-3.0.0.1-5.fc17.i686.rpm (rpmlib, GLIBC filtered): /sbin/ldconfig libc.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libm.so.6 libpthread.so.0 libsqlite3.so.0 libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libwx_baseu-2.8.so.0 libwx_baseu-2.8.so.0(WXU_2.8) libwx_gtk2u_core-2.8.so.0 libwx_gtk2u_core-2.8.so.0(WXU_2.8) rtld(GNU_HASH) wxsqlite3-doc-3.0.0.1-5.fc17.noarch.rpm (rpmlib, GLIBC filtered): wxsqlite3 = 3.0.0.1-5.fc17 Provides -------- wxsqlite3-devel-3.0.0.1-5.fc17.i686.rpm: wxsqlite3-devel = 3.0.0.1-5.fc17 wxsqlite3-devel(x86-32) = 3.0.0.1-5.fc17 wxsqlite3-debuginfo-3.0.0.1-5.fc17.i686.rpm: wxsqlite3-debuginfo = 3.0.0.1-5.fc17 wxsqlite3-debuginfo(x86-32) = 3.0.0.1-5.fc17 wxsqlite3-3.0.0.1-5.fc17.i686.rpm: libwxcode_gtk2_wxsqlite3-2.8.so.0 wxsqlite3 = 3.0.0.1-5.fc17 wxsqlite3(x86-32) = 3.0.0.1-5.fc17 wxsqlite3-doc-3.0.0.1-5.fc17.noarch.rpm: wxsqlite3-doc = 3.0.0.1-5.fc17 MD5-sum check ------------- http://downloads.sourceforge.net/wxcode/wxsqlite3-3.0.0.1.tar.gz : CHECKSUM(SHA256) this package : 9d866aeba0cfb5f6f2509b04c830c477af9026e90ef16c8f24733afa7827cf30 CHECKSUM(SHA256) upstream package : 9d866aeba0cfb5f6f2509b04c830c477af9026e90ef16c8f24733afa7827cf30 Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24 Buildroot used: fedora-17-i386 Command line :/usr/bin/fedora-review -rn wxsqlite3-3.0.0.1-5.fc18.src.rpm
[+]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL", "Unknown or generated". 2 files have unknown license. Detailed output of licensecheck in /home/taurus/develop/wxsqlite3/review- wxsqlite3/licensecheck.txt
I approve the package. But one issue for you. I learned file permissions. So you need to a-x for all file and do a+x only for configure29. Also you should work with upstream to fix this.
is this enough ? --- wxsqlite3.spec 2012-10-15 19:19:29.157669949 +0200 +++ wxsqlite3.spec.new 2012-10-15 19:18:34.925656431 +0200 @@ -60,9 +60,10 @@ find -name sqlite3 -type d | xargs rm -rfv # fix permissions -chmod a-x docs/html/* +chmod a-x docs/html/* LICENCE.txt Readme.txt -# copy correct configure file +# copy correct configure file and change permission +chmod a+x configure29 cp configure29 configure
--- wxsqlite3.spec 2012-10-15 19:19:29.157669949 +0200 +++ wxsqlite3.spec.new 2012-10-15 19:18:34.925656431 +0200 @@ -60,9 +60,10 @@ find -name sqlite3 -type d | xargs rm -rfv # fix permissions -chmod a-x docs/html/* +find -type f -exec chmod a-x {} \; -# copy correct configure file +# copy correct configure file and change permission +chmod a+x configure29 cp configure29 configure because all source files have executable bit.
THANKS ! New Package SCM Request ======================= Package Name: wxsqlite3 Short Description: C++ wrapper around the SQLite 3.x database Owners: martinkg Branches: f18 InitialCC:
Git done (by process-git-requests).
the package built successfully http://koji.fedoraproject.org/koji/taskinfo?taskID=4595970 http://koji.fedoraproject.org/koji/taskinfo?taskID=4596033
wxsqlite3-3.0.0.1-6.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.0.1-6.fc18
Why you request only f18 branch? I want to help you with guayadeque package. But I am using Fedora 17 (current stable version). In my opinion it is a good practice to always make scm request for current stable release. Please make 'Package Change Requests for existing packages' http://fedoraproject.org/wiki/Package_SCM_admin_requests#Package_Change_Requests_for_existing_packages
Package Change Request ====================== Package Name: wxsqlite3 New Branches: f17 Owners: martinmg InitialCC:
wxsqlite 3 has successfully build for fc17 http://koji.fedoraproject.org/koji/taskinfo?taskID=4605243
wxsqlite3-3.0.0.1-6.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.0.1-6.fc17
wxsqlite3-3.0.0.1-7.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.0.1-7.fc18
wxsqlite3-3.0.0.1-7.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.0.1-7.fc17
wxsqlite3-3.0.1-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.1-1.fc17
wxsqlite3-3.0.1-1.fc17 has been pushed to the Fedora 17 stable repository.
wxsqlite3-3.0.1-2.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.1-2.fc18
wxsqlite3-3.0.1-2.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.1-2.fc17
wxsqlite3-3.0.1-3.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.1-3.fc17
wxsqlite3-3.0.1-3.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.1-3.fc18
wxsqlite3-3.0.1-4.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.1-4.fc17
wxsqlite3-3.0.1-4.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.1-4.fc18
wxsqlite3-3.0.1-4.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
wxsqlite3-3.0.1-4.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
wxsqlite3-3.0.2-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.2-1.fc18
wxsqlite3-3.0.2-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.2-1.fc17
You can probably close this bug now I think. No need to keep referencing it for each update.
wxsqlite3-3.0.2-1.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
wxsqlite3-3.0.2-1.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
wxsqlite3-3.0.3-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.3-1.fc18
wxsqlite3-3.0.3-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/wxsqlite3-3.0.3-1.fc19
wxsqlite3-3.0.3-1.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.