build: allow file modes per binary package
Currently the global variable PKG_FILE_MODES is used for all ipkg creations. This works for Makefiles which output a single package, or variants of a single package. But if a Makefile outputs multiple packages that each contain different files, setting PKG_FILE_MODES causes build failure when any of the files in the variable do not exist in the folder that is currently being packaged. Example: /openwrt/staging_dir/host/bin/fakeroot -l /openwrt/staging_dir/host/lib/libfakeroot.so -f /openwrt/staging_dir/host/bin/faked /openwrt/scripts/ipkg-build -m "/usr/lib/mariadb/plugin/auth_pam_tool_dir:root:376:0750" /openwrt/build_dir/target-mips_24kc_musl/mariadb-10.4.13/ipkg-mips_24kc/mariadb-server-plugin-disks /openwrt/bin/packages/mips_24kc/packages +chown: cannot access '/openwrt/build_dir/target-mips_24kc_musl/mariadb-10.4.13/ipkg-mips_24kc/mariadb-server-plugin-disks//usr/lib/mariadb/plugin/auth_pam_tool_dir': No such file or directory This commit changes the file mode handling a bit. The file mode can now be set either globally via PKG_FILE_MODES (no behavior change) or on a per-package basis via FILE_MODES. This way specific file modes can be used for any particular package. This behavior is already used for other OpenWrt variables, hence it is familiar: PKG_MAINTAINER vs MAINTAINER PKG_SOURCE_SUBDIR vs SUBDIR PKG_LICENSE vs LICENSE ... Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
		
				
					committed by
					
						
						Daniel Golle
					
				
			
			
				
	
			
			
			
						parent
						
							2dda301d40
						
					
				
				
					commit
					f58d323534
				
			@@ -59,6 +59,7 @@ define Package/Default
 | 
				
			|||||||
  ALTERNATIVES:=
 | 
					  ALTERNATIVES:=
 | 
				
			||||||
  LICENSE:=$(PKG_LICENSE)
 | 
					  LICENSE:=$(PKG_LICENSE)
 | 
				
			||||||
  LICENSE_FILES:=$(PKG_LICENSE_FILES)
 | 
					  LICENSE_FILES:=$(PKG_LICENSE_FILES)
 | 
				
			||||||
 | 
					  FILE_MODES:=$(PKG_FILE_MODES)
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Build/Patch:=$(Build/Patch/Default)
 | 
					Build/Patch:=$(Build/Patch/Default)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -260,7 +260,7 @@ $(_endef)
 | 
				
			|||||||
    endif
 | 
					    endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	$(INSTALL_DIR) $$(PDIR_$(1))
 | 
						$(INSTALL_DIR) $$(PDIR_$(1))
 | 
				
			||||||
	$(FAKEROOT) $(SCRIPT_DIR)/ipkg-build -m "$(PKG_FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1))
 | 
						$(FAKEROOT) $(SCRIPT_DIR)/ipkg-build -m "$(FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1))
 | 
				
			||||||
	@[ -f $$(IPKG_$(1)) ]
 | 
						@[ -f $$(IPKG_$(1)) ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $(1)-clean:
 | 
					    $(1)-clean:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user