buildroot v2011.02-git-00303-ga9eed3f-dirty dhcp.mk: 24 $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server $(TARGET_DIR)/etc/init.d 35 $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay $(TARGET_DIR)/etc/init.d These lines copy file to init.d file, not directory, which breaks other package instalation since it is impossible to copy init scripts to none existent init.d directory. My solution is to add a slash to the end of lines.
After reading install manual, for me it seems you are completely right.
You actually have to use install -D file dest/dir/file, otherwise it will fail if dest/dir doesn't exist (which is the whole point of install -D). Anyway, fixed in git - thanks!