Spec URL: https://github.com/Chilledheart/yass/releases/download/1.3.14/yass.spec SRPM URL: https://github.com/Chilledheart/yass/releases/download/1.3.14/yass-1.3.14-0.fc37.src.rpm Description: yass is initiated as C++ rewrite of the outdated shadowsocks-libev package and provide the similar functionalities. During the recent development, it also supports naiveproxy protocol which is more efficient protocol. Compared with shadowsocks-libev, it not only contains the client cli command and server cli command, but also it contains a gtk3/gtk4 (both are supported) graphical interface which is more friendly to the new users. Fedora Account System Username:
Copr build: https://copr.fedorainfracloud.org/coprs/build/6265622 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06265622-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
build failed because the unittests require internet access (DNS related), it can be easily by-passed with ./yass_test --no_cares_tests
Updated spec for copr build Spec URL: https://github.com/Chilledheart/yass/releases/download/1.3.14/yass-nocares.spec SRPM URL: https://github.com/Chilledheart/yass/releases/download/1.3.14/yass-1.3.14-0.fc37.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6265633 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06265633-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Updated spec for copr build (old url) Spec URL: https://github.com/Chilledheart/yass/releases/download/1.3.14/yass.spec SRPM URL: https://github.com/Chilledheart/yass/releases/download/1.3.14/yass-1.3.14-0.fc37.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6265645 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06265645-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Try new spec again. Spec URL: https://github.com/Chilledheart/yass/releases/download/1.3.14/yass-nocares.spec
Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-1/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-1/yass-1.3.14-0.fc37.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6265708 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06265708-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
update to 1.3.14-1 Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-1/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-1/yass-1.3.14-0.fc37.src.rpm
I found out the updated spec is almost not used. Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-1/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-1/yass-1.3.14-1.fc37.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6265737 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06265737-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Created attachment 1982956 [details] The .spec file difference from Copr build 6265737 to 6265743
Copr build: https://copr.fedorainfracloud.org/coprs/build/6265743 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06265743-yass/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Thanks for adding this to Fedora. Initial comments: a) Can you use SPDX identifier GPL-2.0-only or GPL-2.0-or-later See https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_valid_license_short_names b) Perhaps add BuildRequires: aspio-devel c) Some third party code is distributed with the tarball and built: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06265743-yass/builder-live.log.gz Perhaps indicate what is bundled and explain why a version packaged in Fedora cannot be used, see: https://packages.fedoraproject.org/pkgs/gtest/gtest https://packages.fedoraproject.org/pkgs/http-parser/http-parser https://packages.fedoraproject.org/pkgs/abseil-cpp/abseil-cpp https://packages.fedoraproject.org/pkgs/google-benchmark/google-benchmark https://packages.fedoraproject.org/pkgs/xxhash/xxhash BoringSSL is not packaged, but maybe OpenSSL can be used instead: https://packages.fedoraproject.org/pkgs/openssl/openssl Quiche is not available: https://github.com/google/quiche but probably worth packaging separately. Though it currently uses Bazel which is only available as a copr: https://copr.fedorainfracloud.org/coprs/vbatts/bazel/ The build seems to use CMake, so maybe something that can be contributed upstream. Other implementations listed at: https://github.com/quicwg/base-drafts/wiki/Implementations Possibly easier to package are: https://github.com/h2o/quicly https://github.com/p-quic/pquic https://github.com/private-octopus/picoquic https://github.com/alibaba/xquic (Depends on BabaSSL/Tongsou or BoringSSL) Maybe also useful might be: https://packages.fedoraproject.org/search?query=quic d) Can Fedora build macros be used: %cmake %cmake_build %cmake_install See https://docs.fedoraproject.org/en-US/packaging-guidelines/CMake/ e) Is golang needed? It seems Go code is used only in tools/ and this has dependencies which are not included. f) The line Source0: https://github.com/Chilledheart/yass/archive/refs/tags/%{version}.tar.gz should be Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz see https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_git_tags Though the srpm seems to use full git source rather than a commit as third party code is included.
(In reply to Benson Muite from comment #15) > Thanks for adding this to Fedora. Initial comments: Thanks for your work. > a) Can you use SPDX identifier > GPL-2.0-only > or > GPL-2.0-or-later > See > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > LicensingGuidelines/#_valid_license_short_names It’s GPL-2.0-only. There is a COPYING file under the top directory of source documenting it. > > b) Perhaps add > BuildRequires: aspio-devel I don’t know what’s aspio doing but if you mean asio, it is almost header-only library. (Does it get packaged in fedora as well?) > > c) Some third party code is distributed with the tarball and built: > https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora- > review-2231252-yass/fedora-rawhide-x86_64/06265743-yass/builder-live.log.gz > Perhaps indicate what is bundled and explain why a version packaged in > Fedora cannot be used, see: > https://packages.fedoraproject.org/pkgs/gtest/gtest > https://packages.fedoraproject.org/pkgs/http-parser/http-parser > https://packages.fedoraproject.org/pkgs/abseil-cpp/abseil-cpp > https://packages.fedoraproject.org/pkgs/google-benchmark/google-benchmark > https://packages.fedoraproject.org/pkgs/xxhash/xxhash Thanks for pointing it out. There are two major obstacles from adopting system libraries, one is that it is a cross-platform project supporting msvc(visual c++), mingw32, Linux, musl-based Linux, FreeBSD and macOS targets. There are some reasons to keep things in one place and make it work across different platforms. The other is that yass largely depend on c++ libraries where some of them has no stable ABI which means things break on upgrading or downgrading the shared library. googletest and google-benchmark are on test purposes and c++ based. The api might vary between even two snapshots, so it is built from source if possible. For abseil-cpp, it is also c++ based. We are using the latest lts branch and from previous experience, we really don’t want to move from it as it might break sanitizers tests such as memory sanitizer. See https://clang.llvm.org/docs/MemorySanitizer.html. As to xxhash, we just bumped to lastest release 0.8.2. If fedora switches to it already, we can move to the system one. Otherwise, something might break as int64x2 or some definition is not found in some platforms. For http-parser, I really can’t catch up whether it is the same thing in yass project. The http-parser used comes from node project and not maintained for some years (get replaced by another parser in typed script). We can catch it up if it won’t get rid from fedora. > > BoringSSL is not packaged, but maybe OpenSSL can be used instead: > https://packages.fedoraproject.org/pkgs/openssl/openssl Quiche library is bound to boringssl and we don’t have alternatives. > > Quiche is not available: > https://github.com/google/quiche > but probably worth packaging separately. Though it currently uses Bazel > which is only available as a copr: > https://copr.fedorainfracloud.org/coprs/vbatts/bazel/ > The build seems to use CMake, so maybe something that can be contributed > upstream. Quiche is out from google internal library and used for two open source projects namely, chromium and envoy. You can start from it if want to make it a distributable package. I don’t believe there is a stable ABI because they breaks things from time to time. Officially, they support gn and bazel build system but only part of it is open source. If you are looking at bazel, you can’t miss envoy’s code. They separate every single library there. If I miss something here, please point it out in reply. Thanks in advance. > > Other implementations listed at: > https://github.com/quicwg/base-drafts/wiki/Implementations > > Possibly easier to package are: > https://github.com/h2o/quicly > https://github.com/p-quic/pquic > https://github.com/private-octopus/picoquic > https://github.com/alibaba/xquic (Depends on BabaSSL/Tongsou or BoringSSL) I must admit I don’t be familiar with most of them. But there are many quiche libraries such the one from cloudflare is in golang and not related. https://github.com/cloudflare/quiche > > Maybe also useful might be: > https://packages.fedoraproject.org/search?query=quic > > d) Can Fedora build macros be used: > %cmake > %cmake_build > %cmake_install > > See > https://docs.fedoraproject.org/en-US/packaging-guidelines/CMake/ We are passing many custom options to cmake. If the rpm macros can work instead, we should replace them. > > e) Is golang needed? It seems Go code is used only in tools/ and this has > dependencies which are not included. yes, it is mimic required but besides the tool directory, it is used in boringssl to generate error-handling c code. > > f) The line > Source0: > https://github.com/Chilledheart/yass/archive/refs/tags/%{version}.tar.gz > should be > Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz > > see > https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ > #_git_tags > Though the srpm seems to use full git source rather than a commit as third > party code is included. No worry, the upstream will upload the git whole archive without history in every release such as 1.3.14 release, there is https://github.com/Chilledheart/yass/releases/download/1.3.14/yass-1.3.14.tar.gz I will correct the url in next update.
envoy project: https://www.envoyproxy.io/ envoy's bazel file for quiche: https://github.com/envoyproxy/envoy/blob/main/bazel/external/quiche.bzl
Changelog: update license field in spec and xxhash, http-parser dependents. Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-34/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-34/yass-1.3.14-34.fc37.src.rpm
Created attachment 1983230 [details] The .spec file difference from Copr build 6265743 to 6271270
Copr build: https://copr.fedorainfracloud.org/coprs/build/6271270 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06271270-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-34/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-34/yass-1.3.14-34.fc37.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6271272 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06271272-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14.34.2/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14.34.2/yass-1.3.14-34.2.fc37.src.rpm
Created attachment 1983232 [details] The .spec file difference from Copr build 6271272 to 6271304
Copr build: https://copr.fedorainfracloud.org/coprs/build/6271304 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06271304-yass/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
There is also a third party library json-devel (aka, https://github.com/nlohmann/json https://fedora.pkgs.org/37/fedora-x86_64/json-devel-3.11.2-1.fc37.x86_64.rpm.html) bundled. However, it is header-only library I don't think it is forced to use the system one, right?
System libraries are much preferred, even if header only. Expect one of the reasons for this is that if there is an issue with the library, then one can much more easily find all the packages that depend on it and have built using it and then update them. Automated review at: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06271304-yass/fedora-review/review.txt gives the following warning: yass.x86_64: W: file-not-in-%lang /usr/share/locale/en/LC_MESSAGES/yass.mo
(In reply to Benson Muite from comment #27) > System libraries are much preferred, even if header only. Expect one of the > reasons for this is that if there is an issue with the library, then one can > much more easily find all the packages that depend on it and have built using > it and then update them. Okay, I'll update the spec to use header-only nlohmann/json (i.e. json-devel in fedora repository) library. For other c++ libraries(such as boringssl, quiche, abseil-cpp, googletest and googlemock), I think it is better to use bundled one. > > Automated review at: > https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora- > review-2231252-yass/fedora-rawhide-x86_64/06271304-yass/fedora-review/review. > txt > gives the following warning: > yass.x86_64: W: file-not-in-%lang /usr/share/locale/en/LC_MESSAGES/yass.mo It seems good that %lang works well even in RHEL7/CentOS7. Changelog: Fixed %lang usage and json-devel along with other upstream changes. Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-52/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.14-52/yass-1.3.14-52.fc37.src.rpm
Created attachment 1983734 [details] The .spec file difference from Copr build 6271304 to 6310972
Copr build: https://copr.fedorainfracloud.org/coprs/build/6310972 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06310972-yass/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Changelog: New Upstream Release and one more system library dependent: mbedtls (for new features) Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.15/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.15/yass-1.3.15-0.fc37.src.rpm
Created attachment 1984957 [details] The .spec file difference from Copr build 6310972 to 6340224
Copr build: https://copr.fedorainfracloud.org/coprs/build/6340224 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06340224-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.15-1/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.3.15-1/yass-1.3.15-1.fc37.src.rpm
Created attachment 1984958 [details] The .spec file difference from Copr build 6340224 to 6340253
Copr build: https://copr.fedorainfracloud.org/coprs/build/6340253 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06340253-yass/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Thanks and sorry for the delay. Will examine in the next few days.
Don't worry. Take your time and I'll be back whenever necessary.
I found it a little awkward but old versions of rpmlints shipped with RHEL7 don't like SPDX licence field. I have to do something like, so it won't trouble me either of rhel build or copr build. # fedora supports spdx license # see /etc/xdg/rpmlint/fedora-spdx-licenses.toml %if 0%{?fedora} License: GPL-2.0-only %else # old distributions don't # see https://github.com/rpm-software-management/rpmlint/blob/main/configs/Fedora/licenses.toml License: GPLv2 %endif
Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.4.3-0/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.4.3-0/yass-1.4.3-0.fc37.src.rpm Short of changelog: more upstream changes and opensuse leap support.
Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.4.3-0/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.4.3-0/yass-1.4.3-0.fc37.src.rpm
Issues: ======= - 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 LICENSE.abseil-cpp is not marked as %license See: https://docs.fedoraproject.org/en-US/packaging- guidelines/LicensingGuidelines/#_license_text - Sources used to build the package match the upstream source, as provided in the spec URL. Note: Upstream MD5sum check error, diff is in /home/fedora/2231252-yass/diff.txt See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ ===== MUST items ===== C/C++: [ ]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [ ]: Package does not contain kernel modules. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. Generic: [ ]: 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: Cannot run licensecheck: Command 'licensecheck -r /var/lib/mock/fedora-rawhide- aarch64/root/builddir/build/BUILD/yass-1.4.3' returned non-zero exit status 2. [ ]: License file installed when any subpackage combination is installed. [ ]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/doc/yass [ ]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/doc/yass [ ]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: /usr/share/applications(filesystem, java-runtime-decompiler, racket, pcp-gui), /usr/share/doc(glibc-doc, filesystem, slurm-doc), /usr/share/icons/hicolor(lammps-data, qmmp, pdfmod, swappy, autokey- common, nedit, qemu-common, vim-X11, hicolor-icon-theme, wesnoth-data, massif-visualizer, wdisplays, redeclipse, fonts-compare, qtl866, xephem, mono-tools, tuxanci, lite-xl, vacuum-im, fedora-logos, android-file-transfer, klatexformula, kgraphviewer, freedroidrpg), /usr/share/pixmaps(budgie-control-center-common, filesystem, qgis) [ ]: %build honors applicable compiler flags or justifies otherwise. [ ]: Package contains no bundled libraries without FPC exception. [ ]: 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 [ ]: Sources contain only permissible code or content. [ ]: Each %files section contains %defattr if rpm < 4.4 Note: %defattr present but not needed [ ]: Development files must be in a -devel package [ ]: Package uses nothing in %doc for runtime. [ ]: The spec file handles locales properly. [ ]: Package consistently uses macros (instead of hard-coded directory names). [ ]: Package is named according to the Package Naming Guidelines. [ ]: Package does not generate any conflict. [ ]: Package obeys FHS, except libexecdir and /usr/target. [ ]: If the package is a rename of another package, proper Obsoletes and Provides are present. [ ]: Requires correct, justified where necessary. [ ]: Spec file is legible and written in American English. [ ]: Package contains systemd file(s) if in need. [ ]: Useful -debuginfo package or justification otherwise. [ ]: Package is not known to require an ExcludeArch tag. [ ]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Test run failed [ ]: 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]: The License field must be a valid SPDX expression. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [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]: 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]: 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: [ ]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [ ]: Final provides and requires are sane (see attachments). [ ]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in yass- server , yass-client [ ]: Package functions as described. [ ]: Latest version is packaged. [ ]: Package does not include license text files separate from upstream. [ ]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [ ]: 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]: 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]: Sources can be downloaded from URI in Source: tag [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 1597440 bytes in /usr/share [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]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: yass-1.4.3-0.fc40.aarch64.rpm yass-debuginfo-1.4.3-0.fc40.aarch64.rpm yass-debugsource-1.4.3-0.fc40.aarch64.rpm yass-server-1.4.3-0.fc40.aarch64.rpm yass-client-1.4.3-0.fc40.aarch64.rpm yass-1.4.3-0.fc40.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmphhus8qhg')] checks: 31, packages: 6 yass.aarch64: W: wrong-file-end-of-line-encoding /usr/share/doc/yass/LICENSE.mozilla yass.aarch64: E: standard-dir-owned-by-package /usr/share/doc yass.aarch64: W: one-line-command-in-%post update-desktop-database yass.aarch64: W: no-manual-page-for-binary yass yass-client.aarch64: W: no-manual-page-for-binary yass_cli yass-server.aarch64: W: no-manual-page-for-binary yass_server yass-client.aarch64: W: no-documentation yass-server.aarch64: W: no-documentation yass.aarch64: W: incoherent-version-in-changelog 1.4.3-1 ['1.4.3-0.fc40', '1.4.3-0'] yass.aarch64: W: files-duplicate /usr/share/licenses/yass/LICENSE /usr/share/doc/yass/LICENSE 6 packages and 0 specfiles checked; 1 errors, 9 warnings, 1 badness; has taken 2.8 s Rpmlint (debuginfo) ------------------- Checking: yass-debuginfo-1.4.3-0.fc40.aarch64.rpm yass-server-debuginfo-1.4.3-0.fc40.aarch64.rpm yass-client-debuginfo-1.4.3-0.fc40.aarch64.rpm ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmp389oqs7u')] checks: 31, packages: 3 3 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 1.4 s Rpmlint (installed packages) ---------------------------- /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 31, packages: 7 yass.aarch64: W: wrong-file-end-of-line-encoding /usr/share/doc/yass/LICENSE.mozilla yass.aarch64: W: unused-direct-shlib-dependency /usr/bin/yass /lib64/libm.so.6 yass-server.aarch64: W: unused-direct-shlib-dependency /usr/bin/yass_server /lib64/libm.so.6 yass-client.aarch64: W: unused-direct-shlib-dependency /usr/bin/yass_cli /lib64/libm.so.6 yass.aarch64: E: standard-dir-owned-by-package /usr/share/doc yass.aarch64: W: one-line-command-in-%post update-desktop-database yass.aarch64: W: no-manual-page-for-binary yass yass-server.aarch64: W: no-manual-page-for-binary yass_server yass-client.aarch64: W: no-manual-page-for-binary yass_cli yass-server.aarch64: W: no-documentation yass-client.aarch64: W: no-documentation yass.aarch64: W: incoherent-version-in-changelog 1.4.3-1 ['1.4.3-0.fc40', '1.4.3-0'] yass.aarch64: W: files-duplicate /usr/share/licenses/yass/LICENSE /usr/share/doc/yass/LICENSE 7 packages and 0 specfiles checked; 1 errors, 12 warnings, 1 badness; has taken 2.8 s Source checksums ---------------- https://github.com/Chilledheart/yass/releases/download/1.4.3/yass-1.4.3.tar.gz : CHECKSUM(SHA256) this package : 5460406ca8f3e596c848565bba28f2c51b8774ac0501c1783fd1ddfcccb44c7e CHECKSUM(SHA256) upstream package : 51e4f6898acb245f6708cd1f189f99c99c3b851a76db760395e3b2112efb59a3 diff -r also reports differences Requires -------- yass (rpmlib, GLIBC filtered): /bin/sh ca-certificates hicolor-icon-theme ld-linux-aarch64.so.1()(64bit) libc.so.6()(64bit) libcares.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-4.so.1()(64bit) libhttp_parser.so.2()(64bit) libm.so.6()(64bit) libmbedcrypto.so.7()(64bit) libnghttp2.so.14()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH) yass-debuginfo (rpmlib, GLIBC filtered): yass-debugsource (rpmlib, GLIBC filtered): yass-server (rpmlib, GLIBC filtered): ld-linux-aarch64.so.1()(64bit) libc.so.6()(64bit) libcares.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libhttp_parser.so.2()(64bit) libm.so.6()(64bit) libmbedcrypto.so.7()(64bit) libnghttp2.so.14()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH) yass-client (rpmlib, GLIBC filtered): ld-linux-aarch64.so.1()(64bit) libc.so.6()(64bit) libcares.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libhttp_parser.so.2()(64bit) libm.so.6()(64bit) libmbedcrypto.so.7()(64bit) libnghttp2.so.14()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH) Provides -------- yass: application() application(yass.desktop) yass yass(aarch-64) yass-debuginfo: debuginfo(build-id) yass-debuginfo yass-debuginfo(aarch-64) yass-debugsource: yass-debugsource yass-debugsource(aarch-64) yass-server: yass-server yass-server(aarch-64) yass-client: yass-client yass-client(aarch-64) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2231252 Buildroot used: fedora-rawhide-aarch64 Active plugins: Shell-api, Generic, C/C++ Disabled plugins: fonts, R, Ocaml, Python, SugarActivity, PHP, Perl, Java, Haskell Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH Comments: a) Do not need to package licenses of packages used from the system such as zlib, http-parser, xxhash b) Is there anything special in your quiche and boringssl builds? Can try and package these. c) Will macros %cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \ -DBUILD_BENCHMARKS=on -DBUILD_TESTS=on -DGUI=on -DCLI=on -DSERVER=on \ -DUSE_SYSTEM_ZLIB=on -DUSE_SYSTEM_NGHTTP2=on \ -DUSE_SYSTEM_MBEDTLS=on -DUSE_SYSTEM_JSON="%enable_system_json_opt" \ -DUSE_SYSTEM_XXHASH=on -DUSE_SYSTEM_HTTP_PARSER=on \ -DUSE_SYSTEM_CARES="%enable_system_cares_opt" -DUSE_LIBCXX="%enable_libcxx_opt" \ -DENABLE_LLD="%enable_lld_opt" -DUSE_BUILTIN_CA_BUNDLE_CRT=off %cmake_build %install %cmake_install and %check %ctest work? If so, they are preferred. Note that there is a macro for the build directory %__cmake_builddir work? see https://docs.fedoraproject.org/en-US/packaging-guidelines/CMake/#_available_macros d) You do not need the directives %dir /usr/share/icons/hicolor/ %dir /usr/share/applications/ %dir /usr/share/pixmaps/ %dir /usr/share/doc/ e) Add a `Provides: bundled() =` bundled directive https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/#_policy
Also all license files of bundled software should be marked as %license rather than just included in the file listing
For each bundled package, please indicate if it is not available in Fedora, or if it is available in Fedora, why what is packaged cannot be used. For example abseil-cpp, asio, icu, nghttp2, protobuf and re2 are available: https://src.fedoraproject.org/rpms/abseil-cpp https://src.fedoraproject.org/rpms/asio https://src.fedoraproject.org/rpms/icu https://src.fedoraproject.org/rpms/nghttp2 https://src.fedoraproject.org/rpms/protobuf https://src.fedoraproject.org/rpms/re2 Cannot find lss. Maybe can be packaged separately? Surprising that system libc++ and libc++std cannot be used.
(In reply to Benson Muite from comment #44) > For each bundled package, please indicate if it is not available in Fedora, > or if it is available in Fedora, why what is packaged cannot be used. For > example abseil-cpp, asio, icu, nghttp2, protobuf and re2 are available: > https://src.fedoraproject.org/rpms/abseil-cpp > https://src.fedoraproject.org/rpms/asio > https://src.fedoraproject.org/rpms/icu > https://src.fedoraproject.org/rpms/nghttp2 > https://src.fedoraproject.org/rpms/protobuf > https://src.fedoraproject.org/rpms/re2 > > Cannot find lss. Maybe can be packaged separately? > > Surprising that system libc++ and libc++std cannot be used. We don’t use c++ libraries in system because the api changes from time to time. For example, latest abseil-cpp (20230802 lts) adds new api which is required by Google test 1.14. You can feed it with old version of abseil-cpp. We don’t protobuf for now, even though QUIC support requires it. And we don’t use icu directly but some standalone header checked out from chromium. Re2 library is used for unit test only and we don’t check the system one yet. We are using system nghttp2 library. I don’t know what’s ‘the system libc++ and libc++std’ and how to enable it. For the rpm spec, it builds with bundled libc++ if it is clang and uses system libstdc++ if it is gcc. And I don’t know if the system libc++ will work, it is out of scope because the old libc++ might not support c++20 well and the debug/assert mode is changed in latest revision. In short, we use upstream libc++ directly or the system libstdc++.
(In reply to Benson Muite from comment #43) > Also all license files of bundled software should be marked as > %license > rather than just included in the file listing All license files of dynamically/statically linked libraries are selected from their source code and installed by cmake install target. I don’t have the time to check every individual files. But it isn’t most important thing.
First issue, fixed by unitfy all LICENSES files into one and guard it with '%license' field Second issue, fixed by regenerating srpm from source tarball at public site instead of from local source files. > Issues: > ======= > - 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 LICENSE.abseil-cpp is not marked as %license > See: https://docs.fedoraproject.org/en-US/packaging- > guidelines/LicensingGuidelines/#_license_text > - Sources used to build the package match the upstream source, as provided > in the spec URL. > Note: Upstream MD5sum check error, diff is in > /home/fedora/2231252-yass/diff.txt > See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.4.5-0/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.4.5-0/yass-1.4.5-0.fc37.src.rpm
Created attachment 1992232 [details] The .spec file difference from Copr build 6340253 to 6492135
Copr build: https://copr.fedorainfracloud.org/coprs/build/6492135 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06492135-yass/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.4.7-0/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.4.7-0/yass-1.4.7-0.fc37.src.rpm
There are some several changes since 1.4.7 release such as removal of xxhash, http-parser and the introducing the tcmalloc dependency. Spec URL: https://github.com/Chilledheart/copr-yass/releases/download/1.5.14-2/yass.spec SRPM URL: https://github.com/Chilledheart/copr-yass/releases/download/1.5.14-2/yass-1.5.14-2.fc38.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6874104 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/srpm-builds/06874104/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://wa.letshack.info/yass.spec SRPM URL: https://wa.letshack.info/yass-1.5.14-2.fc38.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/6874118 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06874118-yass/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
The source tarball is generated locally (some patch upstreamed but not available in tag release) > sha256 cc0e1c6b480b2a4b045285762cfd324297c24550d7f9f15d42f47540d280f31b https://github.com/Chilledheart/copr-yass/releases/download/1.5.14-3/yass-1.5.14.tar.gz Spec URL: https://wa.letshack.info/yass.spec SRPM URL: https://wa.letshack.info/yass-1.5.14-3.fc38.src.rpm
Created attachment 2007868 [details] The .spec file difference from Copr build 6874118 to 6874216
Copr build: https://copr.fedorainfracloud.org/coprs/build/6874216 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06874216-yass/fedora-review/review.txt Found issues: - Upstream MD5sum check error, diff is in /var/lib/copr-rpmbuild/results/yass/diff.txt Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ - Systemd service file(s) in yass-server, yass-client Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_scriptlets Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Fixed found issues in copr. Spec URL: https://wa.letshack.info/yass.spec SRPM URL: https://wa.letshack.info/yass-1.5.15-0.fc38.src.rpm
Created attachment 2007986 [details] The .spec file difference from Copr build 6874216 to 6877646
Copr build: https://copr.fedorainfracloud.org/coprs/build/6877646 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2231252-yass/fedora-rawhide-x86_64/06877646-yass/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://wa.letshack.info/yass.spec SRPM URL: https://wa.letshack.info/yass-1.8.2-0.fc38.src.rpm
This is an automatic check from review-stats script. This review request ticket hasn't been updated for some time, but it seems that the review is still being working out by you. If this is right, please respond to this comment clearing the NEEDINFO flag and try to reach out the submitter to proceed with the review. If you're not interested in reviewing this ticket anymore, please clear the fedora-review flag and reset the assignee, so that a new reviewer can take this ticket. Without any reply, this request will shortly be resetted.
Happy to continue the review. Currently, when trying to build, many third party libraries are assumed to be bundled by CMake, even when not used, so building form a release without them is not possible. https://koji.fedoraproject.org/koji/taskinfo?taskID=131324259