Spec URL: ftp://ftp.nohats.ca/bfgminer/bfgminer.spec SRPM URL: ftp://ftp.nohats.ca/bfgminer/bfgminer-3.1.3-1.fc20.src.rpm Description: This is a multi-threaded multi-pool FPGA, GPU and CPU miner with ATI GPU monitoring, (over)clocking and fanspeed support for bitcoin and derivative coins. Fedora Account System Username: pwouters
Why blocking FE-LEGAL? I don't see any specific issues within the code - no problematic licensing, or Elliptic Curve Crypto usage. Actually bitcoin mining, contrary to bitcoin *usage*, doesn't involves any complex algorithms - it's just a sha256 calculation and comparison, so this shouldn't concern anyone. Please elaborate your concerns before blindly trigger FE-LEGAL. Meanwhile I'm going to unblock it.
Well, I'm not sure if thing related to bitcoin is approved now.
(In reply to Christopher Meng from comment #2) > Well, I'm not sure if thing related to bitcoin is approved now. It was never disapproved. ECC on the other hand is still banned,
I had not thought about the ECC bits. I will have to investigate if this application is using ECC or not. A quick grep does not show anything but we need to ensure there is no ECC in use here.
Not saying "open the floodgates!" but ecc is no longer banned outright: bug 319901. CC'ing Tom.
(In reply to Scott Schmit from comment #5) > Not saying "open the floodgates!" but ecc is no longer banned outright: bug > 319901. CC'ing Tom. As I said already this application doesn't use ECC algorithms, and has nothing to do with OpenSSL. Bitcoin mining is different from actual bitcoin usage. Mining is just sha256 generation and comparison. Just to stop further confusing I'm going to REVIEW this: Koji scratchbuild for F-19 (just because building for F-19 is tenfold faster than for branches with ARM enabled) * http://koji.fedoraproject.org/koji/taskinfo?taskID=6062348 Legend: + = PASSED, - = FAILED, 0 = Not Applicable - rpmlint is NOT silent work ~/Desktop: rpmlint bfgminer-* bfgminer.src: W: spelling-error %description -l en_US multi -> mulch, mufti bfgminer.src: W: spelling-error %description -l en_US fanspeed -> fan speed, fan-speed, fans peed bfgminer.src: W: spelling-error %description -l en_US bitcoin -> bit coin, bit-coin, bitchiness ^^^ False positives. Not a blocker. bfgminer.src: W: no-version-in-last-changelog ^^^ Please fix that by adding date and version here before uploading to a git repository. Not a blocker. bfgminer.src:50: W: macro-in-comment %dir bfgminer.src:50: W: macro-in-comment %{_datadir} bfgminer.src:56: W: macro-in-comment %{_mandir} bfgminer.src:56: W: macro-in-comment %{name} ^^^ Either remove commented lines or escape them with additional percent sign. Not a blocker. bfgminer.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti bfgminer.x86_64: W: spelling-error %description -l en_US fanspeed -> fan speed, fan-speed, fans peed bfgminer.x86_64: W: spelling-error %description -l en_US bitcoin -> bit coin, bit-coin, bitchiness ^^^ Likewise, false positives. Not a blocker. bfgminer.x86_64: W: no-version-in-last-changelog ^^^ Likewise, fix that by adding date and version here before uploading to a git repository. Not a blocker. bfgminer.x86_64: E: arch-dependent-file-in-usr-share /usr/share/doc/bfgminer-3.1.3/api-example.o ^^^ Please remove this. That's a blocker. bfgminer.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/bfgminer ['$ORIGIN/libblkmaker/.libs'] ^^^ rpath issue. Please fix it. That's a blocker. bfgminer.x86_64: E: library-without-ldconfig-postin /usr/lib64/libblkmaker_jansson-0.1.so.0.4.0 bfgminer.x86_64: E: library-without-ldconfig-postun /usr/lib64/libblkmaker_jansson-0.1.so.0.4.0 bfgminer.x86_64: E: library-without-ldconfig-postin /usr/lib64/libblkmaker-0.1.so.0.4.0 bfgminer.x86_64: E: library-without-ldconfig-postun /usr/lib64/libblkmaker-0.1.so.0.4.0 ^^^ Please, call ldconfig where necessary. That's a blocker. bfgminer.x86_64: W: no-manual-page-for-binary bitforce-firmware-flash bfgminer.x86_64: W: no-manual-page-for-binary bfgminer bfgminer.x86_64: W: no-manual-page-for-binary bfgminer-rpc ^^^ Sad truth. These binaries just doesn't have a corresponding man-page. Not a blocker. bfgminer-debuginfo.x86_64: W: no-version-in-last-changelog bfgminer-devel.x86_64: W: no-version-in-last-changelog ^^^ Fix that by adding date and version here before uploading to a git repository. Not a blocker. bfgminer-devel.x86_64: W: no-documentation ^^^ That was intended - this sub-package doesn't have any docs. 4 packages and 0 specfiles checked; 6 errors, 18 warnings. work ~/Desktop: + The package is named according to the Package Naming Guidelines. + The spec file name matches the base package %{name}, in the format %{name}.spec. - The package DOESN'T fully conform to the Packaging Guidelines. See my notes above. + The package is licensed with a Fedora approved license and meets the Licensing Guidelines. + The License field in the package spec file matches the actual license (GPLv3 exactly). + The file, containing the text of the license(s) for the package, is included in %doc. + The spec file is written in American English. + The spec file for the package is legible. + The package successfully compiles and builds into binary rpms on at least one primary architecture. See koji link above. + All build dependencies are listed in BuildRequires. 0 No need to handle locales. - The package stores shared library files in some of the dynamic linker's default paths, so it MUST call ldconfig in %post and %postun. See my notes regarding ldconfig above. +/- The package does NOT bundle copies of system libraries. Well, to be honest it does contains some sources from the libraries unknown to me within the ADL, CL, lib directories which *should* be unbundled but I'm not insisting on doing it right now. However that would be great to re-use system-wide opencl-headers package instead of shipped CL. 0 The package is not designed to be relocatable. - The package MUST own all directories that it creates. Hewever I see that /usr/share/bfgminer directory left unowned. Please add it back (it seems that you accidentally commented it out) maybe with %dir mark to prevent files listing twice. + The package does not list a file more than once in the spec file's %files listings. See above note regarding directories. + Permissions on files are set properly. + The package consistently uses macros. + The package contains code, or permissible content. Note it contains firmware blobs in the bitstreams/ directory. 0 No extremely large documentation files. + Anything, the package includes as %doc, does not affect the runtime of the application. + Header files are stored in a -devel package. 0 No static libraries. + The pkgconfig(.pc) files are stored in a -devel package and necessary runtime requirement picked up automatically. + The library file(s) that end in .so (without suffix) is(are) stored in a -devel package. - The -devel package MUST require the base package using a fully versioned dependency: Requires: %{name}%{?_isa} = %{version}-%{release} + The package does NOT contain any .la libtool archives. 0 Not a GUI application. + The package does not own files or directories already owned by other packages. + All filenames in rpm packages are valid UTF-8. OK, almost there. Please fix/comment issues mentioned above and I'll continue.
Please verify the license of the ADL files. Are they really open source?
(In reply to Warren Togami from comment #7) > Please verify the license of the ADL files. Are they really open source? Yes, they are. They made by the author of bfgminer, and licensed under MIT.
ADL/ is, as already mentioned, custom ADL-compatible headers written by myself and provided under a MIT license. CL/ is the official OpenCL 1.0 headers. Newer headers have created compatibility issues on some platforms. If you want to use system headers, I suggest having the build rm the directory and replace it with a symlink. lib/ is gnulib snippets, which are unfortunately not designed such that they can be shared. I'd be glad to make this a proper dependency if you can get gnulib to make that possible. libblkmaker/ can be de-bundled to another package, if the maintainers want. configure accepts --with-system-libblkmaker for such a case. bfgminer-devel is I presume only libblkmaker headers right now. BFGMiner itself does not have headers or other devel files, but does have a HACKING documentation file for driver development.
gnulib can be bundled, see: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
Spec URL: ftp://ftp.nohats.ca/bfgminer/bfgminer.spec SRPM URL: ftp://ftp.nohats.ca/bfgminer/bfgminer-3.1.3-2.fc19.src.rpm Changelog: * Mon Oct 21 2013 Paul Wouters <pwouters> - 3.1.3-2 - Fixed version number in changelog - Removed accidental install of api-example.o - Run ldconfig in post and postun - Make devel depend on arch This fixes all issues but the rpath issue with libblkmaker. I'm planning to submit a package review for that package separately. That might take a few days, while I figure out what to do with https://gitorious.org/bitcoin/libblkmaker not having releases, only tags. So until that package is reviewed and accepted, I'll wait with bfgminer. Thanks everyone
Lu(In reply to luke-jr+redhatbugs from comment #9) > ADL/ is, as already mentioned, custom ADL-compatible headers written by > myself and provided under a MIT license. > > CL/ is the official OpenCL 1.0 headers. Newer headers have created > compatibility issues on some platforms. If you want to use system headers, I > suggest having the build rm the directory and replace it with a symlink. > > lib/ is gnulib snippets, which are unfortunately not designed such that they > can be shared. I'd be glad to make this a proper dependency if you can get > gnulib to make that possible. > > libblkmaker/ can be de-bundled to another package, if the maintainers want. > configure accepts --with-system-libblkmaker for such a case. > > bfgminer-devel is I presume only libblkmaker headers right now. BFGMiner > itself does not have headers or other devel files, but does have a HACKING > documentation file for driver development. Thanks for the explanation, Luke! As Christopher mentioned above, gnulib is not an issue at all. As for libblkmaker - I don't see unbundling it as a requirement since it's not available in Fedora as a standalone package right now. Perhaps with time when someone packages it we'll reconsider libblkmaker situation. OK, Paul, I don't see any other issues. I'd like to remind you to add "Provides: bundled(gnulib)" before uploading to git, as documented here: * https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions As I said I don't see any other issues. so this package is APPROVED.
NOTE: ADD "Provides: bundled(gnulib)" in your spec. Ref: bug #821770
(In reply to Paul Wouters from comment #11) > https://gitorious.org/bitcoin/libblkmaker not having releases, only tags. Tags are releases. But this may be irrelevant considering Peter's comment that it does not need to be split.
I removed the rpath, although unfortunately I had to resort to the chrpath method as removng in from Makefile.in weirdly changes the .la files to be .lai and fail and I couldn't figure out why. Spec URL: ftp://ftp.nohats.ca/bfgminer/bfgminer.spec SRPM URL: ftp://ftp.nohats.ca/bfgminer/bfgminer-3.1.3-3.fc19.src.rpm
New Package SCM Request ======================= Package Name: bfgminer Short Description: A BitCoin miner Owners: pwouters Branches: f19 f20 el6 InitialCC:
Why 3.1.3? That's relatively ancient, has known bugs, and unsupported..
oops. I guess we all missed upstream had released new versions :) I've packaged it up. Spec URL: ftp://ftp.nohats.ca/bfgminer/bfgminer.spec SRPM URL: ftp://ftp.nohats.ca/bfgminer/bfgminer-3.3.0-1.fc19.src.rpm There are two patches now. One for rpath and one for the chdir+setgroups calls. Luke: you can find the two patches here: ftp://ftp.nohats.ca/bfgminer/bfgminer-3.3.0-configure.patch ftp://ftp.nohats.ca/bfgminer/bfgminer-3.3.0-privs.patch But I also notice the bitstreams firmware blobs are no longer shipped. While I see the source for them, I'm unfamiliar with how to compile those. I guess I can package it in this package as blobs, like it was. Or make a separate package and make this package depend on it.
The firmware blobs are only needed for specific devices; I doubt most users would want them to be installed by default/requirement. README.FPGA should have links to the firmware authors' websites with the binaries.
Regarding the first patch, it breaks running from the build directory...
Regarding the second, setgroups is not a POSIX standard function, so will need configure checks at least. It also seems less preferable than initgroups. Both of these require _BSD_SOURCE and/or -lbsd-compat on some platforms.
Git done (by process-git-requests).
Ping, Paul! How're things going?
Paul Wouters, Using our package on F19/20 I see the following error in the build log, stemming from line 81 in file 'missing' /builddir/build/BUILD/bfgminer-3.3.0/missing aclocal-1.13 -I m4 /builddir/build/BUILD/bfgminer-3.3.0/missing: line 81: aclocal-1.13: command not found WARNING: 'aclocal-1.13' is missing on your system. For some strange reason (path during build maybe?) aclocal-1.13 is not found, though I have confirmed that aclocal-1.13 is indeed on my system (F20). Also, if you google for "aclocal-1.13 line 81 missing" you will dozens of builds that fail right at this point - missing seems to be flawed.
The aclocal-1.13 not found (see comment 24) have been fixed by Rex Dieters http://pkgs.fedoraproject.org/cgit/bfgminer.git/commit/?id=43b828eb84f6e94e1ee2022475480c2cb96b356f
Is there any way to get this updated to a supported branch? 3.2.x and 3.5.x are currently receiving backports, but 3.3.0 is very dead by now.
I have orphaned this package - someone else is free to pick it up again.