Page MenuHomeSolus

Update of exercism-cli to 3.0.11 solve T7479
ClosedPublic

Authored by Skyeun on Thu, Jan 10, 2:07 PM.

Details

Summary
Update of exercism-cli to 3.0.11 solve T7479
This makes some minor tweaks to documentation, messaging, and tab completion shell scripts.
Test Plan
Tested on a VM, run exercism, work as expected

Diff Detail

Repository
R723 exercism-cli
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
Skyeun created this revision.Thu, Jan 10, 2:07 PM
Skyeun requested review of this revision.Thu, Jan 10, 2:07 PM
Girtablulu added inline comments.
package.yml
26

-DM00755

Skyeun updated this revision to Diff 12272.Thu, Jan 10, 2:51 PM

Edited according to Girtablulu comment

JoshStrobl requested changes to this revision.Thu, Jan 10, 4:24 PM
JoshStrobl added a subscriber: JoshStrobl.

So much no. You need to be building this not using a pre-compiled binary.

package.yml
25–26

Trailing - should be removed.

This revision now requires changes to proceed.Thu, Jan 10, 4:24 PM
Skyeun marked an inline comment as done.Thu, Jan 10, 6:47 PM

Sure, I now try to build it directly from sources. Any clues as for why I got this error root project import: /home/build/YPKG/root/exercism-cli/build/cli-3.0.11 is not within any GOPATH/src even throug I'm actually ading the build folder to GOPATH with export GOPATH=$(pwd) ?

Here is my package.yml

name       : exercism-cli
version    : 3.0.11
release    : 2
source     :
    - https://github.com/exercism/cli/archive/v3.0.11.tar.gz : 544088bc562a8624e3527dd9d3ccf944dc4923b644bcdf49ef04e6d0ee48ddad
license    : MIT
component  : programming
summary    : A command line tool for exercism.io
description: |
    A command line tool for exercism.io, this provides a way to do the problems on exercism.io.
builddeps  :
    - golang
    - dep
setup      : |
    mkdir -p src/github.com/exercism/cli
    mv api bin browser cli cmd config debug exercism fixtures shell workspace src/github.com/exercism/cli/
build      : |
    export GOPATH=$(pwd)
    dep ensure
    go build -o build/exercism src/github.com/exercism/cli/exercism/main.go
install    : |
    install -Dm00755 build/exercism $installdir/usr/bin/exercism

and here is a more detailled log

+ cd /home/build/YPKG/root/exercism-cli/build/cli-3.0.11
+ export 'CFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ CFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ export 'CXXFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ CXXFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ export 'LDFLAGS=-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common'
+ LDFLAGS='-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common'
+ export 'FFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ FFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ export 'FCFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ FCFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ export PATH=/usr/lib64/ccache/bin:/usr/bin:/bin:/usr/sbin:/sbin
+ PATH=/usr/lib64/ccache/bin:/usr/bin:/bin:/usr/sbin:/sbin
+ export workdir=/home/build/YPKG/root/exercism-cli/build/cli-3.0.11
+ workdir=/home/build/YPKG/root/exercism-cli/build/cli-3.0.11
+ export package=exercism-cli
+ package=exercism-cli
+ export release=2
+ release=2
+ export version=3.0.11
+ version=3.0.11
+ export sources=/home/build/YPKG/sources
+ sources=/home/build/YPKG/sources
+ export pkgfiles=/home/build/work/files
+ pkgfiles=/home/build/work/files
+ export installdir=/home/build/YPKG/root/exercism-cli/install
+ installdir=/home/build/YPKG/root/exercism-cli/install
+ export PKG_ROOT_DIR=/home/build/YPKG/root/exercism-cli
+ PKG_ROOT_DIR=/home/build/YPKG/root/exercism-cli
+ export PKG_BUILD_DIR=/home/build/YPKG/root/exercism-cli/build
+ PKG_BUILD_DIR=/home/build/YPKG/root/exercism-cli/build
+ export LT_SYS_LIBRARY_PATH=/usr/lib64
+ LT_SYS_LIBRARY_PATH=/usr/lib64
+ export CC=x86_64-solus-linux-gcc
+ CC=x86_64-solus-linux-gcc
+ export CXX=x86_64-solus-linux-g++
+ CXX=x86_64-solus-linux-g++
+ export LD_AS_NEEDED=1
+ LD_AS_NEEDED=1
+ export SOURCE_DATA_EPOCH=1486079738
+ SOURCE_DATA_EPOCH=1486079738
+ unset DISPLAY SUDO_USER SUDO_GID SUDO_UID SUDO_COMMAND CDPATH
+ mkdir -p src/github.com/exercism/cli
+ mv api bin browser cli cmd config debug exercism fixtures shell workspace src/github.com/exercism/cli/
[Build] setup successful
[Build] Running step: build
[Build] Enabling ccache
+ cd /home/build/YPKG/root/exercism-cli/build/cli-3.0.11
+ export 'CFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ CFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ export 'CXXFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ CXXFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ export 'LDFLAGS=-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common'
+ LDFLAGS='-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common'
+ export 'FFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ FFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ export 'FCFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ FCFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT'
+ export PATH=/usr/lib64/ccache/bin:/usr/bin:/bin:/usr/sbin:/sbin
+ PATH=/usr/lib64/ccache/bin:/usr/bin:/bin:/usr/sbin:/sbin
+ export workdir=/home/build/YPKG/root/exercism-cli/build/cli-3.0.11
+ workdir=/home/build/YPKG/root/exercism-cli/build/cli-3.0.11
+ export package=exercism-cli
+ package=exercism-cli
+ export release=2
+ release=2
+ export version=3.0.11
+ version=3.0.11
+ export sources=/home/build/YPKG/sources
+ sources=/home/build/YPKG/sources
+ export pkgfiles=/home/build/work/files
+ pkgfiles=/home/build/work/files
+ export installdir=/home/build/YPKG/root/exercism-cli/install
+ installdir=/home/build/YPKG/root/exercism-cli/install
+ export PKG_ROOT_DIR=/home/build/YPKG/root/exercism-cli
+ PKG_ROOT_DIR=/home/build/YPKG/root/exercism-cli
+ export PKG_BUILD_DIR=/home/build/YPKG/root/exercism-cli/build
+ PKG_BUILD_DIR=/home/build/YPKG/root/exercism-cli/build
+ export LT_SYS_LIBRARY_PATH=/usr/lib64
+ LT_SYS_LIBRARY_PATH=/usr/lib64
+ export CC=x86_64-solus-linux-gcc
+ CC=x86_64-solus-linux-gcc
+ export CXX=x86_64-solus-linux-g++
+ CXX=x86_64-solus-linux-g++
+ export LD_AS_NEEDED=1
+ LD_AS_NEEDED=1
+ export SOURCE_DATA_EPOCH=1486079738
+ SOURCE_DATA_EPOCH=1486079738
+ unset DISPLAY SUDO_USER SUDO_GID SUDO_UID SUDO_COMMAND CDPATH
++ pwd
+ export GOPATH=/home/build/YPKG/root/exercism-cli/build/cli-3.0.11
+ GOPATH=/home/build/YPKG/root/exercism-cli/build/cli-3.0.11
+ dep ensure
root project import: /home/build/YPKG/root/exercism-cli/build/cli-3.0.11 is not within any GOPATH/src
Command '['/bin/bash', '--norc', '--noprofile', '/tmp/ypkg-buildp28lHj']' returned non-zero exit status 1
[Build] build failed
ERRO[19:44:52] Failed to build package                       error="exit status 1"
ERRO[19:44:54] Failed to build packages

Go packages can be a bit tricky to build in Solus. You can find an example at terraform.

Thanks for the hints @der_eismann.

I tried a lot of things in my package.yml and finally get rid of the previous error. Aso I tried to manually buid this package following the same logic and achieved to get a working build. But when I try to reproduce that in my package.yml, I got some new errors

+ dep ensure
The following issues were found in Gopkg.toml:
 
 ✗ unable to deduce repository and source type for "golang.org/x/text": unable to read metadata: unable to fetch raw metadata: failed HTTP request to URL "http://golang.org/x/text?go-get=1": Get http://golang.org/x/text?go-get=1: dial tcp: lookup golang.org on 192.168.1.254:53: dial udp 192.168.1.254:53: connect: network is unreachable
  ✗ unable to deduce repository and source type for "golang.org/x/net": unable to read metadata: unable to fetch raw metadata: failed HTTP request to URL "http://golang.org/x/net?go-get=1": Get http://golang.org/x/net?go-get=1: dial tcp: lookup golang.org on 192.168.1.254:53: dial udp 192.168.1.254:53: connect: network is unreachable

ProjectRoot name validation failed

I obviously searched for the same error on internet and found a lot of github issues with the same error (#1322, #292). This seem to be proxy related. Any hints as for why this only appen when I try to package it and not when I do it by hand ?

name       : exercism-cli
version    : 3.0.11
release    : 2
source     :
    - https://github.com/exercism/cli/archive/v3.0.11.tar.gz : 544088bc562a8624e3527dd9d3ccf944dc4923b644bcdf49ef04e6d0ee48ddad
license    : MIT
component  : programming
summary    : A command line tool for exercism.io
description: |
    A command line tool for exercism.io, this provides a way to do the problems on exercism.io.
builddeps  :
    - golang
    - dep
setup      : |
    mkdir -p src/github.com/exercism/cli
    mv api bin browser cli cmd config debug exercism fixtures shell workspace Gopkg.toml src/github.com/exercism/cli
build      : |
    export GOPATH=$(pwd)
    cd src/github.com/exercism/cli
    dep ensure
    go build -o build/exercism exercism/main.go
install    : |
    install -Dm00755 build/exercism $installdir/usr/bin/exercism

Sorry, I forgot to mention an important detail. solbuild is designed to be an independent sandbox and as such doesn't have a network connection. But sometimes it is needed to pull some dependencies so you can enable networking.

Sorry, I forgot to mention an important detail. solbuild is designed to be an independent sandbox and as such doesn't have a network connection. But sometimes it is needed to pull some dependencies so you can enable networking.

So much thanks for your help. I figured that it was something like that but couldn't ever guess the answer alone. 😄

Skyeun updated this revision to Diff 12315.Sat, Jan 12, 6:08 PM

Build package from sources

Skyeun marked an inline comment as done.Sat, Jan 12, 6:09 PM
JoshStrobl accepted this revision.Fri, Jan 18, 8:37 AM
This revision is now accepted and ready to land.Fri, Jan 18, 8:37 AM
Closed by commit R723:efcec3d50c96: Update of exercism-cli to 3.0.11 solve T7479 (authored by Eressea <eressea6666@gmail.com>, committed by JoshStrobl). · Explain WhyFri, Jan 18, 8:38 AM
This revision was automatically updated to reflect the committed changes.