There are spaces in the file names, so it sees something like "Ut Video"
and xargs parses it as meaning "Ut" and "Video". Easiest way to fix
it
is probably to change the paths to be null-terminated, by adding -print0
to the find and -0 to the xargs, like so:
find %{buildroot} -type f -print0 | grep -vP
"mlt/avformat|libmltavformat.so" | xargs -0 rm
Hope that helps; xargs isn't something I know especially well, just
enough to be dangerous.
On 29/11/2018 14:12, Martin Gansser wrote:
Hi,
want to compile new mlt-freeworld-6.12.0 [1], but it fails in the %install section
...
%install
%make_install
#before remove it print it to check with main mlt package
find %{buildroot} | grep -vP "mlt/avformat|libmltavformat.so"
# remove all execept avformat (ffmpeg part)
find %{buildroot} -type f | grep -vP "mlt/avformat|libmltavformat.so" | xargs
rm
find %{buildroot} -type l -delete
find %{buildroot} -type d -empty -delete
..
The error message is:
+ find /home/martin/rpmbuild/BUILDROOT/mlt-freeworld-6.12.0-1.fc29.x86_64 -type f
+ xargs rm
+ grep -vP 'mlt/avformat|libmltavformat.so'
rm: cannot remove
'/home/martin/rpmbuild/BUILDROOT/mlt-freeworld-6.12.0-1.fc29.x86_64/usr/share/mlt/presets/consumer/avformat/lossless/Ut':
No such file or directory
rm: cannot remove 'Video': No such file or directory
rm: cannot remove
'/home/martin/rpmbuild/BUILDROOT/mlt-freeworld-6.12.0-1.fc29.x86_64/usr/share/mlt/presets/consumer/avformat/alpha/Quicktime':
No such file or directory
rm: cannot remove 'Animation': No such file or directory
rm: cannot remove
'/home/martin/rpmbuild/BUILDROOT/mlt-freeworld-6.12.0-1.fc29.x86_64/usr/share/mlt/presets/consumer/avformat/alpha/Ut':
No such file or directory
rm: cannot remove 'Video': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.KGk9Ye (%install)
[1]
https://martinkg.fedorapeople.org/Packages/test/mlt-freeworld.spec
Thanks
Martin
--
J. Randall Owens |
http://www.GhiaPet.net/