All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baruch Siach <baruch@tkos.co.il>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 1/1] mosh: new package
Date: Thu, 23 Jul 2015 09:52:13 +0300	[thread overview]
Message-ID: <20150723065213.GQ13027@tarshish> (raw)
In-Reply-To: <CA+h8R2oHO4SCG_wvaVGoGngwVqBug0=B3_B+JmGF=LzYed1cgQ@mail.gmail.com>

Hi Christian,

On Thu, Jul 23, 2015 at 06:31:58AM +0000, Christian Stewart wrote:
> The patch is necessary as the git command is unavailable in the Buildroot
> tree. The Makefile usually attempts to use git commands to generate a
> version string.

Please add this explanation in the patch description. I guess upstream would 
also be interested in addressing this problem since it makes build from 
tarball impossible in the absence of git.

> I'm not sure if you're asking why it depends on OpenSSH but if you don't
> know why I suggest you read into what Mosh is and how it works.

Dependency on openssh is quite unusual, since openssh does not provide a 
library. From what you say I infer that openssh is a run-time dependency only. 
If so, please note it in the commit log and in inline comment.

Also, Buildroot prefers 'select' rather than 'depends on' for less than 
obvious dependencies. I thing openssh falls in that category. See again 
"Choosing depends on or select" in the manual.

> There is no 1.2.5 yet, see https://github.com/keithw/mosh/releases -
> there's only 1.2.4.95 release candidate 2.

This is weird. There is a "Bump version to 1.2.5" commit at
https://github.com/keithw/mosh/commit/3c3b356cb5e387887499beb2eedddce185f36944

> Why would I not put both host-protobuf and protobuf? What if protobuf is
> edited later to not depend on the host (which actually is more logical)?
> It's logical to add both dependencies on the package, but if that's a
> problem I'll change it.

So mosh itself depends on host-protobuf? If so, this is OK. Again, a note in 
the commit log about that would be nice.

> I'll incorporate the requested changes and respin. But I still don't
> understand half of your questions :)

I hope I'm clearer now.

baruch

> On Wed, Jul 22, 2015 at 10:23 PM Baruch Siach <baruch@tkos.co.il> wrote:
> > On Wed, Jul 22, 2015 at 05:24:02PM -0700, Christian Stewart wrote:
> > > Adding mosh, the mobile shell.
> > >
> > > Signed-off-by: Christian Stewart <christian@paral.in>
> >
> > [snip]
> >
> > > diff --git a/package/mosh/0001-use-version-from-buildroot.patch
> > b/package/mosh/0001-use-version-from-buildroot.patch
> > > new file mode 100644
> > > index 0000000..2d79eb2
> > > --- /dev/null
> > > +++ b/package/mosh/0001-use-version-from-buildroot.patch
> > > @@ -0,0 +1,23 @@
> > > +Alter the Makefile to use Buildroot's VERSION string.
> >
> > Why is that needed?
> >
> > > +
> > > +Signed-off-by: Christian Stewart <christian@paral.in>
> > > +
> > > +diff -Nau mosh.orig/Makefile.am mosh/Makefile.am
> > > +--- mosh.orig/Makefile.am.orig       2015-07-22 16:55:42.523086477 -0700
> > > ++++ mosh/Makefile.am 2015-07-22 16:56:13.615085453 -0700
> > > +@@ -8,14 +8,7 @@
> > > + .PHONY:     VERSION
> > > +
> > > + VERSION:
> > > +-    @set -e; if [ ! -f VERSION ]; then echo @PACKAGE_STRING@ >
> > VERSION; fi
> > > +-    @set -e; if git status > /dev/null 2>&1; then \
> > > +-            git describe --dirty > VERSION.new;  \
> > > +-            if ! diff -q VERSION VERSION.new > /dev/null 2>&1; then \
> > > +-                    mv -f VERSION.new VERSION; \
> > > +-            fi; \
> > > +-    fi
> > > +-    @rm -f VERSION.new
> > > ++    @echo $(VERSION) > VERSION
> > > +
> > > + version.h:  VERSION
> > > +     @printf '#define BUILD_VERSION "%s"\n' "$$(cat VERSION)" >
> > version.h.new
> > > diff --git a/package/mosh/Config.in b/package/mosh/Config.in
> > > new file mode 100644
> > > index 0000000..53db04b
> > > --- /dev/null
> > > +++ b/package/mosh/Config.in
> > > @@ -0,0 +1,13 @@
> > > +comment "mosh needs openssh to be built"
> > > +     depends on !BR2_PACKAGE_OPENSSH
> > > +
> > > +config BR2_PACKAGE_MOSH
> > > +     bool "mosh"
> > > +     depends on BR2_PACKAGE_OPENSSH
> >
> > Why? Please explain.
> >
> > > +     select BR2_PACKAGE_PROTOBUF
> >
> > Please copy here the dependencies of BR2_PACKAGE_PROTOBUF. Please see the
> > explanation under "Choosing depends on or select" in
> > http://nightly.buildroot.org/manual.html#_config_files.
> >
> > > +     help
> > > +       Remote terminal application that supports intermittent
> > connectivity,
> > > +       allows roaming, and provides speculative local echo and line
> > editing
> > > +       of user keystrokes.
> > > +
> > > +       https://github.com/keithw/mosh
> > > diff --git a/package/mosh/mosh.hash b/package/mosh/mosh.hash
> > > new file mode 100644
> > > index 0000000..4121d36
> > > --- /dev/null
> > > +++ b/package/mosh/mosh.hash
> > > @@ -0,0 +1 @@
> > > +sha256
> > 56571fb1cb9c9714013ab0fc813863d58e0f5c7d320430aa05df952295e046a7
> > mosh-1.2.4.95rc2.tar.gz
> > > diff --git a/package/mosh/mosh.mk b/package/mosh/mosh.mk
> > > new file mode 100644
> > > index 0000000..8ad4da9
> > > --- /dev/null
> > > +++ b/package/mosh/mosh.mk
> > > @@ -0,0 +1,15 @@
> > >
> > +################################################################################
> > > +#
> > > +# mosh
> > > +#
> > >
> > +################################################################################
> > > +
> > > +MOSH_VERSION = 1.2.4.95rc2
> >
> > Is there a reason not to use the latest version 1.2.5?
> >
> > > +MOSH_SITE = $(call github,keithw,mosh,mosh-$(MOSH_VERSION))
> > > +MOSH_DEPENDENCIES = host-protobuf protobuf
> >
> > protobuf depends on host-protobuf already.
> >
> > > +MOSH_AUTORECONF = YES
> >
> > Please add a comment noting that autoreconf is needed because we are using
> > the
> > git repo.
> >
> > > +MOSH_LICENSE = OCB
> >
> > It's GPLv3+ with openssl and iOS exceptions.
> >
> > > +MOSH_LICENSE_FILES = ocb-license.html
> >
> > Should be "COPYING COPYING.iOS", I guess. ocb-license.html is a patents
> > grant.
> > But IANAL.
> >
> > > +MOSH_MAKE_ENV = VERSION="mosh-$(MOSH_VERSION)"
> > > +
> > > +$(eval $(autotools-package))

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

      reply	other threads:[~2015-07-23  6:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-23  0:24 [Buildroot] [PATCH v2 1/1] mosh: new package Christian Stewart
2015-07-23  5:22 ` Baruch Siach
2015-07-23  6:31   ` Christian Stewart
2015-07-23  6:52     ` Baruch Siach [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150723065213.GQ13027@tarshish \
    --to=baruch@tkos.co.il \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.