Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 611122 - app-portage/layman-2.4.2 -d does not fully delete overlay
Summary: app-portage/layman-2.4.2 -d does not fully delete overlay
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Layman Overlay Manager project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-27 17:02 UTC by Davyd McColl
Modified: 2017-02-28 18:37 UTC (History)
0 users

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


Attachments
layman config (layman.cfg,9.14 KB, text/plain)
2017-02-28 04:41 UTC, Davyd McColl
Details
make.conf (make.conf,920 bytes, text/plain)
2017-02-28 04:42 UTC, Davyd McColl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Davyd McColl 2017-02-27 17:02:41 UTC
After adding an overlay with `layman -a {overlay}` and finding that I no longer need it, I've tried deleting the overlay with `layman -d {overlay}`. Mostly this works, but every emerge operation after this issues a warning:

!!! Invalid PORTDIR_OVERLAY (not a dir): '/var/lib/layman/{overlay}'

This is the second time I've encountered this and apparently I'm not alone: https://forums.gentoo.org/viewtopic-t-1035094-start-0.html

The problem is that the overlay is still referenced in /var/lib/layman/make.conf. The workaround is to manually remove the /var/lib/layman/{overlay} line from /var/lib/layman/make.conf, but it would be neat if layman could do this as part of the -d operation

Reproducible: Always

Steps to Reproduce:
1. Add an overlay with `layman -a {overlay}`
2. Delete the overlay with `layman -d {overlay}`
3. Perform any emerge operation and have the warning "!!! Invalid PORTDIR_OVERLAY (not a dir): '/var/lib/layman/{overlay}'" issued every time.
Actual Results:  
I receive the warning "!!! Invalid PORTDIR_OVERLAY (not a dir): '/var/lib/layman/{overlay}'"

Expected Results:  
I should not receive the warning "!!! Invalid PORTDIR_OVERLAY (not a dir): '/var/lib/layman/{overlay}'" as the overlay has been removed from my system.

Layman should remove the overlay dir from /var/lib/layman/make.conf as part of the -d operation
Comment 1 Brian Dolbec (RETIRED) gentoo-dev 2017-02-28 01:14:56 UTC
Layman has always deleted the make.conf entry.  If it didn't then it seems there is a regression.

Please include your layman.cfg file as well as your /etc/portage/make.conf.
attachments are fine.
Comment 2 Brian Dolbec (RETIRED) gentoo-dev 2017-02-28 01:15:29 UTC
plus your emerge --info please
Comment 3 Davyd McColl 2017-02-28 04:41:40 UTC
Created attachment 465456 [details]
layman config
Comment 4 Davyd McColl 2017-02-28 04:42:01 UTC
Created attachment 465458 [details]
make.conf
Comment 5 Davyd McColl 2017-02-28 04:42:31 UTC
emerge --info:

Portage 2.3.3 (python 2.7.12-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-4.9.4, glibc-2.23-r3, 4.9.6-gentoo-r1 x86_64)
=================================================================
System uname: Linux-4.9.6-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.3
KiB Mem:    16360784 total,    127216 free
KiB Swap:    4194300 total,   4150540 free
Timestamp of repository gentoo: Mon, 27 Feb 2017 04:30:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.3_rc4::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.23.2::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.4::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

bobwya
    location: /var/lib/layman/bobwya
    masters: gentoo
    priority: 50

cg
    location: /var/lib/layman/cg
    masters: gentoo
    priority: 50

dotnet
    location: /var/lib/layman/dotnet
    masters: gentoo
    priority: 50

jorgicio
    location: /var/lib/layman/jorgicio
    masters: gentoo
    priority: 50

soehest
    location: /var/lib/layman/soehest
    masters: gentoo
    priority: 50

steam-overlay
    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.swin.edu.au/gentoo http://gd.tuwien.ac.at/opsys/linux/gentoo/"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j7"
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="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif glamor gpm gtk iconv ipv6 jpeg kde kipi kwallet lcms ldap libnotify mad mng modules mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds qml qt3support qt4 qt5 readline sdl seccomp semantic-desktop session spell ssl startup-notification svg tcpd threads tiff truetype udev udisks unicode upower usb vorbis widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid zlib" ABI_X86="64 32" 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="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2 mmxext sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 6 Brian Dolbec (RETIRED) gentoo-dev 2017-02-28 05:08:06 UTC
OK, it looks like you have a faulty configuration as I suspected.  (why I asked for all the configs)

Your layman.cfg is set to use repos.conf style portage configs, so that is what layman is updating.  But you did not remove the source /var/lib/layman line from /etc/portage/make.conf.

So, as a result, portage is getting both config entries, and as a result, it still was told that the overlay you deleted was suppose to be there.

Remove the source... line and you can even delete the /var/lib/layman/make.conf file after you confirm everything is operating correctly with only the /etc/portage/repos.conf/layman.conf file.
Comment 7 Davyd McColl 2017-02-28 18:37:11 UTC
Thanks for getting back to me with details on what was going wrong and a proper fix for the problem. I'm relatively new to gentoo (only a few months now, vs the preceding 16 years in Debian land).

When I was first trying to get overlays working, I think I may have muddled the instructions at https://wiki.gentoo.org/wiki/Project:Overlays/Old_User_Guide (clearly marked as historical, but I guess I missed that) with https://wiki.gentoo.org/wiki/Overlay.

It would be neat if layman could warn about the discrepancy -- my environment has basically been broken from the get-go and layman was happily adding to /var/lib/layman/make.conf in addition to the repos.conf area, but attempting to delete an overlay resulted in the odd behavior. IOW, it appears that when the legacy /var/lib/layman/make.conf exists, layman appears to register new overlays there in addition to the repos.conf/layman.conf file, but when removing, only the newer-style entry (repos.conf/layman.conf) is cleaned up, leading to the confusion of this (and the linked) user ):

I guess it would be a nice-to-have -- it's not really a bug (:

Thanks again for the advice.