Bug 1811183 - Review Request: golang-github-aliyun-cli - Alibaba Cloud (Aliyun) CLI
Summary: Review Request: golang-github-aliyun-cli - Alibaba Cloud (Aliyun) CLI
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Robert-André Mauchin 🐧
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1811176 1811177 1811179 1811180 1811181 1862861
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-03-06 18:52 UTC by Brandon Perkins
Modified: 2020-08-05 21:10 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-08-05 21:10:22 UTC
Type: ---
Embargoed:
eclipseo: fedora-review+


Attachments (Terms of Use)

Description Brandon Perkins 2020-03-06 18:52:34 UTC
Spec URL: https://raw.githubusercontent.com/bdperkin/aliyun/master/SPECS/golang-github-aliyun-cli.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/aliyun/srpm-builds/01291498/golang-github-aliyun-cli-3.0.36-1.fc31.src.rpm
Description: 
Alibaba Cloud CLI.
Fedora Account System Username: bdperkin
Note: These are my first packages and I need a sponsor.
Successful copr build: https://copr.fedorainfracloud.org/coprs/bdperkin/aliyun/build/01291498/

Comment 1 Brandon Perkins 2020-03-10 12:47:51 UTC
Spec URL: https://raw.githubusercontent.com/bdperkin/aliyun/master/SPECS/golang-github-aliyun-cli.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/aliyun/srpm-builds/01293827/golang-github-aliyun-cli-3.0.36-2.fc31.src.rpm
Successful copr build: https://copr.fedorainfracloud.org/coprs/bdperkin/aliyun/build/01293827/
Changelog:
* Fri Mar 06 2020 Brandon Perkins <bperkins> - 3.0.36-2
- Add man page

* Wed Mar 04 2020 Brandon Perkins <bperkins> - 3.0.36-1
- Update to aliyun-cli to version 3.0.36
- Update to aliyun-openapi-meta to commit
  3e9d6a741c5029c92f6447e4137a6531f037a931

* Fri Nov 22 2019 Brandon Perkins <bperkins> - 3.0.30-1
- Initial package

Comment 2 Robert-André Mauchin 🐧 2020-03-24 21:44:07 UTC
 - Don't gzip manpage yourself:

gzip %{gobuilddir}/share/man/man1/aliyun.1

 - Don't do that

for dir in bin cli oss; do
  install -m 0755 -vd                   %{buildroot}%{_pkgdocdir}/$dir
done
for doc in %{godocs}; do
  install -m 0644 -vp %{gobuilddir}/src/%{goipath}/$doc %{buildroot}%{_pkgdocdir}/$doc
done


instead rename the multiple READMEs in %prep otherwise you'll overwrite them in the dev package too

%global godocs          CHANGELOG.md README-CN.md README.md README-bin.md\\\
                        README-cli.md README-CN-oss.md README-oss.md

 - use %global not %define:

%global gometaabs       %{_builddir}/%{gometadir}

Comment 3 Robert-André Mauchin 🐧 2020-03-24 22:09:08 UTC
 - Your stuff doesn't work for d/l the second archive, please fix:

# https://github.com/aliyun/aliyun-cli
%global goipath0         github.com/aliyun/aliyun-cli
Version:                 3.0.36

# https://github.com/aliyun/aliyun-openapi-meta
%global goipath1          github.com/aliyun/aliyun-openapi-meta
%global version1          0
%global commit1           3e9d6a741c5029c92f6447e4137a6531f037a931
%global gometarepo        aliyun-openapi-meta
%global gometadir         %{gometarepo}-%{commit1}

%gometa -a

[…]

Source0:        %{gosource0}
Source1:        %{gosource1}


 - Build fails:

# github.com/aliyun/aliyun-cli/oss/lib
../aliyun-openapi-meta-3e9d6a741c5029c92f6447e4137a6531f037a931/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:157:12: undefined: credentials.Configuration
../aliyun-openapi-meta-3e9d6a741c5029c92f6447e4137a6531f037a931/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:160:11: undefined: credentials.Configuration
../aliyun-openapi-meta-3e9d6a741c5029c92f6447e4137a6531f037a931/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:166:11: undefined: credentials.Configuration
../aliyun-openapi-meta-3e9d6a741c5029c92f6447e4137a6531f037a931/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:173:11: undefined: credentials.Configuration
../aliyun-openapi-meta-3e9d6a741c5029c92f6447e4137a6531f037a931/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:183:11: undefined: credentials.Configuration
../aliyun-openapi-meta-3e9d6a741c5029c92f6447e4137a6531f037a931/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:196:32: credential.GetAccessKeyID undefined (type credentials.Credential has no field or method GetAccessKeyID, but does have GetAccessKeyId)
../aliyun-openapi-meta-3e9d6a741c5029c92f6447e4137a6531f037a931/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:200:33: credential.GetAccessSecret undefined (type credentials.Credential has no field or method GetAccessSecret)

Patch the source code to move from GetAccessKeyID to GetAccessKeyId (https://github.com/aliyun/credentials-go/commit/1c7b658dbc47f5d2ccd5e6e4a379613708f6f277). Send patch upstream

Comment 4 Brandon Perkins 2020-07-30 16:36:18 UTC
Spec URL: https://raw.githubusercontent.com/bdperkin/aliyun/master/SPECS/golang-github-aliyun-cli.spec
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/558/48200558/golang-github-aliyun-cli-3.0.54-2.s20200728git73a3ade.fc33.src.rpm

Changes are not complete, so not requesting fedora-review+ flag yet.

Changes:
- Enable check stage
- Rename godocs in subdirectories
- Remove explicit gzip of man page
- Change gometaabs from define to global
- Update to version 3.0.54 (#1811183)
- Explicitly harden package
- Update to aliyun-openapi-meta to commit
  73a3ade39a109bda00ae3a80585fac98b3f3dd70
- Remove golang(github.com/satori/go.uuid)
  (commit=b2ce2384e17bbe0c6d34077efa39dbab3e09123b) BuildRequires
- Fix man page generation
- Clean changelog

Blocking Issue/Question: Build still fails after my patch: https://github.com/bdperkin/aliyun/blob/master/SOURCES/aliyun-cli-get-access-key-secret.patch
Output:
=====================================================================================
# github.com/aliyun/aliyun-cli/oss/lib
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:157:12: undefined: credentials.Configuration
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:160:11: undefined: credentials.Configuration
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:166:11: undefined: credentials.Configuration
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:173:11: undefined: credentials.Configuration
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:183:11: undefined: credentials.Configuration
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:211:2: cannot use accessKeyID (type *string) as type string in return argument
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:211:2: cannot use accessSecret (type *string) as type string in return argument
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/cli_bridge.go:211:2: cannot use stsToken (type *string) as type string in return argument
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/ecs_role.go:92:10: cannot use &EcsRoleAK literal (type *EcsRoleAK) as type oss.Credentials in return argument:
        *EcsRoleAK does not implement oss.Credentials (missing GetAccessKeyID method)
                have GetAccessKeyId() string
                want GetAccessKeyID() string
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/ecs_role.go:95:9: cannot use &EcsRoleAK literal (type *EcsRoleAK) as type oss.Credentials in return argument:
        *EcsRoleAK does not implement oss.Credentials (missing GetAccessKeyID method)
                have GetAccessKeyId() string
                want GetAccessKeyID() string
../aliyun-openapi-meta-73a3ade39a109bda00ae3a80585fac98b3f3dd70/_build/src/github.com/aliyun/aliyun-cli/oss/lib/ecs_role.go:95:9: too many errors
=====================================================================================

Thoughts?

Comment 5 Brandon Perkins 2020-07-30 19:29:59 UTC
(In reply to Brandon Perkins from comment #4)

> 
> Blocking Issue/Question: Build still fails after my patch:
> https://github.com/bdperkin/aliyun/blob/master/SOURCES/aliyun-cli-get-access-
> key-secret.patch

I see my problems now, working on fixing them.

Comment 6 Brandon Perkins 2020-08-02 01:13:27 UTC
Spec URL: https://raw.githubusercontent.com/bdperkin/aliyun/master/SPECS/golang-github-aliyun-cli.spec
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/2463/48402463/golang-github-aliyun-cli-3.0.55-2.s20200731gitfb1de10.fc33.src.rpm

Code changes have been made and submitted upstream: https://github.com/aliyun/aliyun-cli/pull/300

Changes are complete, requesting review.

Changes:
- Patch to build against golang-github-aliyun-credentials-1.1.0
- Update to version 3.0.55 (#1811183)
- Update to aliyun-openapi-meta to commit
  fb1de10319cf130af8945963ef6659707b5f04b7
- Add godevelsummary, golicenses, and godocs for all sources
- Reorder goprep and patch operations
- Remove goenv before gobuild
- Explicitly set man page summary
- Use standard gopkginstall and gopkgfiles
- Properly generate debugsourcefiles.list
- Disable 'openapi' tests due to only being used by meta
- Disable 'oss/lib' tests due to need for credentials

Comment 7 Robert-André Mauchin 🐧 2020-08-02 23:30:50 UTC
golang-github-aliyun-cli.x86_64: W: incoherent-version-in-changelog 3.0.55-3 ['3.0.55-3.s20200802gitfb1de10.fc33', '3.0.55-3.s20200802gitfb1de10']

Please add:

%global distprefix %{nil}

to avoid gometa using the second git commit in the dist tag. 

 - License ok
 - Latest version packaged
 - Builds in mock
 - Conforms to Packaging Guidelines

Package approved.


I hope I haven't forgotten any. If that's the case please send me a mail. Igot tons of stuff from bugzilla because of Go update.

Please assign the go-sig as a comaintainer once your packages are imported.

Comment 8 Gwyn Ciesla 2020-08-03 13:15:06 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/golang-github-aliyun-cli

Comment 9 Brandon Perkins 2020-08-05 21:10:22 UTC
CLOSED. In Rawhide (f33).


Note You need to log in before you can comment on or make changes to this bug.