[Bug 2189083] Review Request: juicefs - a distributed POSIX file system built on top of Redis and S3.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux