Re: [git-users] How to install git on CentOS5 without root access?

2012-12-21 Thread Dale R. Worley
> From: Eric B 
> 
> [eric git]$ git clone https://e...@git.assembla.com/myproj.git
> Cloning into 'myproj'...
> Password for 'https://e...@git.assembla.com':
> error: RPC failed; result=22, HTTP code = 401
> fatal: The remote end hung up unexpectedly
> 
> In all fairness, I do not know if that is due to my package being installed
> under my home dir vs standard dirs, or if there is a firewall issue/etc,
> but I can confirm that a clone to that repo works properly on another
> system.  Similarly, I can confirm that I can d/l data from other https
> sites without issues.

The odds are very good that Git itself is working fine on the
production machine, and that it's able to contact the remote system.
The trouble is that the remote system doesn't like the HTTP request,
probably because it doesn't think your end has authenticated itself
correctly.  A less-likely cause would be that Git isn't making the
request "properly", and a web proxy (or elaborate firewall) is
intercepting the request and denying it.

Can you manually make the same HTTP request work?  "wget" is a good
tool for that.  Of course, you have to find out what URL is actually
being fetched, although a fetch of "/" will get you some information.
If you use an http: URL for the repository and snoop the network
traffic, you can find the URL used in the HTTP request.  (You can do
that on your development system.)  Or get it with GIT_CURL_VERBOSE=1,
as Konstantin suggests.

Dale

-- 




Re: [git-users] How to install git on CentOS5 without root access?

2012-12-21 Thread Konstantin Khomoutov
On Thu, 20 Dec 2012 15:10:44 -0500
Eric Benzacar  wrote:

> > > [eric git]$ git clone https://e...@git.assembla.com/myproj.git
> > > Cloning into 'myproj'...
> > > Password for 'https://e...@git.assembla.com
> > > ':
> > > error: RPC failed; result=22, HTTP code = 401
> > > fatal: The remote end hung up unexpectedly
> >
> > HTTP 401 is an 'unauthorized' message, it sounds like user 'eric'
> > doesn't have authority to clone https://git.assembla.com/myproj.git.
> >
> > Perhaps the wrong password or that user simply isn't allowed to
> > access that repository?
> >
> 
> No - password is correct and user has access rights (have tried
> multiple times to ensure no typos) and it works fine from my local
> desktop.  A wrong password also returns a different msg:
>  fatal: Authentication failed
> 
> So authentication passes.  I presume there is something that I am
> missing or don't have configured right in git, but have no idea
> what...

One more thing, try also setting GIT_CURL_VERBOSE=1 before running your
`git clone` encantation?  Git uses libcURL to implement HTTP[S]
transports, and this variable should make cURL chatty about what it
does.

-- 




Re: [git-users] How to install git on CentOS5 without root access?

2012-12-21 Thread Konstantin Khomoutov
On Thu, 20 Dec 2012 15:10:44 -0500
Eric Benzacar  wrote:

> > HTTP 401 is an 'unauthorized' message, it sounds like user 'eric'
> > doesn't have authority to clone https://git.assembla.com/myproj.git.
> >
> > Perhaps the wrong password or that user simply isn't allowed to
> > access that repository?
> >
> 
> No - password is correct and user has access rights (have tried
> multiple times to ensure no typos) and it works fine from my local
> desktop.  A wrong password also returns a different msg:
>  fatal: Authentication failed
> 
> So authentication passes.  I presume there is something that I am
> missing or don't have configured right in git, but have no idea
> what...

Do you have tcpdump or tcpflow installed on that system?
It would be interesting to sniff the traffic to really see what happens.
On the other hand, that would require using plain HTTP, not HTTPS, and
this might be not possible.

-- 




Re: [git-users] How to install git on CentOS5 without root access?

2012-12-21 Thread Eric Benzacar
On Thu, Dec 20, 2012 at 2:35 PM, Andy Hardy  wrote:

> On 20/12/2012 18:00, Eric B wrote:
>
> > [eric git]$ git clone https://e...@git.assembla.com/myproj.git
> > Cloning into 'myproj'...
> > Password for 'https://e...@git.assembla.com
> > ':
> > error: RPC failed; result=22, HTTP code = 401
> > fatal: The remote end hung up unexpectedly
>
> HTTP 401 is an 'unauthorized' message, it sounds like user 'eric'
> doesn't have authority to clone https://git.assembla.com/myproj.git.
>
> Perhaps the wrong password or that user simply isn't allowed to access
> that repository?
>

No - password is correct and user has access rights (have tried multiple
times to ensure no typos) and it works fine from my local desktop.  A wrong
password also returns a different msg:
 fatal: Authentication failed

So authentication passes.  I presume there is something that I am missing
or don't have configured right in git, but have no idea what...

Tx!

Eric

-- 




Re: [git-users] How to install git on CentOS5 without root access?

2012-12-20 Thread Andy Hardy
On 20/12/2012 18:00, Eric B wrote:

> [eric git]$ git clone https://e...@git.assembla.com/myproj.git
> Cloning into 'myproj'...
> Password for 'https://e...@git.assembla.com
> ':
> error: RPC failed; result=22, HTTP code = 401
> fatal: The remote end hung up unexpectedly

HTTP 401 is an 'unauthorized' message, it sounds like user 'eric'
doesn't have authority to clone https://git.assembla.com/myproj.git.

Perhaps the wrong password or that user simply isn't allowed to access
that repository?


-- 




Re: [git-users] How to install git on CentOS5 without root access?

2012-12-20 Thread Eric B
On Thu, Dec 20, 2012 at 12:08 PM, Konstantin Khomoutov <
flatw...@users.sourceforge.net> wrote:

Are you able to run `git init`, `git clone` `git fetch`?
> If they fail, then how? (Please, cite the full error output).
>
>
Well, none of the man pages work (which is an annoyance, but not the end of
the world).  I've set up an env var for GIT_EXEC_PATH and GIT_TEMPLATE_PATH
to point to the correct locations, but when I try `git clone`, I get the
following:

[eric git]$ git clone https://e...@git.assembla.com/myproj.git
Cloning into 'myproj'...
Password for 'https://e...@git.assembla.com':
error: RPC failed; result=22, HTTP code = 401
fatal: The remote end hung up unexpectedly

In all fairness, I do not know if that is due to my package being installed
under my home dir vs standard dirs, or if there is a firewall issue/etc,
but I can confirm that a clone to that repo works properly on another
system.  Similarly, I can confirm that I can d/l data from other https
sites without issues.

I would install CentOS 5.5 somewhere (on a virtual machine for
> instance), install the necessary developer tools there and then built
> Git from the source configuring it to use /home/you/git as its "PREFIX".
> Then install it (on the build machine, I mean) using something like
>

Sure - I was trying to avoid that effort, so was hoping that there would be
some other way(s) to specify the required paths.

Thanks,

Eric

-- 




Re: [git-users] How to install git on CentOS5 without root access?

2012-12-20 Thread Konstantin Khomoutov
On Thu, 20 Dec 2012 12:31:04 -0500
Eric B  wrote:

> Are you able to run `git init`, `git clone` `git fetch`?
> >  If they fail, then how? (Please, cite the full error output).
> >
> >
> Well, none of the man pages work (which is an annoyance, but not the
> end of the world).

They were not expected to work: IIRC `git help whatever` just calls
`man git-whaveter` internally, so you have to tinker with the MANPATH
environment variable (rean the man(1) manual page).

> I've set up an env var for GIT_EXEC_PATH and
> GIT_TEMPLATE_PATH to point to the correct locations, but when I try
> `git clone`, I get the following:
> 
> [eric git]$ git clone https://e...@git.assembla.com/myproj.git
> Cloning into 'myproj'...
> Password for 'https://e...@git.assembla.com':
> error: RPC failed; result=22, HTTP code = 401
> fatal: The remote end hung up unexpectedly
> 
> In all fairness, I do not know if that is due to my package being
> installed under my home dir vs standard dirs, or if there is a
> firewall issue/etc, but I can confirm that a clone to that repo works
> properly on another system.  Similarly, I can confirm that I can d/l
> data from other https sites without issues.

Try running that same command while having the GIT_TRACE variable in
your environment:

$ export GIT_TRACE=1
$ git clone https://...

In this case higher-level Git tools will print out what lower-level
tools they call.

And you did not tell if `git init` works for you.  It's a major command
and it's not supposed to access any remote repository so being able to
run it successfully would be a good sign.

-- 




Re: [git-users] How to install git on CentOS5 without root access?

2012-12-20 Thread Konstantin Khomoutov
On Thu, 20 Dec 2012 08:25:12 -0800 (PST)
ebenza...@gmail.com wrote:

> I'm trying to add git functionality to a production CentOS 5.5 system
> that has no development tools (since it is a production system). So I
> don't have access to make/gcc/etc.

> I do not have root access, and for obvious reasons, root is does not
> want to install Git on a prod system, but is okay if I can set it up
> locally for my own use.

You could tell your root this position is outright stupid and the
reasons to maintain it are not at all obvious: if you will have Git
installed under your ~, these will be the same executable files, no
different from those you'd get if Git was installed system-wide.

Any harm which can potentially be inflicted to the system by running
Git on it does not somehow change if Git is in ~joe/bin rather than
in /usr/bin, really.

Moreover, binaries installed by a Joe Random User are owned by him/her
and hence are *writable* by any process running with the same
credentials.  This differs from a system-wide installation where such
binaries are writable only by root, and it's beleived to be harder to
get root on a typical system than to get that Joe Random User.

Also note that while I am not familiar with Git package for CentOS I
beleive that merely installing Git in a system is not supposed to
automatically enable/run its daemon process or make it accessible via
inetd or whatever.  At least I hope the CentOS package's maintainers
did not goof on a scale that big.  Without any daemons configured and
running a harm which could be inflicted using Git is not too much
different from that which can be inflicted using `cat`.

TL;DR
Installing whatever piece of software in the system does indeed
potentially widen its surface of attack, but installing it to the home
directory of a regular user does not in any way alleviate this effect,
but supposedly rather makes it worse.

> I've tried to download and unpack a git-core.rpm into my home dir and 
> although I am able run some functionality of git, none of git's 
> dependencies are where it expects them and so it fails.
> 
> My structure looks like the following:
> 
> ~/git
> ~/git/usr
> ~/git/usr/bin
> ~/git/usr/share
> ~/git/usr/share/doc
> ~/git/usr/share/git-core
> ~/git/usr/share/locale
> ~/git/usr/share/man
> 
> When I run something like git help clone, I get an error msg No
> manual entry for git-clone. This is confirmed by git --man-path
> (/usr/share/man). Other commands fail similarly.

This is not really interesting (see below).
Are you able to run `git init`, `git clone` `git fetch`?
If they fail, then how? (Please, cite the full error output).

> How can I tell git to use ~/git as the root instead of / as the root
> to all git dependencies without recompiling? I cannot seem to find
> any environment vars or git vars that I can set.

I would install CentOS 5.5 somewhere (on a virtual machine for
instance), install the necessary developer tools there and then built
Git from the source configuring it to use /home/you/git as its "PREFIX".
Then install it (on the build machine, I mean) using something like

$ mkdir /var/tmp/git
$ make DESTDIR=/var/tmp/git install

and then pack it using something like

$ tar -C /var/tmp/git -c -f - . | gzip -c9 >/var/tmp/git.tar.gz

You will get a compressed tarball with relative pathnames in it.

Then just transfer the resulting tarball to the target system (using
`scp` for instance) and unroll it relative to your home directory:

$ tar -C ~ -x /var/tmp/git.tar.gz

to get your ~/git hierarchy back.

Supposedly this should work (though I have not tested).

-- 




[git-users] How to install git on CentOS5 without root access?

2012-12-20 Thread ebenzacar


Hi,

I'm trying to add git functionality to a production CentOS 5.5 system that 
has no development tools (since it is a production system). So I don't have 
access to make/gcc/etc. I basically want to install Git to be able to 
easily & quickly synchronize a website dir with my Git repo, so I have no 
need for compiling any source files.

I do not have root access, and for obvious reasons, root is does not want 
to install Git on a prod system, but is okay if I can set it up locally for 
my own use.

I've tried to download and unpack a git-core.rpm into my home dir and 
although I am able run some functionality of git, none of git's 
dependencies are where it expects them and so it fails.

My structure looks like the following:

~/git
~/git/usr
~/git/usr/bin
~/git/usr/share
~/git/usr/share/doc
~/git/usr/share/git-core
~/git/usr/share/locale
~/git/usr/share/man

When I run something like git help clone, I get an error msg No manual 
entry for git-clone. This is confirmed by git --man-path (/usr/share/man). 
Other commands fail similarly.

How can I tell git to use ~/git as the root instead of / as the root to all 
git dependencies without recompiling? I cannot seem to find any environment 
vars or git vars that I can set.

Thanks!

Eric

--