Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 215675 - chflags: /some/path: Operation not supported if Gentoo/Alt emerges something on a ZFS based prefix
Summary: chflags: /some/path: Operation not supported if Gentoo/Alt emerges something ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: x86 OS X
: High minor (vote)
Assignee: Gentoo non-Linux Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-01 08:33 UTC by Martin Hauser
Modified: 2009-10-19 21:01 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 Martin Hauser 2008-04-01 08:33:23 UTC
A while now (about half a year I think), I've moved my Gentoo prefix directory onto a local ZFS partition. Everything workes fine, but that chflags: /some/path: Operation not supported appears for every file in /var/tmp related to a emerge. It seems to me a rather cosmetic problem as every app emerged since then just works fine... so would just be nice to know what this 'chflags' actually does and then either I could file a bug against the zfs implementation or some other solution could be found, depending on the original problem.



Reproducible: Always

Steps to Reproduce:
1. put your gentoo prefix on the zfs implementation from http://www.macosforge.com
2. emerge something


Actual Results:  
A chflags: /some/dir: Operation not supported for every file in /var/tmp related to the merge. A few example lines from a bzip2 reemerge:

chflags: /Volumes/fourtytwo/Gentoo/var/tmp/portage/app-arch/bzip2-1.0.5-r00.1/image: Operation not supported
chflags: /Volumes/fourtytwo/Gentoo/var/tmp/portage/app-arch/bzip2-1.0.5-r00.1/distdir: Operation not supported
chflags: /Volumes/fourtytwo/Gentoo/var/tmp/portage/app-arch/bzip2-1.0.5-r00.1/temp/bzip2: Operation not supported
chflags: /Volumes/fourtytwo/Gentoo/var/tmp/portage/app-arch/bzip2-1.0.5-r00.1/temp/build.log: Operation not supported


Expected Results:  
no chflags: 

As stated above, I consider this problem rather cosmetic but it would be great is someone found the time explaining to me what chflags is trying to do and what we can do about it.
Comment 1 Fabian Groffen gentoo-dev 2008-04-01 08:40:07 UTC
I've seen this before, darksiide had it on OSX, but I never managed to catch it, as chflags seems to be called somewhere as side-effect of something else, must be deep under the python hood.

I'm using ZFS myself, both directly and over NFS (Solaris server) and have never seen any problems with OSX 10.5, Solaris 10/Sparc, Solaris 10/x86, Solaris 10/x64 and OpenBSD 4.2 (as far as I got there).
Comment 2 Martin Hauser 2008-04-01 08:44:46 UTC
Interesting. Maybe it is then the combination of my prefix directory being symlinked from HFS to ZFS (the directory resides on ZFS but gentoo thinks it's somewhere in ~/Library/ which is only a symlink onto the zfs partition... ? 

Any chance we can trace that? (It's just annoying getting spammed with all that chflags stuff ;-) ). 

Another Idea, can this  be a privileges Issue ? (my user has no admin rights, i have to sudo to mount and unmount zfs for example... ).

Comment 3 Fabian Groffen gentoo-dev 2008-04-01 08:50:52 UTC
I think your symlink is fine, and only causing trouble with gcc.  May even cause more trouble (like bzip2) if path lookups fail, or don't match.  However for the chflags it doesn't matter, since I'm sure it knows it's dealing with ZFS instead of HFS+.

The error indicates a permission problem, or possibly a missing implementation of chflags.  Getting to know what exactly calls chflags would be a great start.  Last time with darksiide, I really put Portage insideout to find it, and I couldn't find it, leading me to the conclusion that it must be a side-effect of something else.
Comment 4 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2008-04-02 15:03:31 UTC
As grobian has mentioned, I too have this issue...

My prefix is on a NFS directory and the chflags command was sometimes also being called on files the never existed! (ie var/tmp/binpkgs/<app>/<cat>/...)

I'll add myself to CC in case you stumble upon anything and want me to look at it as well.
Comment 5 Andreas Nilsson 2008-09-07 18:32:21 UTC
(In reply to comment #4)
> As grobian has mentioned, I too have this issue...
> 
> My prefix is on a NFS directory and the chflags command was sometimes also
> being called on files the never existed! (ie var/tmp/binpkgs/<app>/<cat>/...)
> 
> I'll add myself to CC in case you stumble upon anything and want me to look at
> it as well.
> 

I seem to have run into the same issue. I'm trying out gfbsd7.0 and zfs. For me the emerge fails: This is output from emerge dhcpcd

* checking 11 files for package collisions                                                         
>>> Merging net-misc/dhcpcd-4.0.1 to /                                                             
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/var/lib/dhcpcd: Operation not supported      
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/var/lib: Operation not supported             
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/var: Operation not supported                 
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/sbin/dhcpcd: Operation not supported         
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/sbin: Operation not supported                
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib/dhcpcd/dhcpcd-hooks/50-ntp.conf: Operation not supported                                                                                    
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib/dhcpcd/dhcpcd-hooks/01-test: Operation not supported                                                                                        
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib/dhcpcd/dhcpcd-hooks/10-mtu: Operation not supported                                                                                         
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib/dhcpcd/dhcpcd-hooks/30-hostname: Operation not supported                                                                                    
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib/dhcpcd/dhcpcd-hooks/20-resolv.conf: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib/dhcpcd/dhcpcd-hooks: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib/dhcpcd/dhcpcd-run-hooks: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib/dhcpcd: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/lib: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/etc/dhcpcd.conf: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/etc: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/usr/share/man/man5/dhcpcd.conf.5.bz2: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/usr/share/man/man5: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/usr/share/man/man8/dhcpcd.8.bz2: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/usr/share/man/man8/dhcpcd-run-hooks.8.bz2: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/usr/share/man/man8: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/usr/share/man: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/usr/share: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/usr: Operation not supported
chflags: /var/tmp/portage/net-misc/dhcpcd-4.0.1/image/: Operation not supported
--- /var/
Traceback (most recent call last):
  File "/usr/bin/emerge", line 18, in <module>
    retval = _emerge.emerge_main()
  File "/usr/lib/portage/pym/_emerge/__init__.py", line 9434, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/__init__.py", line 8780, in action_build
    retval = mergetask.merge(pkglist, favorites, mtimedb)
  File "/usr/lib/portage/pym/_emerge/__init__.py", line 5871, in merge
    return self._merge(mylist, favorites, mtimedb)
  File "/usr/lib/portage/pym/_emerge/__init__.py", line 6186, in _merge
    blockers=self._find_blockers(pkg))
  File "/usr/lib/portage/pym/portage/__init__.py", line 5595, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2991, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2999, in _merge
    cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2533, in treewalk
    if self.mergeme(srcroot, destroot, outfile, secondhand, "", cfgfiledict, mymtime):
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2840, in mergeme
    bsd_chflags.lchflags(mydest, dflags)
  File "/usr/lib/portage/pym/portage/__init__.py", line 69, in _lchflags
    return _chflags(path, flags, opts="-h")
  File "/usr/lib/portage/pym/portage/__init__.py", line 67, in _chflags
    raise e
OSError: [Errno 1] chflags: /var: Operation not supported: '/var'
Comment 6 Fabian Groffen gentoo-dev 2009-10-19 21:01:14 UTC
this should be fixed since we don't do chflags trickery any more on prefixed envs