Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 822120 - emerge --sync: rsync: opendir failed: Permission denied
Summary: emerge --sync: rsync: opendir failed: Permission denied
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-06 15:12 UTC by Alex Efros
Modified: 2021-11-07 12:09 UTC (History)
1 user (show)

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 Alex Efros 2021-11-06 15:12:32 UTC
While running `emerge --sync` I get several errors:

rsync: opendir "/dev-perl/Date-Range" (in gentoo-portage) failed: Permission denied (13)
rsync: opendir "/dev-perl/HTML-Selector-XPath" (in gentoo-portage) failed: Permission denied (13)
rsync: opendir "/dev-perl/HTML-TreeBuilder-XPath" (in gentoo-portage) failed: Permission denied (13)
rsync: opendir "/dev-perl/Spreadsheet-XLSX" (in gentoo-portage) failed: Permission denied (13)
rsync: opendir "/dev-perl/Web-Scraper" (in gentoo-portage) failed: Permission denied (13)

All mentioned directories are not exist. Parent directory permissions looks good:

$ ls -ld /usr /usr/portage /usr/portage/dev-perl 
drwxr-xr-x   16 root    root     4096 Jan 28  2020 /usr
drwxrwxr-x  174 portage portage  4096 Nov  6 14:03 /usr/portage
drwxr-xr-x 1701 portage portage 69632 Oct 24 12:39 /usr/portage/dev-perl




Portage 3.0.20 (python 3.9.7-final-0, default/linux/amd64/17.1/hardened, gcc-11.2.0, glibc-2.33-r1, 5.10.61-gentoo x86_64)
=================================================================
System uname: Linux-5.10.61-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_X5680_@_3.33GHz-with-glibc2.33
KiB Mem:    16399512 total,   3323092 free
KiB Swap:    4194300 total,   3388224 free
Head commit of repository gentoo: b97f5d43ab441a8ab1eed8193419bdd6f7eb6292
sh bash 5.1_p8
ld GNU ld (Gentoo 2.37_p1 p0) 2.37
app-shells/bash:          5.1_p8::gentoo
dev-lang/perl:            5.34.0-r3::gentoo
dev-lang/python:          3.9.7_p1::gentoo
dev-lang/rust:            1.53.0::gentoo
dev-util/cmake:           3.20.5::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/sandbox:         2.25::gentoo
sys-devel/autoconf:       2.71-r1::gentoo
sys-devel/automake:       1.16.4::gentoo
sys-devel/binutils:       2.37_p1::gentoo
sys-devel/gcc:            11.2.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33-r1::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.nl.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts: 
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes

local
    location: /usr/local/portage
    masters: gentoo
    priority: 0

powerman
    location: /var/lib/layman/powerman
    sync-type: laymansync
    sync-uri: https://github.com/powerman/powerman-overlay.git
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /service /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /var/log /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage-distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --autounmask --autounmask-write --alert=y"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://mirrors.aliyun.com/gentoo/ http://mirrors.gethosted.online/gentoo http://gentoo.mirrors.ovh.net/gentoo-distfiles/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en"
MAKEOPTS="-j20"
PKGDIR="/usr/portage-packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl aes amd64 bash-completion bzip2 caps cli crypt cups dcron gdbm gif gpg hardened iconv icu idn ipv6 jpeg jpeg2k libglvnd libtirpc mmx mmxext multilib ncurses network-cron nls nptl openmp pam pclmul pcre perl pie png popcnt readline seccomp spell split-usr sse sse2 sse3 sse4_1 sse4_2 ssl ssp ssse3 svg tcpd tiff truetype udev unicode vim-syntax xattr xtpax zlib" ABI_X86="64" ADA_TARGET="gnat_2019" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="log_config vhost_alias autoindex alias rewrite dir deflate filter mime negotiation auth_basic authn_file authz_host authz_user authz_groupfile cgi actions headers env setenvif authn_core authz_core unixd socache_shmcb access_compat" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_ip_hash userid uwsgi addition fancyindex" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 1 Jonas Stein gentoo-dev 2021-11-06 21:13:00 UTC
It is sad to read that you have problems with the software. The situation seems to be a bit more complicate and requires some analysis.
We can not help you efficiently via bug tracker. The bug tracker aims rather on specific problems in .ebuilds and less on individual systems. 

I have had very good experience on the gentoo IRC [1] with questions like this. Of course there are also forums and mailing lists [2,3].
I hope you understand, that I will close the bug here therefore and wish you good luck on one of the mentioned channels [4].
Please reopen the ticket in order to provide an indication for an specific error in an ebuild or any gentoo related product.

[1] https://www.gentoo.org/get-involved/irc-channels/
[2] https://forums.gentoo.org/
[3] https://www.gentoo.org/get-involved/mailing-lists/all-lists.html
[4] https://www.gentoo.org/support/
Comment 2 Alex Efros 2021-11-07 04:58:48 UTC
I've noticed there is permission difference, but it's in /usr/portage/.tmp-unverified-download-quarantine. Problem is these directories are created by rsync itself:

Before running `emerge --sync`:

# ls -al /usr/portage/.tmp-unverified-download-quarantine
total 220                                                                                           
drwxrwxr-x  37 portage portage  4096 Nov  7 04:47 .           
drwxrwxr-x 175 portage portage  4096 Nov  7 04:44 ..      
drwxr-xr-x 408 portage portage 12288 Nov  7 04:45 acct-user
drwxr-xr-x   5 portage portage  4096 Nov  7 04:45 app-antivirus
drwxr-xr-x  52 portage portage  4096 Nov  7 04:45 app-backup
drwxr-xr-x 218 portage portage  4096 Nov  7 04:45 app-emacs      
drwxr-xr-x  29 portage portage  4096 Sep 25 08:06 app-forensics
drwxr-xr-x 295 portage portage 12288 Nov  7 04:45 app-misc 
drwxr-xr-x  14 portage portage  4096 Nov  7 04:45 app-mobilephone
drwxr-xr-x 194 portage portage  4096 Nov  7 04:45 app-vim 
drwxr-xr-x  69 portage portage  4096 Nov  7 04:45 dev-cpp    
drwxr-xr-x  21 portage portage  4096 Nov  7 04:45 dev-lisp 
drwxr-xr-x 235 portage portage 12288 Nov  7 04:45 dev-php                                          
drwxr-xr-x 332 portage portage 20480 Nov  7 04:47 dev-ruby
drwxr-xr-x  34 portage portage  4096 Nov  7 04:46 dev-scheme
drwxr-xr-x  64 portage portage  4096 Nov  7 04:46 games-board
drwxr-xr-x  22 portage portage  4096 Oct 18 12:00 games-engines
drwxr-xr-x  32 portage portage  4096 Nov  7 04:46 gnome-base
drwxr-xr-x  11 portage portage  4096 Sep 13 08:55 gnustep-base
drwxr-xr-x 229 portage portage 12288 Nov  7 04:46 kde-apps
drwxr-xr-x  82 portage portage  4096 Nov  7 04:46 kde-frameworks
drwxr-xr-x   2 portage portage 20480 Sep 22 16:23 licenses
drwxr-xr-x  14 portage portage  4096 Nov  7 04:46 mate-base
drwxr-xr-x  24 portage portage  4096 Nov  7 04:46 media-tv
drwxr-xr-x 158 portage portage  4096 Nov  7 04:46 media-video
drwxr-xr-x  28 portage portage  4096 Nov  7 04:46 net-firewall
drwxr-xr-x  10 portage portage  4096 Oct 23 19:34 net-nntp
drwxr-xr-x  45 portage portage  4096 Nov  7 04:46 net-p2p
drwxr-xr-x  30 portage portage  4096 Nov  7 04:46 perl-core
drwxr-xr-x  13 portage portage  4096 Nov  7 04:46 profiles
drwxr-xr-x  54 portage portage  4096 Nov  7 04:46 sci-electronics
drwxr-xr-x 294 portage portage 12288 Nov  7 04:46 sys-apps
drwxr-xr-x  31 portage portage  4096 Nov  7 04:46 sys-power
drwxr-xr-x 172 portage portage  4096 Nov  7 04:46 virtual
drwxr-xr-x  74 portage portage  4096 Nov  7 04:46 www-apps
drwxr-xr-x   8 portage portage  4096 Nov  7 04:46 www-plugins
drwxr-xr-x  15 portage portage  4096 Nov  7 04:46 xfce-base
#

As you see, there is no dev-perl/ at all.

While executing `emerge --sync`:

# ls -ld /usr/portage/.tmp-unverified-download-quarantine/dev-per
l/Date-*                                                                                            
drwxr-xr-x 2 portage portage 4096 Sep 13 08:55 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Date-Calc
drwxr-xr-x 2 portage portage 4096 Oct 23 19:34 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Date-Extract
drwxr-xr-x 3 portage portage 4096 Sep 13 08:55 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Date-ICal
drwxr-xr-x 2 portage portage 4096 Sep 13 08:55 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Date-Leapyear
drwxr-xr-x 2 portage portage 4096 Sep 13 08:55 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Date-Manip
drwxr-xr-x 3 portage portage 4096 Sep 13 08:55 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Date-Pcalc
drwx------ 2 portage portage 4096 Nov  7 02:44 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Date-Range
drwxr-xr-x 2 portage portage 4096 Nov  7 04:45 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Date-Simple
# ls -ld /usr/portage/.tmp-unverified-download-quarantine/dev-per
l/Spreadsheet-*
drwxr-xr-x 2 portage portage 4096 Sep 13 08:55 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Spreadsheet-ParseExcel
drwxr-xr-x 2 portage portage 4096 Oct 23 19:34 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Spreadsheet-WriteExcel
drwx------ 2 portage portage 4096 Nov  7 02:45 /usr/portage/.tmp-unverified-download-quarantine/dev-perl/Spreadsheet-XLSX

Still, rsync runs as portage:portage so it should have access to directories with 0700 perms.
Comment 3 Alex Efros 2021-11-07 12:09:48 UTC
I've fixed this by replacing /etc/portage/repos.conf/gentoo.conf with version from another server.

Broken:


[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.nl.gentoo.org/gentoo-portage


Working:


[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-keyserver = hkps://keys.gentoo.org
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4
sync-webrsync-verify-signature = yes