CentOS 7: Want a functional loggerhead

Kevin R. Bulgrien kevin.bulgrien at freedomcte.com
Wed Sep 9 23:00:13 UTC 2015


> -----Original Message-----
> From: bazaar-bounces at lists.canonical.com 
> [mailto:bazaar-bounces at lists.canonical.com] On Behalf Of Kevin R. Bulgrien
> Sent: Wednesday, September 09, 2015 5:32 PM
> To: bazaar at lists.canonical.com
> Subject: CentOS 7: Want a functional loggerhead
>
> Having used bzr and loggerhead successfully on a very old server, and as
> I have started to use CentOS 7 (because of its long-term support), I am
> interested in getting bzr / loggerhead functionality on that platform.
>
> I have a CentOS release 6.6 (Final) server at home, so I can compare and
> contrast there as needed.  An example of what follows:
>
>   $ cd ~/bzr && bzr checkout bzr+ssh://some.where/some.path/bzr/blah blah
>   $ cat /etc/redhat-release && serve-branches ~/bzr/blah
>   CentOS release 6.6 (Final)
>   DEBUG:paste.httpserver.ThreadPool:Started new worker -1220355216: Initial
> worker pool
>   <snip />
>   serving on 0.0.0.0:8080 view at http://127.0.0.1:8080
>   <snip />
>
>   $ lynx http://localhost:8080/
>
> I can browse the checkout with logger head using lynx.  For reference, I see
> server logs as shown here:
>
>   $ cat serve-branches.log
>   2015-09-09 14:10:56,190 INFO     loggerhead: 127.0.0.1 - -
> [09/Sep/2015:14:10:55 -0500] "GET / HTTP/1.0" 301 - "-" "Lynx/2.8.6rel.5
> libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.0.0-fips"
>   2015-09-09 14:10:58,429 INFO     loggerhead.blah: built revision graph
> cache:
> 0.010983943939208984 secs
>   2015-09-09 14:10:58,523 INFO     loggerhead.blah: Getting information for
> ChangeLogUI: 0.23343706130981445 secs
>   2015-09-09 14:10:58,524 INFO     loggerhead: 127.0.0.1 - -
> [09/Sep/2015:14:10:58 -0500] "GET /changes HTTP/1.0" 200 - "-"
> "Lynx/2.8.6rel.5
> libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.0.0-fips"
>   2015-09-09 14:10:58,895 INFO     loggerhead.blah: Rendering ChangeLogUI:
> 0.24676394462585449 secs, 8215 bytes
>
> This works fine on CentOS 6 / EPEL 6 packages:

That is to say that the above worked fine.  Loggerhead served the checkout
just fine and the lynx session browsed it as expected.  I'm using the lynx
browser just to keep the test on localhost to eliminate complication.  I
don't have a graphical desktop on the server.  The CentOS 6 / EPEL 6
packages installed on the functional CentOS 6 box are:

>   $ rpm -qa | egrep "(^bzr)|(loggerhead)"
>   bzrtools-2.1.0-1.el6.i686
>   bzr-2.1.1-2.el6.i686
>   loggerhead-1.18.1-1.el6.noarch
>
> CentOS 7 / EPEL 7 has some bzr packages, so I loaded them:
>
>   $ cat /etc/redhat-release && rpm -qa | egrep "(^bzr)|(loggerhead)"
>   CentOS Linux release 7.1.1503 (Core)
>   bzrtools-2.5-5.el7.x86_64
>   bzr-doc-2.5.1-14.el7.x86_64
>   bzr-2.5.1-14.el7.x86_64
>
> All packages except bzrtools are from CentOS 7.  bzrtools is from EPEL.
> Neither EPEL 7 nor CentOS 7 package loggerhead.  As I tend to like to
> Build RPMs so they are easily redeployed on multiple similar systems, I
> chose to take a package-based approach in solving the problem.
>
> The first inclination I had was to obtain the CentOS 6 loggerhead SRPM and
> rebuild it on the CentOS 7 system.  This was a bit more of a challenge than
> anticipated: that loggerhead SRPM needs python-simpletal and python-sqlite2
> not supplied by CentOS 7 or EPEL 7.  SRPMs from CentOS 6/EPEL 6 were found
> and build, but yield no success.  That said, serve-branches appeared
> somewhat functional except that browsing to the localhost URL gave a 404
> error.  Eventually I found that this old CentOS 6 loggerhead package was
> built in a way that precluded it from being used with bzr 2.5.1 as
> .bzr.log contained a clue:
>
>   0.116  Unable to load plugin 'loggerhead'. It requested API version (2, 3,
> 0)
> of module <module 'bzrlib' from
> '/usr/lib64/python2.7/site-packages/bzrlib/__init__.pyc'> but the minimum
> exported version is (2, 4, 0), and the maximum is (2, 5, 1)
>
> I went though some other machinations to get things working, but decided
> to cut to the chase and just try to make loggerhead from a launchpad
> tarball.  Packages not from CentOS or EPEL are no longer installed.
>
>   $ python setup.py install --prefix=/a/local/path

Yeah, I did some editing and got caught, so here's more of the beef:

loggerhead-1.18.1.tar.gz was obtained from Launchpad, unpacked and
installed as follows.  I didn't want to do the python setup.py
dance with sudo or root.

    $ python setup.py install --prefix=/home/app
    $ echo $PYTHONPATH
    /home/app/lib/python2.7/site-packages

>   $ cat /etc/redhat-release && /home/app/bin/serve-branches ~/bzr/blah
>   CentOS Linux release 7.1.1503 (Core)
>   DEBUG:paste.httpserver.ThreadPool:Started new worker 139704170727168:
> Initial
> worker pool
>   <snip />
>   serving on 0.0.0.0:8080 view at http://127.0.0.1:8080
>
>   $ lynx http://localhost:8080/
>   Alert!: HTTP/1.0 404 Not Found
>
>   $ cat serve-branches.log
>   2015-09-09 17:15:25,908 INFO     loggerhead: 127.0.0.1 - -
> [09/Sep/2015:17:15:25 -0500] "GET / HTTP/1.0" 404 - "-" "Lynx/2.8.8dev.15
> libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.0.1e-fips"
>
> Note the absence of the additional log entries related to repository
> browsing.
>
> The ~/.bzr.log does not have anything for this timeframe.
>
> I have changed /etc/sysconfig/selinux to set permissive mode instead of
> enforcing mode as part of trying to get things working, though I did
> have any evidence that it is part of the problem.
>
> Could someone offer some pointers as to how I might try to get
> loggerhead functional on CentOS 7?  I haven't found any search
> engine silver bullets yet.
>
> ---
> Kevin R. Bulgrien

Kevin R. Bulgrien






More information about the bazaar mailing list