[GHC] #15538: GHC boot script can't handle Git origin not named origin
GHC
ghc-devs at haskell.org
Sat Aug 18 17:23:15 UTC 2018
#15538: GHC boot script can't handle Git origin not named origin
-------------------------------------+-------------------------------------
Reporter: ChaiTRex | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.6.1
Component: Build System | Version:
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Building GHC | Unknown/Multiple
failed | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Description changed by ChaiTRex:
Old description:
> == Problem
>
> I ran the following to get the sources for GHC to build them:
>
> {{{
> git clone -o ghc --recursive http://git.haskell.org/ghc.git
> }}}
>
> Note especially the `-o ghc` part, which uses the Git origin name `ghc`
> instead of the default `origin`. When a custom origin name is used,
> `./boot` fails:
>
> {{{
> $ ./boot
> Traceback (most recent call last):
> File "./boot", line 193, in <module>
> check_for_url_rewrites()
> File "./boot", line 29, in check_for_url_rewrites
> subprocess.check_output('git config
> remote.origin.url'.split()).find(b'github.com') != -1 and \
> File "/usr/lib/python3.5/subprocess.py", line 626, in check_output
> **kwargs).stdout
> File "/usr/lib/python3.5/subprocess.py", line 708, in run
> output=stdout, stderr=stderr)
> subprocess.CalledProcessError: Command '['git', 'config',
> 'remote.origin.url']' returned non-zero exit status 1
>
> $ git config remote.origin.url
>
> $ echo $?
> 1
> }}}
>
> == Solution
>
> To get the URL of the proper origin name, `git config
> branch.master.remote` can be used to get the origin name to use to get
> the URL:
>
> {{{
> $ git config "remote.$( git config branch.master.remote ).url"
> http://git.haskell.org/ghc.git
> }}}
>
> == Workaround
>
> Rename the origin to `origin`:
>
> {{{
> $ git remote rename "$( git config branch.master.remote )" origin
> $ ./boot
> Creating libraries/mtl/ghc.mk
> Creating libraries/unix/ghc.mk
> Creating libraries/text/ghc.mk
> ⋮
> }}}
New description:
== Problem
I ran the following to get the sources for GHC to build them:
{{{
git clone -o ghc --recursive http://git.haskell.org/ghc.git
}}}
Note especially the `-o ghc` part, which uses the Git origin name `ghc`
instead of the default `origin`. When a custom origin name is used,
`./boot` fails:
{{{
$ ./boot
Traceback (most recent call last):
File "./boot", line 193, in <module>
check_for_url_rewrites()
File "./boot", line 29, in check_for_url_rewrites
subprocess.check_output('git config
remote.origin.url'.split()).find(b'github.com') != -1 and \
File "/usr/lib/python3.5/subprocess.py", line 626, in check_output
**kwargs).stdout
File "/usr/lib/python3.5/subprocess.py", line 708, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['git', 'config',
'remote.origin.url']' returned non-zero exit status 1
$ git config remote.origin.url
$ echo $?
1
}}}
== Solution
`git config branch.master.remote` can be used to get the origin name to
use to get the desired URL:
{{{
$ git config "remote.$( git config branch.master.remote ).url"
http://git.haskell.org/ghc.git
}}}
== Workaround
Rename the origin to `origin`:
{{{
$ git remote rename "$( git config branch.master.remote )" origin
$ ./boot
Creating libraries/mtl/ghc.mk
Creating libraries/unix/ghc.mk
Creating libraries/text/ghc.mk
⋮
}}}
--
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15538#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list