Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 194818 - Layman with mercurial repository freeze layman
Summary: Layman with mercurial repository freeze layman
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gunnar Wrobel (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-05 15:35 UTC by Cedric Pinson
Modified: 2007-10-16 10:48 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Cedric Pinson 2007-10-05 15:35:32 UTC
app-portage/layman-1.0.10
I can't get mercurial support works. It freeze layman when i add a layman with mercurial. My test is on localhost hosts the url of the
list.xml is http://localhost/raw-file/055f9d86c83a/list.xml . I tested this url with a browser and i have seen in the log of hg serve "GET /raw-file/055f9d86c83a/list.xml HTTP/1.0" 200

I have not error message no log, nothing, just a freeze of layman. Do you have an idea ?


here the code i tried to check where it freezes.

in function cache (in db.py)

       for url in self.urls:

           mpath = self.path(url)
           try:

               olist = urllib.urlopen(url, proxies = None)
               print "opened url %s" % url
               olist = olist.read() <- it blocks here


Here the content of the xml, not that i use this xml for a distant svn repository
<?xml version="1.0" ?>
<layman>

 <overlay
    type = "Mercurial"
    src  = "http://localhost//"
    contact = "mornifle@plopbyte.net"
    name = "mornifle-gentoo-package">

   <link>
     http://code.google.com/p/mornifle-gentoo-package/
   </link>

   <description>
     graphic developpement package
   </description>
 </overlay>
</layman>



Reproducible: Always

Steps to Reproduce:
1.layman -L
2.
3.

Actual Results:  
it freezes layman

Expected Results:  
it should fetch the mercurial repository
Comment 1 Gunnar Wrobel (RETIRED) gentoo-dev 2007-10-16 10:48:28 UTC
Sorry, can't reproduce. You have at least a minor issue with naming the overlay type "Mercurial" instead of "mercurial" but that should not freeze it.

Here is my test transcript:

cd /tmp
mkdir hg
cd hg
hg init
touch test
hg commit -A -m "test"
hg serve -p 80

Second shell

cd /tmp
mkdir layhg

Create two files:

cat layman.cfg 
[MAIN]

#-----------------------------------------------------------
# Path to the config directory

config_dir: /tmp/layhg

#-----------------------------------------------------------
# Defines the directory where overlays should be installed

storage   : /usr/portage/local/test

#-----------------------------------------------------------
# Remote overlay lists will be stored here
# layman will append _md5(url).xml to each filename

cache     : %(storage)s/cache

#-----------------------------------------------------------
# The list of locally installed overlays

local_list: %(storage)s/overlays.xml

#-----------------------------------------------------------
# Path to the make.conf file that should be modified by 
# layman

make_conf : %(storage)s/make.conf

#-----------------------------------------------------------
# URLs of the remote lists of overlays (one per line)
#
#overlays  : http://www.gentoo.org/proj/en/overlays/layman-global.txt
#            http://dev.gentoo.org/~wrobel/layman/global-overlays.xml
#            http://mydomain.org/my-layman-list.xml

overlays  : file:///tmp/layhg/overlay.xml

cat overlay.xml 
<?xml version="1.0" ?>
<layman>

 <overlay
    type = "mercurial"
    src  = "http://localhost/"
    contact = "wrobel@gentoo.org"
    name = "hgtest">

   <link>
     http://example.com/
   </link>

   <description>
	Test
   </description>
 </overlay>
</layman>

Run layman:

layman -c layman.cfg -L
* hgtest                    [Mercurial ] (source: http://localhost/            )

layman -c layman.cfg -a hgtest
* Running command "/usr/bin/hg clone "http://localhost//" "/usr/portage/local/test/hgtest""...
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
* Successfully added overlay "hgtest".