Spec URL: http://cicku.me/mandelbulber.spec SRPM URL: http://cicku.me/mandelbulber-1.21-1.fc21.src.rpm Description: Mandelbulber is an experimental application that helps to make rendering 3D Mandelbrot fractals much more accessible. A few of the supported 3D fractals: Mandelbulb, Mandelbox, BulbBox, JuliaBulb, Menger Sponge, Quaternion, Trigonometric, Hypercomplex, and Iterated Function Systems (IFS). All of these can be combined into infinite variations with the ability to hybridize different formulas together. ** FEATURES ** * GUI created in the GTK+ 2 environment. * Multi-core rendering. * 3D Navigator with tools to see how close the camera is to the fractal surface. * Complex 3D shading: hard shadows, 3 modes of ambient occlusion, depth of field, reflections, fog, glow, primitive objects, and water. * Lights can be manually or randomly placed. Volumetric lighting available. * Camera animation: Keyframe and mouse controlled flight. * Keyframe animation of all parameters. * Camera lenses: three-point projection, fisheye, and equirectangular projection. * Distance estimation algorithm to reduce render times and artifacts of ray marching. * Low memory mode to render images larger than 16,000 x 16,000 pixels. * OpenCL support. Fedora Account System Username: cicku
Will look at this today (swap with bug 1077810).
I cannot seem to fetch the spec nor SRPM: ERROR: 'Error [Errno socket error] [Errno 111] Connection refused downloading http://cicku.me/mandelbulber-1.21-1.fc21.src.rpm' Can you check it?
(In reply to David King from comment #2) > I cannot seem to fetch the spec nor SRPM: > > ERROR: 'Error [Errno socket error] [Errno 111] Connection refused > downloading http://cicku.me/mandelbulber-1.21-1.fc21.src.rpm' > > Can you check it? Oh, I nearly forgot that my website is down for maintenance, please try later from the URL. SRPM(1 week only): http://www.tempfiles.net/download/201403/341006/mandelbulber-1.html
Functionally fine, just the Boost license problem to fix. The other "issues" are all optional. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable Issues: ======= - update-desktop-database is invoked in %post and %postun if package contains desktop file(s) with a MimeType: entry. Note: desktop file(s) with MimeType entry in mandelbulber See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop- database Bogus, as the MimeType entry is empty. Upstream should be informed so that the line can be removed. - BSL (Boost) license src/clew.cpp lists: // Distributed under the Boost Software License, Version 1.0. // (See accompanying file license.txt) license.txt should be included, as the Boost license requires that. :-/ Upstream should be informed (License field is fine) - examples in /usr/share The .c files (examplesOCLformulas) probably do not need to be installed at all, but their presence currently throws up an rpmlint warning. The other examples could be split into a noarch subpackage, but that is just a suggestion. - rpmlint spelling errors Bogus, ignore. ===== 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. 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: "MIT/X11 (BSD like)", "BSL (v1.0)", "Unknown or generated". 48 files have unknown license. Detailed output of licensecheck in /home/david/checkout/rpms/mandelbulber/licensecheck.txt [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. [-]: 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 71680 bytes in 3 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 %doc. [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]: 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]: 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]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop- file-validate if there is such a file. [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 do not use a name that already exist [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: [!]: Uses parallel make %{?_smp_mflags} macro. [!]: 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]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: 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. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [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]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Arch-ed rpms have a total of 1259520 bytes in /usr/share [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). Rpmlint ------- Checking: mandelbulber-1.21-1.fc20.x86_64.rpm mandelbulber-1.21-1.fc20.src.rpm mandelbulber.x86_64: W: spelling-error %description -l en_US Mandelbulb -> Mandelbrot mandelbulber.x86_64: W: spelling-error %description -l en_US Volumetric -> Cliometric mandelbulber.x86_64: W: spelling-error %description -l en_US Keyframe -> Key frame, Key-frame, Framework mandelbulber.x86_64: W: spelling-error %description -l en_US fisheye -> fish eye, fish-eye, fishery mandelbulber.x86_64: W: spelling-error %description -l en_US equirectangular -> rectangular mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example2.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example1.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example3.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example2Init.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example3Init.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example1Init.c mandelbulber.x86_64: W: no-manual-page-for-binary mandelbulber mandelbulber.src: W: spelling-error %description -l en_US Mandelbulb -> Mandelbrot mandelbulber.src: W: spelling-error %description -l en_US Volumetric -> Cliometric mandelbulber.src: W: spelling-error %description -l en_US Keyframe -> Key frame, Key-frame, Framework mandelbulber.src: W: spelling-error %description -l en_US fisheye -> fish eye, fish-eye, fishery mandelbulber.src: W: spelling-error %description -l en_US equirectangular -> rectangular 2 packages and 0 specfiles checked; 0 errors, 17 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint mandelbulber mandelbulber.x86_64: W: spelling-error %description -l en_US Mandelbulb -> Mandelbrot mandelbulber.x86_64: W: spelling-error %description -l en_US Volumetric -> Cliometric mandelbulber.x86_64: W: spelling-error %description -l en_US Keyframe -> Key frame, Key-frame, Framework mandelbulber.x86_64: W: spelling-error %description -l en_US fisheye -> fish eye, fish-eye, fishery mandelbulber.x86_64: W: spelling-error %description -l en_US equirectangular -> rectangular mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example2.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example1.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example3.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example2Init.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example3Init.c mandelbulber.x86_64: W: devel-file-in-non-devel-package /usr/share/mandelbulber/exampleOCLformulas/cl_example1Init.c mandelbulber.x86_64: W: no-manual-page-for-binary mandelbulber 1 packages and 0 specfiles checked; 0 errors, 12 warnings. # echo 'rpmlint-done:' Requires -------- mandelbulber (rpmlib, GLIBC filtered): libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libcairo.so.2()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgdk-x11-2.0.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgthread-2.0.so.0()(64bit) libgtk-x11-2.0.so.0()(64bit) libjpeg.so.62()(64bit) libjpeg.so.62(LIBJPEG_6.2)(64bit) libm.so.6()(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) libpangoft2-1.0.so.0()(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH) Provides -------- mandelbulber: application() application(mandelbulber.desktop) mandelbulber mandelbulber(x86-64) Source checksums ---------------- http://download.sourceforge.net/project/mandelbulber/mandelbulber1.21-1.orig.tar.gz : CHECKSUM(SHA256) this package : d9d95be4e21311fa2b2b7883a659d2c173940499a7c5f8436aa62cdf543b6eca CHECKSUM(SHA256) upstream package : d9d95be4e21311fa2b2b7883a659d2c173940499a7c5f8436aa62cdf543b6eca Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13 Command line :/usr/bin/fedora-review --rpm-spec --name /home/david/Downloads/mandelbulber-1.21-1.fc21.src.rpm Buildroot used: fedora-20-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
Thanks for the review. 1. Mimetype rpmlint warning can be safely ignored. 2. License problem is not a problem actually, it's a typo. Quoted from upstream reply: "Hi I have substituted src/clew.cpp file with the file which contains following header: ////////////////////////////////////////////////////////////////////////// // Copyright (c) 2009 Organic Vectory B.V. // Written by George van Venrooij // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) ////////////////////////////////////////////////////////////////////////// It links now to the license file witch is on boost.org website Actual source package is here: https://sourceforge.net/projects/mandelbulber/files/mandelbulber1.21-1.orig.tar.gz/download Best regards Krzysztof" Upstream had updated the source file since he received the report from me. 3. I'd like to leave those underneath %_datadir intact.
(In reply to Christopher Meng from comment #5) > 2. License problem is not a problem actually, it's a typo. > > Quoted from upstream reply: > > "Hi > > I have substituted src/clew.cpp file with the file which contains following > header: > > ////////////////////////////////////////////////////////////////////////// > // Copyright (c) 2009 Organic Vectory B.V. > // Written by George van Venrooij > // > // Distributed under the Boost Software License, Version 1.0. > // (See accompanying file LICENSE_1_0.txt or copy at > // http://www.boost.org/LICENSE_1_0.txt) > ////////////////////////////////////////////////////////////////////////// > > It links now to the license file witch is on boost.org website > > Actual source package is here: > https://sourceforge.net/projects/mandelbulber/files/mandelbulber1.21-1.orig. > tar.gz/download > > Best regards > Krzysztof" > > Upstream had updated the source file since he received the report from me. The Boost license requires that the license text is supplied with the source code (as you can see if you read the license in full, specifically the second paragraph). According to the Fedora licensing guidelines, if such a license is used, the license must either be included in the upstream tarball, or supplied as a separate source file and included in %doc: https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text Directing to a URL for the Boost license is not sufficient. It must be included, and so the upstream change is insufficient.
Is it OK for packager to add the license?
Hi Christopher. Yes, it is absolutely fine for the packager to include the license, if they are sure which license is used. In this case, you know that the license is the Boost license, so including the license text as a separate Source, and including it in the package with %doc, is correct.
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text said: "If the source package does not include the text of the license(s), the packager should contact upstream and encourage them to correct this mistake.". Later: "However, in situations where upstream is unresponsive, unable, or unwilling to provide proper full license text as part of the source code, and the indicated license requires that the full license text be included, Fedora Packagers must either: Include a copy of what they believe the license text is intended to be, as part of the Fedora package in %doc, in order to remain in compliance." So, packager may include license separately only if upstream irresponsible or refuse such inclusion request.
Thank you Pavel and David, I've attached it into the new SPEC/SRPM: SPEC: http://misc.cicku.me/fedora/mandelbulber.spec SRPM: http://misc.cicku.me/fedora/mandelbulber-1.21-2.fc21.src.rpm
License change looks good to me. Thanks!
New Package SCM Request ======================= Package Name: mandelbulber Short Description: Advanced 3D fractal generator Upstream URL: http://www.mandelbulber.com/ Owners: cicku Branches: f19 f20
Git done (by process-git-requests).
Upstream author refuse request include it in tarball?
(In reply to Pavel Alexeev (aka Pahan-Hubbitus) from comment #14) > Upstream author refuse request include it in tarball? Maybe, since I haven't got any response from him. He is offline/busy now.
mandelbulber-1.21-2.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mandelbulber-1.21-2.fc19
mandelbulber-1.21-2.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mandelbulber-1.21-2.fc20
mandelbulber-1.21-2.fc20 has been pushed to the Fedora 20 testing repository.
mandelbulber-1.21-2.fc20 has been pushed to the Fedora 20 stable repository.
mandelbulber-1.21-2.fc19 has been pushed to the Fedora 19 stable repository.