etcd: don't hardcode /usr/lib in do_install

* I don't know anything about etcd including why we need these binaries duplicated
  in libdir and bindir, but use ${libdir} instead of hardcoded /usr/lib to fix
  do_install with multilib enabled when libdir is /usr/lib64 and it was failing
  with:
  DEBUG: Executing shell function do_install
  ls: cannot access 'etcd/3.5.7-r0/build/bin/linux_arm64/': No such file or directory
  install: cannot stat 'etcd/3.5.7-r0/image/usr/lib/go/src/go.etcd.io/etcd/v3/bin/etcd': No such file or directory
  WARNING: exit code 1 from a shell command.

* the error from ls is unrelated, fixed in:
  https://lists.openembedded.org/g/openembedded-core/message/181269

* also reported on github:
  https://github.com/openembedded/meta-openembedded/pull/616

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Martin Jansa 2023-05-15 19:40:03 +02:00 committed by Khem Raj
parent 44fbe5a318
commit f55fecc25b

View File

@ -59,9 +59,9 @@ SYSTEMD_SERVICE:${PN}:append = " etcd.service etcd-new.service etcd-new.path"
do_install:append() {
install -d ${D}${bindir}/
install -m 0755 ${D}/usr/lib/go/src/go.etcd.io/etcd/v3/bin/etcd ${D}${bindir}
install -m 0755 ${D}/usr/lib/go/src/go.etcd.io/etcd/v3/bin/etcdctl ${D}${bindir}
install -m 0755 ${D}/usr/lib/go/src/go.etcd.io/etcd/v3/bin/etcdutl ${D}${bindir}
install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcd ${D}${bindir}
install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcdctl ${D}${bindir}
install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcdutl ${D}${bindir}
install -m 0644 ${WORKDIR}/etcd-existing.conf -D -t ${D}${sysconfdir}/etcd.d
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/etcd.service ${D}${systemd_system_unitdir}/