IBT-FMI / NeuroGentooProject

1 stars 0 forks source link

cannot install buildserver #10

Closed TheChymera closed 6 years ago

TheChymera commented 6 years ago

In order to adress #9 (and generally going forward) it would be best to install the builder package (possibly separated from the rest of the repo and renamed to something more unambiguous than buildserver in the future) system-wide on any builder instance. In fact provision of this package would define a machine as a buildserver instance. Anyway, our ./install.sh script seems to not work, tough the ebuild is there and looks fine to me. Any ideas?

builder ~/NeuroGentooProject/BuildServer/.gentoo # ./install.sh 
Installing ebuild /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/buildserver/buildserver-99999.ebuild
!!! Repository 'x--gentoo' is missing masters attribute in '/root/NeuroGentooProject/BuildServer/.gentoo/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
/usr/lib/portage/python3.5/ebuild.sh: line 620: /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/buildserver/buildserver-99999.ebuild: Permission denied
 * ERROR: app-misc/buildserver-99999::x--gentoo failed (depend phase):
 *   error sourcing ebuild
 * 
 * Call stack:
 *   ebuild.sh, line 620:  Called die
 * The specific snippet of code:
 *              source "$EBUILD" || die "error sourcing ebuild"
 * 
 * If you need support, post the output of `emerge --info '=app-misc/buildserver-99999::x--gentoo'`,
 * the complete build log and the output of `emerge -pqv '=app-misc/buildserver-99999::x--gentoo'`.
 * Working directory: '/usr/lib64/python3.5/site-packages'
 * S: '/var/tmp/portage/app-misc/buildserver-99999/work/buildserver-99999'
!!! Repository 'x--gentoo' is missing masters attribute in '/root/NeuroGentooProject/BuildServer/.gentoo/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
WARNING: One or more repositories have missing repo_name entries:

    /root/NeuroGentooProject/BuildServer/.gentoo/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.

*** emerging by path is broken and may not always work!!!

 * IMPORTANT: 10 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

Calculating dependencies |/usr/lib/portage/python3.5/ebuild.sh: line 620: /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/buildserver/buildserver-99999.ebuild: Permission denied
 * ERROR: app-misc/buildserver-99999::x--gentoo failed (depend phase):
 *   error sourcing ebuild
 * 
 * Call stack:
 *   ebuild.sh, line 620:  Called die
 * The specific snippet of code:
 \ *            source "$EBUILD" || die "error sourcing ebuild"
 * 
 * If you need support, post the output of `emerge --info '=app-misc/buildserver-99999::x--gentoo'`,
 * the complete build log and the output of `emerge -pqv '=app-misc/buildserver-99999::x--gentoo'`.
 * Working directory: '/usr/lib64/python3.5/site-packages'
 * S: '/var/tmp/portage/app-misc/buildserver-99999/work/buildserver-99999'

*** You are emerging a masked package. It is MUCH better to use
*** /etc/portage/package.* to accomplish this. See portage(5) man
*** page for details.
>>> Waiting 10 seconds before starting...
>>> (Control-C to abort)...
Continuing... in: 10 9 8 7 6 5 4 3 2 1
... done!
Traceback (most recent call last):
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 6850, in _pkg
    metadata = zip(db_keys, db.aux_get(cpv, db_keys, myrepo=myrepo))
  File "/usr/lib64/python3.5/site-packages/portage/dbapi/porttree.py", line 620, in aux_get
    raise PortageKeyError(mycpv)
portage.exception.PortageKeyError: 'app-misc/buildserver-99999'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.5/emerge", line 50, in <module>
    retval = emerge_main()
  File "/usr/lib64/python3.5/site-packages/_emerge/main.py", line 1251, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/python3.5/site-packages/_emerge/actions.py", line 3297, in run_action
    retval = action_build(emerge_config, spinner=spinner)
  File "/usr/lib64/python3.5/site-packages/_emerge/actions.py", line 339, in action_build
    settings, trees, myopts, myparams, myaction, myfiles, spinner)
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 9605, in backtrack_depgraph
    myaction, myfiles, spinner)
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 9642, in _backtrack_depgraph
    success, favorites = mydepgraph.select_files(myfiles)
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 3817, in select_files
    return self._select_files(args)
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 3919, in _select_files
    os.path.dirname(os.path.dirname(os.path.dirname(ebuild_path)))))
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 6852, in _pkg
    raise portage.exception.PackageNotFound(cpv)
portage.exception.PackageNotFound: app-misc/buildserver-99999
builder ~/NeuroGentooProject/BuildServer/.gentoo # cat app-misc/buildserver/buildserver-99999.ebuild 
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

DESCRIPTION="A collection of shell scripts to build Gentoo images"
HOMEPAGE=""
SRC_URI=""

LICENSE="GPLv3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

DEPEND="
    sys-kernel/dracut
    >=app-shells/bash-4.2
    sys-apps/util-linux
    sys-fs/duperemove
    sys-apps/portage
    net-misc/rsync
"
RDEPEND="${DEPEND}"

src_unpack() {
    mkdir "$S"
    cp -r -L "$DOTGENTOO_PACKAGE_ROOT/"{exec.sh,config,doc,example_hooks,scripts,tests,utils,tests.sh} -t "$S"
}

src_install() {
    insinto /usr/share/buildserver
    doins -r utils config
    cat >buildserver <<-EOF
#!/bin/sh

exec /usr/share/buildserver/exec.sh "$@"
EOF
    dobin buildserver
    insopts "-m0755"
    doins -r exec.sh scripts
}
TheChymera commented 6 years ago

creating an appropriate /root/NeuroGentooProject/BuildServer/.gentoo/profiles/repo_name file also did nothing except make portage shut up about it.

TheChymera commented 6 years ago

also, changing the file permissions does nothing:

builder ~/NeuroGentooProject/BuildServer/.gentoo # chmod 777 app-misc/buildserver/buildserver-99999.ebuild 
builder ~/NeuroGentooProject/BuildServer/.gentoo # ./install.sh 
Installing ebuild /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/buildserver/buildserver-99999.ebuild
!!! Repository 'x--gentoo' is missing masters attribute in '/root/NeuroGentooProject/BuildServer/.gentoo/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
/usr/lib/portage/python3.5/ebuild.sh: line 620: /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/buildserver/buildserver-99999.ebuild: Permission denied
 * ERROR: app-misc/buildserver-99999::x--gentoo failed (depend phase):
 *   error sourcing ebuild
 * 
 * Call stack:
 *   ebuild.sh, line 620:  Called die
 * The specific snippet of code:
 *              source "$EBUILD" || die "error sourcing ebuild"
 * 
 * If you need support, post the output of `emerge --info '=app-misc/buildserver-99999::x--gentoo'`,
 * the complete build log and the output of `emerge -pqv '=app-misc/buildserver-99999::x--gentoo'`.
 * Working directory: '/usr/lib64/python3.5/site-packages'
 * S: '/var/tmp/portage/app-misc/buildserver-99999/work/buildserver-99999'
!!! Repository 'x--gentoo' is missing masters attribute in '/root/NeuroGentooProject/BuildServer/.gentoo/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
WARNING: One or more repositories have missing repo_name entries:

    /root/NeuroGentooProject/BuildServer/.gentoo/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.

*** emerging by path is broken and may not always work!!!

 * IMPORTANT: 10 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

Calculating dependencies //usr/lib/portage/python3.5/ebuild.sh: line 620: /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/buildserver/buildserver-99999.ebuild: Permission denied
 * ERROR: app-misc/buildserver-99999::x--gentoo failed (depend phase):
 *   error sourcing ebuild
 * 
 * Call stack:
 *   ebuild.sh, line 620:  Called die
 * The specific snippet of code:
 *              source "$EBUILD" || die "error sourcing ebuild"
 * 
 * If you need support, post the output of `emerge --info '=app-misc/buildserver-99999::x--gentoo'`,
 * the complete build log and the output of `emerge -pqv '=app-misc/buildserver-99999::x--gentoo'`.
 * Working directory: '/usr/lib64/python3.5/site-packages'
 * S: '/var/tmp/portage/app-misc/buildserver-99999/work/buildserver-99999'
 \
*** You are emerging a masked package. It is MUCH better to use
*** /etc/portage/package.* to accomplish this. See portage(5) man
*** page for details.
>>> Waiting 10 seconds before starting...
>>> (Control-C to abort)...
Continuing... in: 10 9 8 7 6 5 4 3 2 1
... done!
Traceback (most recent call last):
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 6850, in _pkg
    metadata = zip(db_keys, db.aux_get(cpv, db_keys, myrepo=myrepo))
  File "/usr/lib64/python3.5/site-packages/portage/dbapi/porttree.py", line 620, in aux_get
    raise PortageKeyError(mycpv)
portage.exception.PortageKeyError: 'app-misc/buildserver-99999'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.5/emerge", line 50, in <module>
    retval = emerge_main()
  File "/usr/lib64/python3.5/site-packages/_emerge/main.py", line 1251, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/python3.5/site-packages/_emerge/actions.py", line 3297, in run_action
    retval = action_build(emerge_config, spinner=spinner)
  File "/usr/lib64/python3.5/site-packages/_emerge/actions.py", line 339, in action_build
    settings, trees, myopts, myparams, myaction, myfiles, spinner)
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 9605, in backtrack_depgraph
    myaction, myfiles, spinner)
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 9642, in _backtrack_depgraph
    success, favorites = mydepgraph.select_files(myfiles)
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 3817, in select_files
    return self._select_files(args)
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 3919, in _select_files
    os.path.dirname(os.path.dirname(os.path.dirname(ebuild_path)))))
  File "/usr/lib64/python3.5/site-packages/_emerge/depgraph.py", line 6852, in _pkg
    raise portage.exception.PackageNotFound(cpv)
portage.exception.PackageNotFound: app-misc/buildserver-99999
builder ~/NeuroGentooProject/BuildServer/.gentoo # ls -lah app-misc/buildserver/buildserver-99999.ebuild 
-rwxrwxrwx 1 root root 767 Jan  9 12:46 app-misc/buildserver/buildserver-99999.ebuild
Doeme commented 6 years ago

Tried making the full path readable to anybody?

Interesting that this problem shows up only now (maybe special umask used by the root user?), probably caused by portage dropping privileges to portage:portage at some point.

TheChymera commented 6 years ago

Tried making the full path readable to anybody?

What exactly do you mean? I made the entire path readable to all, and it still fails with the aforementioned Permission denied error:

builder ~/NeuroGentooProject/BuildServer/.gentoo # ls -lah /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/buildserver/buildserver-99999.ebuild
-rw-r--r-- 1 root root 767 Jan  9 12:46 /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/buildserver/buildserver-99999.ebuild
builder ~/NeuroGentooProject/BuildServer/.gentoo # ls -lah /root/NeuroGentooProject/BuildServer/.gentoo/app-misc/                                    
total 0
drwxr-xr-x 1 root root 22 Jan  9 12:46 .
drwxr-xr-x 1 root root 36 Jan 16 14:31 ..
drwxr-xr-x 1 root root 64 Jan  9 12:46 buildserver
builder ~/NeuroGentooProject/BuildServer/.gentoo # ls -lah /root/NeuroGentooProject/BuildServer/.gentoo        
total 4.0K
drwxr-xr-x 1 root root  36 Jan 16 14:31 .
drwxr-xr-x 1 root root 142 Jan  9 12:47 ..
drwxr-xr-x 1 root root  22 Jan  9 12:46 app-misc
-rwxr-xr-x 1 root root 323 Jan  9 12:46 install.sh
builder ~/NeuroGentooProject/BuildServer/.gentoo # ls -lah /root/NeuroGentooProject/BuildServer        
total 8.0K
drwxr-xr-x 1 root root 142 Jan  9 12:47 .
drwxr-xr-x 1 root root 158 Jan  9 12:46 ..
drwxr-xr-x 1 root root  36 Jan 16 14:31 .gentoo
drwxr-xr-x 1 root root 112 Jan  9 15:04 cache
drwxr-xr-x 1 root root  52 Jan  9 12:46 config
drwxr-xr-x 1 root root  28 Jan  9 12:46 doc
drwxr-xr-x 1 root root  74 Jan  9 12:46 example_hooks
-rwxr-xr-x 1 root root 648 Jan  9 12:46 exec.sh
drwxr-xr-x 1 root root  20 Jan  9 12:47 roots
drwxr-xr-x 1 root root  98 Jan  9 12:46 scripts
drwxr-xr-x 1 root root  50 Jan  9 12:46 tests
-rwxr-xr-x 1 root root 256 Jan  9 12:46 tests.sh
drwxr-xr-x 1 root root 182 Jan  9 12:46 utils
builder ~/NeuroGentooProject/BuildServer/.gentoo # ls -lah /root/NeuroGentooProject            
total 0
drwxr-xr-x 1 root root 158 Jan  9 12:46 .
drw-r--r-- 1 root root 166 Jan 12 14:28 ..
drwxr-xr-x 1 root root 160 Jan  9 13:12 .git
drwxr-xr-x 1 root root  24 Jan  9 12:46 BLAS_Lapack
drwxr-xr-x 1 root root 142 Jan  9 12:47 BuildServer
drwxr-xr-x 1 root root  16 Jan  9 12:46 Euler
drwxr-xr-x 1 root root  68 Jan  9 12:46 ExampleProject
drwxr-xr-x 1 root root  52 Jan  9 12:46 SharedPrefix
drwxr-xr-x 1 root root 502 Jan  9 12:46 doc
drwxr-xr-x 1 root root 134 Jan  9 12:46 openstack_imagetest
builder ~/NeuroGentooProject/BuildServer/.gentoo # ls -lah /root                   
total 28K
drw-r--r-- 1 root root  166 Jan 12 14:28 .
drwxr-xr-x 1 root root  136 Jan 11 15:39 ..
-rw------- 1 root root 8.5K Jan 12 18:11 .bash_history
drwxr-xr-x 1 root root   80 Jan 12 14:28 .glanceclient
-rw-r--r-- 1 root root    0 Nov 30 01:33 .keep
drwx------ 1 root root   52 Jan  9 12:46 .ssh
drwxr-xr-x 1 root root   54 Dec 22 17:40 .subversion
drwxr-xr-x 1 root root  158 Jan  9 12:46 NeuroGentooProject
drwxr-xr-x 1 root root  158 Dec 22 19:26 _NeuroGentooProject
builder ~/NeuroGentooProject/BuildServer/.gentoo # ls -lah /    
total 36K
drwxr-xr-x   1 root root  136 Jan 11 15:39 .
drwxr-xr-x   1 root root  136 Jan 11 15:39 ..
drwxr-xr-x   1 root root 1.1K Dec 22 17:36 bin
drwxr-xr-x   1 root root  446 Jan 11 15:00 boot
drwxr-xr-x   8 root root  13K Jan 12 16:07 dev
drwxr-xr-x   1 root root 1.7K Jan 16 14:34 etc
drwxr-xr-x   1 root root   22 Dec 22 19:21 home
lrwxrwxrwx   1 root root    5 Dec 19 16:40 lib -> lib64
drwxr-xr-x   1 root root 1.2K Dec 19 16:40 lib32
drwxr-xr-x   1 root root 3.6K Dec 22 19:47 lib64
drwxr-xr-x   1 root root   10 Nov 30 01:33 media
drwxr-xr-x   1 root root   10 Nov 30 01:33 mnt
drwxr-xr-x   1 root root   10 Nov 30 01:33 opt
dr-xr-xr-x 134 root root    0 Jan 11 15:38 proc
drw-r--r--   1 root root  166 Jan 12 14:28 root
drwxr-xr-x  12 root root  400 Jan 11 15:39 run
drwxr-xr-x   1 root root 2.3K Jan 11 15:54 sbin
dr-xr-xr-x  13 root root    0 Jan 11 15:38 sys
drwxrwxrwt   1 root root   36 Jan 17 13:20 tmp
drwxr-xr-x   1 root root  152 Dec  5 13:56 usr
drwxr-xr-x   1 root root   82 Dec 22 17:03 var
Doeme commented 6 years ago
drw-r--r--   1 root root  166 Jan 12 14:28 root

There is a +x missing there...