9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* git9 on 9legacy
@ 2019-12-06  5:35 ori
  2019-12-06  7:27 ` [9fans] " Fazlul Shahriar
  0 siblings, 1 reply; 5+ messages in thread
From: ori @ 2019-12-06  5:35 UTC (permalink / raw)
  To: 9fans

I got a box running 9legacy running, and fixed the portability
issues in git9, since it didn't seem like anyone else was going
to do the work.

There are two patches needed which I put on sources:

	- rc-line-split:
		implement `delim{...} syntax for rc

	- walk
		port walk command to 9legacy.

Other than that, there were a couple of tweaks needed to
git9 itself: 9legacy has no '%z' format specifier, which
means that there's no way of printing pointer differences;
that's ok, they weren't really used for anything important.

And 9legacy awk is still an ape program, which means that
it uses /bin/sh. Some of the system calls that git9 was
doing from within awk used rc syntax. I pulled the code
up into awk, and made the commands shell agnostic.

So, to summarize:

	# get dependencies
	patch/apply rc-line-split
	patch/apply walk
	cd /sys/src
	mk all
	mk install

	# get bootstrap version of git9
	cd /tmp
	hget http://github.com/oridb/git9/archive/master.tar.gz | tar xvz
	cd git9-master
	mk all
	mk install

	# now you can get stuff with git
	git/clone git://github.com/oridb/git9
	cd git9
	mk install


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] git9 on 9legacy
  2019-12-06  5:35 git9 on 9legacy ori
@ 2019-12-06  7:27 ` Fazlul Shahriar
  2019-12-06  7:46   ` ori
  0 siblings, 1 reply; 5+ messages in thread
From: Fazlul Shahriar @ 2019-12-06  7:27 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 562 bytes --]

Very cool. I just tried and it seems to work.

        patch/apply rc-line-split
>

This patch does not apply cleanly on 9legacy because of conflict with
rc-badrunes patch
(see http://www.9legacy.org/patch.html) which is included in 9legacy CD
image.

I've installed the commands in a "git9" directory instead of "git", so it
doesn't conflict with the 9legacy git script (
http://www.9legacy.org/9legacy/tools/git), which I still want to have
around for 'go get'. It's possible we can have a more complete git script
with the help of git9.

fhs

[-- Attachment #2: Type: text/html, Size: 996 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] git9 on 9legacy
  2019-12-06  7:27 ` [9fans] " Fazlul Shahriar
@ 2019-12-06  7:46   ` ori
  0 siblings, 0 replies; 5+ messages in thread
From: ori @ 2019-12-06  7:46 UTC (permalink / raw)
  To: fshahriar, 9fans

> Very cool. I just tried and it seems to work.
> 
>         patch/apply rc-line-split
> 
> This patch does not apply cleanly on 9legacy because of conflict with
> rc-badrunes patch
> (see http://www.9legacy.org/patch.html) which is included in 9legacy CD
> image.

Ah, I was working from miller's pi image. I've not been following what the
differences between the various images are; I assumed that 9legacy and the
pi image were close enough. What's the best way to get in sync on the pi?

> I've installed the commands in a "git9" directory instead of "git", so it
> doesn't conflict with the 9legacy git script (
> http://www.9legacy.org/9legacy/tools/git), which I still want to have
> around for 'go get'. It's possible we can have a more complete git script
> with the help of git9.

Yes.  I've thought about this a bit, and I think the approach I like
most is a 'git/compat' script, which would leave you in a namespace
where 'git' is a git-compatible-enough script that you could use for
foreign software like go. Something like:

	#!/bin/rc
	bind -b /sys/lib/git/compat /bin

Where /sys/lib/git/compat is a directory containing a 'git' script
with all of the compatibility switches and mangling that's needed.

But I don't have the 'git' script that we'd put there, and I don't
know what sufficient compatibility looks like, so I'd need someone
else to help out on that end.

One notable omission in git9, by the way, is http clones. This is
something go may want. I personally don't miss them, so I'm unlikely
to get around to them soon, but I have a good idea of how to go about
them, and I'd be happy to help out anyone interested in getting it
done.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] git9 on 9legacy
  2019-12-06  6:15 kokamoto
@ 2019-12-06  6:20 ` ori
  0 siblings, 0 replies; 5+ messages in thread
From: ori @ 2019-12-06  6:20 UTC (permalink / raw)
  To: kokamoto, 9fans

>> I got a box running 9legacy running, 
> 
> usb keyboard/mouse are working?

Yes, more or less - I've had the keyboard flake out
on me. But it's a raspberry pi, not a pc.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] git9 on 9legacy
@ 2019-12-06  6:15 kokamoto
  2019-12-06  6:20 ` ori
  0 siblings, 1 reply; 5+ messages in thread
From: kokamoto @ 2019-12-06  6:15 UTC (permalink / raw)
  To: 9fans

> I got a box running 9legacy running, 

usb keyboard/mouse are working?

Kenji


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-12-06  7:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-06  5:35 git9 on 9legacy ori
2019-12-06  7:27 ` [9fans] " Fazlul Shahriar
2019-12-06  7:46   ` ori
2019-12-06  6:15 kokamoto
2019-12-06  6:20 ` ori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).