[
https://issues.apache.org/jira/browse/MNG-7498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17555783#comment-17555783
]
Michael Bauer commented on MNG-7498:
------------------------------------
Ordinary rm (with suitable flags) or rmdir (assuming an otherwise empty
directory) will work.
.snapshot behaves oddly for a dot directory. It takes some work to get various
file system tools to see it, but some – which includes at least one Maven
plugin – can. As an example, with all commands run in a file system that's in
volume on the NetApp:
% mkdir foo
% cd foo
% ls -al
total 32
drwx------. 2 mb ceas 4096 Jun 17 19:05 .
drwx------. 51 mb ceas 24576 Jun 17 19:05 ..
Note no directory named '.snapshot'. But:
% cd .snapshot
% ls -al
total 8
drwxrwxrwx. 19 root root 4096 Jun 17 19:05 .
drwx------. 2 mb ceas 4096 Jun 17 19:05 ..
% cd ..
% ls -al
total 32
drwx------. 2 mb ceas 4096 Jun 17 19:05 .
drwx------. 51 mb ceas 24576 Jun 17 19:05 ..
Still no directory named '.snapshot'. Finally:
% rmdir .snapshot
rmdir: failed to remove '.snapshot': Read-only file system
That 'rmdir' would fail even if I was running all this as root. And yet:
% cd ..
% rmdir foo
% ls -d foo
ls: cannot access foo: No such file or directory
Something in Maven is doing extra work to be able to find that directory in the
first place.
> Cannot use Maven to install a project on a NetApp volume
> --------------------------------------------------------
>
> Key: MNG-7498
> URL: https://issues.apache.org/jira/browse/MNG-7498
> Project: Maven
> Issue Type: Bug
> Components: Deployment
> Affects Versions: 3.8.6
> Environment: RHEL 7 with a NetApp file server.
> Reporter: Michael Bauer
> Assignee: Michael Osipov
> Priority: Minor
> Fix For: waiting-for-feedback
>
>
> By default, every directory in a volume that is exported from a Network
> Appliance contains a directory named '.snapshot'. That directory is created
> and maintained by the NetApp. It is read-only; it cannot be deleted or
> altered.
>
> Maven appears to refuse to install into a directory that is not cleaned out,
> and because of the nature of the subdirectory .snapshot it cannot delete that
> subdirectory. Ergo, I get errors like:
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-clean-plugin:3.1.0:clean (clean-target-dir) on
> project apache-maven: Failed to clean project: Failed to delete
> /usr/sup/apache-maven-3.8.6/.snapshot -> [Help 1]
>
> /usr/sup is on a NetApp volume. I did not ask for 'clean' on this install:
>
> % mvn -DdistributionTargetDir='/usr/sup/apache-maven-3.8.6' install
>
> I am a sysadmin, not a developer. My ideal is repeatable builds, so I would
> prefer to have a way to do this that uses released software. End goal: a
> professor wants Hadoop, and Hadoop wants to be installed with a newer version
> of Maven than RHEL 7 provides. If I can't install Maven with Maven, I don't
> expect that installing Hadoop with Maven will work either.
>
> Is there a way to tell Maven to ignore the .snapshot subdirectory in an
> otherwise empty target directory?
--
This message was sent by Atlassian Jira
(v8.20.7#820007)