https://bugzilla.redhat.com/show_bug.cgi?id=2189083 Robert-André Mauchin 🐧 <zebob.m@xxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(zebob.m@xxxxxxxxx | |) | --- Comment #11 from Robert-André Mauchin 🐧 <zebob.m@xxxxxxxxx> --- Let's start from scratch. First read the Golang guidelines: https://docs.fedoraproject.org/en-US/packaging-guidelines/Golang/ Then use go2rpm to do the basic template go2rpm -d --name juicefs github.com/juicedata/juicefs Cleanup of the first draft, we'll need to add the licenses later becauseit is statically compiled: # Generated by go2rpm 1.9.0 %bcond_without check # https://github.com/juicedata/juicefs %global goipath github.com/juicedata/juicefs Version: 1.1.0 %gometa -f %global goname juicefs %global common_description %{expand: JuiceFS is a high-performance POSIX file system released under Apache License 2.0, particularly designed for the cloud-native environment. The data, stored via JuiceFS, will be persisted in object storage (e.g. Amazon S3), and the corresponding metadata can be persisted in various database engines such as Redis, MySQL, and TiKV based on the scenarios and requirements. With JuiceFS, massive cloud storage can be directly connected to big data, machine learning, artificial intelligence, and various application platforms in production environments. Without modifying code, the massive cloud storage can be used as efficiently as local storage. * Fully POSIX-compatible: Use as a local file system, seamlessly docking with existing applications without breaking business workflow. * Fully Hadoop-compatible: JuiceFS' Hadoop Java SDK is compatible with Hadoop 2.x and Hadoop 3.x as well as a variety of components in the Hadoop ecosystems. * S3-compatible: JuiceFS' S3 Gateway provides an S3-compatible interface. * Cloud Native: A Kubernetes CSI Driver is provided for easily using JuiceFS in Kubernetes. * Shareable: JuiceFS is a shared file storage that can be read and written by thousands of clients. * Strong Consistency: The confirmed modification will be immediately visible on all the servers mounted with the same file system. * Outstanding Performance: The latency can be as low as a few milliseconds, and the throughput can be expanded nearly unlimitedly (depending on the size of the object storage). * Data Encryption: Supports data encryption in transit and at rest. * Global File Locks: JuiceFS supports both BSD locks (flock) and POSIX record locks (fcntl). * Data Compression: JuiceFS supports LZ4 or Zstandard to compress all your data.} %global golicenses LICENSE %global godocs docs ADOPTERS.md ADOPTERS_CN.md CODE_OF_CONDUCT.md\\\ CONTRIBUTING.md README.md README_CN.md Name: juicefs Release: %autorelease Summary: Distributed POSIX file system built on top of Redis and S3 License: Apache-2.0 URL: %{gourl} Source: %{gosource} %description %{common_description} %gopkg %prep %goprep %autopatch -p1 %generate_buildrequires %go_generate_buildrequires %build export LDFLAGS="-X github.com/juicedata/juicefs/pkg/version.revision=%{version} \ -X github.com/juicedata/juicefs/pkg/version.revisionDate=$(date +%%Y%%m%%d)" export BUILDTAGS="ceph,fdb,gluster" %gobuild -o %{gobuilddir}/bin/juicefs %{goipath} %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 ADOPTERS_CN.md CODE_OF_CONDUCT.md %doc CONTRIBUTING.md README.md README_CN.md %{_bindir}/juicefs %gopkgfiles %changelog %autochangelog Let's try to build it: spectool -g *.spec; rpmbuild -bs *.spec Downloading: https://github.com/juicedata/juicefs/archive/v1.1.0/juicefs-1.1.0.tar.gz | 31.0 MiB Elapsed Time: 0:00:01 Downloaded: juicefs-1.1.0.tar.gz setting SOURCE_DATE_EPOCH=1698278400 fedpkg --release f40 mockbuild -N No matching package to install: 'golang(github.com/Arvintian/scs-go-sdk/pkg/client)' No matching package to install: 'golang(github.com/Arvintian/scs-go-sdk/scs)' No matching package to install: 'golang(github.com/DataDog/zstd)' No matching package to install: 'golang(github.com/IBM/ibm-cos-sdk-go/aws)' No matching package to install: 'golang(github.com/IBM/ibm-cos-sdk-go/aws/awserr)' No matching package to install: 'golang(github.com/IBM/ibm-cos-sdk-go/aws/credentials/ibmiam)' No matching package to install: 'golang(github.com/IBM/ibm-cos-sdk-go/aws/request)' No matching package to install: 'golang(github.com/IBM/ibm-cos-sdk-go/aws/session)' No matching package to install: 'golang(github.com/IBM/ibm-cos-sdk-go/service/s3)' No matching package to install: 'golang(github.com/agiledragon/gomonkey/v2)' No matching package to install: 'golang(github.com/baidubce/bce-sdk-go/bce)' No matching package to install: 'golang(github.com/baidubce/bce-sdk-go/services/bos)' No matching package to install: 'golang(github.com/baidubce/bce-sdk-go/services/bos/api)' No matching package to install: 'golang(github.com/dgraph-io/badger/v3)' No matching package to install: 'golang(github.com/erikdubbelboer/gspt)' No matching package to install: 'golang(github.com/huaweicloud/huaweicloud-sdk-go-obs/obs)' No matching package to install: 'golang(github.com/hungys/go-lz4)' No matching package to install: 'golang(github.com/jackc/pgx/v5/pgconn)' No matching package to install: 'golang(github.com/jackc/pgx/v5/stdlib)' No matching package to install: 'golang(github.com/juicedata/godaemon)' No matching package to install: 'golang(github.com/ks3sdklib/aws-sdk-go/aws)' No matching package to install: 'golang(github.com/ks3sdklib/aws-sdk-go/aws/awserr)' No matching package to install: 'golang(github.com/ks3sdklib/aws-sdk-go/aws/credentials)' No matching package to install: 'golang(github.com/ks3sdklib/aws-sdk-go/service/s3)' No matching package to install: 'golang(github.com/minio/cli)' No matching package to install: 'golang(github.com/minio/minio/cmd)' No matching package to install: 'golang(github.com/minio/minio/pkg/auth)' No matching package to install: 'golang(github.com/oliverisaac/shellescape)' No matching package to install: 'golang(github.com/pingcap/log)' No matching package to install: 'golang(github.com/pyroscope-io/client/pyroscope)' No matching package to install: 'golang(github.com/qingstor/qingstor-sdk-go/v4/config)' No matching package to install: 'golang(github.com/qingstor/qingstor-sdk-go/v4/request/errors)' No matching package to install: 'golang(github.com/qingstor/qingstor-sdk-go/v4/service)' No matching package to install: 'golang(github.com/qiniu/go-sdk/v7/auth)' No matching package to install: 'golang(github.com/qiniu/go-sdk/v7/storage)' No matching package to install: 'golang(github.com/redis/go-redis/v9)' No matching package to install: 'golang(github.com/studio-b12/gowebdav)' No matching package to install: 'golang(github.com/tencentyun/cos-go-sdk-v5)' No matching package to install: 'golang(github.com/tikv/client-go/v2/config)' No matching package to install: 'golang(github.com/tikv/client-go/v2/error)' No matching package to install: 'golang(github.com/tikv/client-go/v2/oracle)' No matching package to install: 'golang(github.com/tikv/client-go/v2/rawkv)' No matching package to install: 'golang(github.com/tikv/client-go/v2/tikv)' No matching package to install: 'golang(github.com/tikv/client-go/v2/txnkv)' No matching package to install: 'golang(github.com/tikv/client-go/v2/txnkv/txnutil)' No matching package to install: 'golang(github.com/upyun/go-sdk/v3/upyun)' No matching package to install: 'golang(github.com/vbauerster/mpb/v7)' No matching package to install: 'golang(github.com/vbauerster/mpb/v7/decor)' No matching package to install: 'golang(github.com/viki-org/dnscache)' No matching package to install: 'golang(github.com/volcengine/ve-tos-golang-sdk/v2/tos)' No matching package to install: 'golang(github.com/volcengine/ve-tos-golang-sdk/v2/tos/codes)' No matching package to install: 'golang(github.com/volcengine/ve-tos-golang-sdk/v2/tos/enum)' No matching package to install: 'golang(go.etcd.io/etcd/pkg/transport)' No matching package to install: 'golang(gopkg.in/kothar/go-backblaze.v0) Mow we have the list of new dependencies to package. So: github.com/Arvintian/scs-go-sdk github.com/DataDog/zstd github.com/IBM/ibm-cos-sdk-go github.com/agiledragon/gomonkey/v2 github.com/baidubce/bce-sdk-go github.com/dgraph-io/badger/v3 github.com/erikdubbelboer/gspt github.com/huaweicloud/huaweicloud-sdk-go-obs github.com/hungys/go-lz4 github.com/jackc/pgx/v5 github.com/juicedata/godaemon github.com/ks3sdklib/aws-sdk-go github.com/minio/cli github.com/minio/minio github.com/oliverisaac/shellescape github.com/pingcap/log github.com/pyroscope-io/client github.com/qingstor/qingstor-sdk-go/v4 github.com/qiniu/go-sdk/v7 github.com/redis/go-redis/v9 github.com/studio-b12/gowebdav github.com/tencentyun/cos-go-sdk-v5 github.com/tikv/client-go/v2 github.com/upyun/go-sdk/v3 github.com/vbauerster/mpb/v7 github.com/viki-org/dnscache github.com/volcengine/ve-tos-golang-sdk/v2 gopkg.in/kothar/go-backblaze.v0 28 first level packages I'll follow up later. -- You are receiving this mail because: You are always notified about changes to this product and component You are on the CC list for the bug. 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%23c11 _______________________________________________ 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