https://bugzilla.redhat.com/show_bug.cgi?id=2189083 --- Comment #8 from Herald <yuhr123@xxxxxxxxx> --- I basically understand what you mean. Referring to the golang packaging documentation you provided, I tried to add goipath and BuildRequires in the spec file, but still failed to compile due to missing dependencies. Juicefs has over 200 third-party package dependencies, and almost none of them are packaged as RPM. It is difficult to imagine the difficulty of individually handling and maintaining these dependencies build to RPM. Currently, I haven't found a method to directly package the source code of these dependencies into the SRPM. Do you have any suggestions or advice? Is it allowed to directly package the binary of JuiceFS for this situation? https://github.com/juicedata/juicefs/releases/tag/v1.1.0 --- # https://github.com/juicedata/juicefs %global goipath github.com/juicedata/juicefs Version: 1.1.0 %gometa %global common_description %{expand: JuiceFS is a distributed POSIX file system built on top of Redis and S3.} %global golicenses LICENSE %global godocs docs ADOPTERS.md CONTRIBUTING.md CODE_OF_CONDUCT.md\\\ README_CN.md README.md ADOPTERS_CN.md\\\ pkg/object/README.md Name: juicefs Release: %autorelease Summary: JuiceFS is a distributed POSIX file system built on top of Redis and S3 License: Apache-2.0 URL: %{gourl} Source: %{gosource} BuildRequires: golang(cloud.google.com/go/compute/metadata) BuildRequires: golang(cloud.google.com/go/storage) BuildRequires: golang(github.com/agiledragon/gomonkey/v2) BuildRequires: golang(github.com/aliyun/aliyun-oss-go-sdk/oss) BuildRequires: golang(github.com/Arvintian/scs-go-sdk/pkg/client) BuildRequires: golang(github.com/Arvintian/scs-go-sdk/scs) BuildRequires: golang(github.com/aws/aws-sdk-go/aws) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/awserr) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/request) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/session) BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3) BuildRequires: golang(github.com/Azure/azure-sdk-for-go/sdk/azcore) BuildRequires: golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob) BuildRequires: golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob) BuildRequires: golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror) BuildRequires: golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container) BuildRequires: golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas) BuildRequires: golang(github.com/baidubce/bce-sdk-go/bce) BuildRequires: golang(github.com/baidubce/bce-sdk-go/services/bos) BuildRequires: golang(github.com/baidubce/bce-sdk-go/services/bos/api) BuildRequires: golang(github.com/colinmarc/hdfs/v2) BuildRequires: golang(github.com/colinmarc/hdfs/v2/hadoopconf) BuildRequires: golang(github.com/DataDog/zstd) BuildRequires: golang(github.com/dgraph-io/badger/v3) BuildRequires: golang(github.com/dustin/go-humanize) BuildRequires: golang(github.com/erikdubbelboer/gspt) BuildRequires: golang(github.com/goccy/go-json) BuildRequires: golang(github.com/gofrs/flock) BuildRequires: golang(github.com/google/btree) BuildRequires: golang(github.com/google/uuid) BuildRequires: golang(github.com/go-sql-driver/mysql) BuildRequires: golang(github.com/hanwen/go-fuse/v2/fuse) BuildRequires: golang(github.com/hanwen/go-fuse/v2/posixtest) BuildRequires: golang(github.com/hashicorp/consul/api) BuildRequires: golang(github.com/hashicorp/go-hclog) BuildRequires: golang(github.com/huaweicloud/huaweicloud-sdk-go-obs/obs) BuildRequires: golang(github.com/hungys/go-lz4) BuildRequires: golang(github.com/IBM/ibm-cos-sdk-go/aws) BuildRequires: golang(github.com/IBM/ibm-cos-sdk-go/aws/awserr) BuildRequires: golang(github.com/IBM/ibm-cos-sdk-go/aws/credentials/ibmiam) BuildRequires: golang(github.com/IBM/ibm-cos-sdk-go/aws/request) BuildRequires: golang(github.com/IBM/ibm-cos-sdk-go/aws/session) BuildRequires: golang(github.com/IBM/ibm-cos-sdk-go/service/s3) BuildRequires: golang(github.com/jackc/pgx/v5/pgconn) BuildRequires: golang(github.com/jackc/pgx/v5/stdlib) BuildRequires: golang(github.com/jcmturner/gokrb5/v8/client) BuildRequires: golang(github.com/jcmturner/gokrb5/v8/config) BuildRequires: golang(github.com/jcmturner/gokrb5/v8/credentials) BuildRequires: golang(github.com/jcmturner/gokrb5/v8/keytab) BuildRequires: golang(github.com/juicedata/godaemon) BuildRequires: golang(github.com/juju/ratelimit) BuildRequires: golang(github.com/ks3sdklib/aws-sdk-go/aws) BuildRequires: golang(github.com/ks3sdklib/aws-sdk-go/aws/awserr) BuildRequires: golang(github.com/ks3sdklib/aws-sdk-go/aws/credentials) BuildRequires: golang(github.com/ks3sdklib/aws-sdk-go/service/s3) BuildRequires: golang(github.com/mattn/go-isatty) BuildRequires: golang(github.com/mattn/go-sqlite3) BuildRequires: golang(github.com/minio/cli) BuildRequires: golang(github.com/minio/minio/cmd) BuildRequires: golang(github.com/minio/minio-go/pkg/s3utils) BuildRequires: golang(github.com/minio/minio/pkg/auth) BuildRequires: golang(github.com/ncw/swift/v2) BuildRequires: golang(github.com/oliverisaac/shellescape) BuildRequires: golang(github.com/pingcap/log) BuildRequires: golang(github.com/pkg/errors) BuildRequires: golang(github.com/pkg/sftp) BuildRequires: golang(github.com/pkg/xattr) BuildRequires: golang(github.com/prometheus/client_golang/prometheus) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/collectors) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/promhttp) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/push) BuildRequires: golang(github.com/prometheus/client_model/go) BuildRequires: golang(github.com/prometheus/common/expfmt) BuildRequires: golang(github.com/prometheus/common/model) BuildRequires: golang(github.com/pyroscope-io/client/pyroscope) BuildRequires: golang(github.com/qingstor/qingstor-sdk-go/v4/config) BuildRequires: golang(github.com/qingstor/qingstor-sdk-go/v4/request/errors) BuildRequires: golang(github.com/qingstor/qingstor-sdk-go/v4/service) BuildRequires: golang(github.com/qiniu/go-sdk/v7/auth) BuildRequires: golang(github.com/qiniu/go-sdk/v7/storage) BuildRequires: golang(github.com/redis/go-redis/v9) BuildRequires: golang(github.com/sirupsen/logrus) BuildRequires: golang(github.com/sirupsen/logrus/hooks/syslog) BuildRequires: golang(github.com/smartystreets/goconvey/convey) BuildRequires: golang(github.com/studio-b12/gowebdav) BuildRequires: golang(github.com/tencentyun/cos-go-sdk-v5) BuildRequires: golang(github.com/tikv/client-go/v2/config) BuildRequires: golang(github.com/tikv/client-go/v2/error) BuildRequires: golang(github.com/tikv/client-go/v2/oracle) BuildRequires: golang(github.com/tikv/client-go/v2/rawkv) BuildRequires: golang(github.com/tikv/client-go/v2/tikv) BuildRequires: golang(github.com/tikv/client-go/v2/txnkv) BuildRequires: golang(github.com/tikv/client-go/v2/txnkv/txnutil) BuildRequires: golang(github.com/upyun/go-sdk/v3/upyun) BuildRequires: golang(github.com/urfave/cli/v2) BuildRequires: golang(github.com/vbauerster/mpb/v7) BuildRequires: golang(github.com/vbauerster/mpb/v7/decor) BuildRequires: golang(github.com/viki-org/dnscache) BuildRequires: golang(github.com/volcengine/ve-tos-golang-sdk/v2/tos) BuildRequires: golang(github.com/volcengine/ve-tos-golang-sdk/v2/tos/codes) BuildRequires: golang(github.com/volcengine/ve-tos-golang-sdk/v2/tos/enum) BuildRequires: golang(github.com/youmark/pkcs8) BuildRequires: golang(go.etcd.io/etcd/client/v3) BuildRequires: golang(go.etcd.io/etcd/pkg/transport) BuildRequires: golang(golang.org/x/crypto/chacha20poly1305) BuildRequires: golang(golang.org/x/crypto/ssh) BuildRequires: golang(golang.org/x/crypto/ssh/agent) BuildRequires: golang(golang.org/x/net/http/httpproxy) BuildRequires: golang(golang.org/x/net/webdav) BuildRequires: golang(golang.org/x/oauth2/google) BuildRequires: golang(golang.org/x/sync/errgroup) BuildRequires: golang(golang.org/x/sys/unix) BuildRequires: golang(golang.org/x/term) BuildRequires: golang(golang.org/x/text/encoding/simplifiedchinese) BuildRequires: golang(golang.org/x/text/transform) BuildRequires: golang(google.golang.org/api/iterator) BuildRequires: golang(google.golang.org/protobuf/proto) BuildRequires: golang(gopkg.in/kothar/go-backblaze.v0) BuildRequires: golang(go.uber.org/automaxprocs/maxprocs) BuildRequires: golang(go.uber.org/zap) BuildRequires: golang(xorm.io/xorm) BuildRequires: golang(xorm.io/xorm/log) BuildRequires: golang(xorm.io/xorm/names) %description %{common_description} %gopkg %prep %goprep %autopatch -p1 %build for cmd in cmd/* ; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd done %install %gopkginstall install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ %if %{with check} %check %gocheck %endif %files %license LICENSE %doc docs ADOPTERS.md CONTRIBUTING.md CODE_OF_CONDUCT.md README_CN.md README.md %doc ADOPTERS_CN.md pkg/object/README.md %{_bindir}/* %gopkgfiles %changelog %autochangelog ``` -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component https://bugzilla.redhat.com/show_bug.cgi?id=2189083 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202189083%23c8 _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue