Skip to content

Cache broken with symlinks #180

@NikolausDemmel

Description

@NikolausDemmel

I have the following recipe:

class ZenocamUdevRules < FPM::Cookery::DirRecipe
  description 'udev rules for the ZenoCam'

  name     'zenocam-udev-rules'
  version  '1.0.0'
  revision '0'
  arch     'all'

  section   "non-free"
  maintainer "Nikolaus Demmel <[email protected]>"

 
  source File.join("#{Dir.pwd}/rules.d/"),
    :with => 'directory'
  
  def build
  end

  def install
    etc('udev/rules.d').install Dir['*']
  end
end

First build is fine, but if cache exists:

$ fpm-cook
===> Starting package creation for zenocam-udev-rules-1.0.0 (ubuntu, deb)
===> 
===> Verifying build_depends and depends with Puppet
===> All build_depends and depends packages installed
===> Fetching source: 
===> Copying /home/den2pal/work/fpm/fpm-recipes-zenocam/zenocam-udev-rules/rules.d/. to cache
/home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1374:in `symlink': File exists @ sys_fail2 - (/dev/null, /home/den2pal/work/fpm/fpm-recipes-zenocam/zenocam-udev-rules/cache/./75-persistent-net-generator.rules) (Errno::EEXIST)
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1374:in `copy'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:469:in `block in copy_entry'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1500:in `call'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1500:in `wrap_traverse'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1503:in `block in wrap_traverse'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1502:in `each'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1502:in `wrap_traverse'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:466:in `copy_entry'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:441:in `block in cp_r'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1573:in `block in fu_each_src_dest'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1587:in `fu_each_src_dest0'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:1571:in `fu_each_src_dest'
	from /home/den2pal/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/fileutils.rb:440:in `cp_r'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/source_handler/directory.rb:21:in `fetch'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/packager.rb:86:in `block in dispense'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/packager.rb:83:in `chdir'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/packager.rb:83:in `dispense'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/cli.rb:113:in `exec'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/cli.rb:77:in `block in execute'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/book.rb:16:in `call'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/book.rb:16:in `load_recipe'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/lib/fpm/cookery/cli.rb:73:in `execute'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/clamp-1.0.0/lib/clamp/command.rb:68:in `run'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/clamp-1.0.0/lib/clamp/subcommand/execution.rb:11:in `execute'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/clamp-1.0.0/lib/clamp/command.rb:68:in `run'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/clamp-1.0.0/lib/clamp/command.rb:133:in `run'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/gems/fpm-cookery-0.32.0/bin/fpm-cook:7:in `<top (required)>'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/bin/fpm-cook:23:in `load'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/bin/fpm-cook:23:in `<main>'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
	from /home/den2pal/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'

Obvious workaround is deleting the cache before each build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions