Change separator to allow ':' in filenames.
Signed-off-by: Ladislav Michl <[email protected]>
---
rules/post/image_cpio.make | 2 +-
rules/post/image_ext2.make | 2 +-
rules/post/image_jffs2.make | 2 +-
rules/post/image_squashfs.make | 2 +-
rules/post/image_tgz.make | 6 +++---
rules/post/image_ubi.make | 2 +-
rules/post/ptxd_make_image_common.make | 2 +-
scripts/lib/ptxd_lib_dopermissions.awk | 2 +-
scripts/lib/ptxd_make_image_fix_permissions.sh | 4 ++--
scripts/lib/ptxd_make_xpkg_pkg.sh | 9 ++++++---
10 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/rules/post/image_cpio.make b/rules/post/image_cpio.make
index 573faee..200b283 100644
--- a/rules/post/image_cpio.make
+++ b/rules/post/image_cpio.make
@@ -15,7 +15,7 @@ $(IMAGEDIR)/root.cpio: $(STATEDIR)/image_working_dir
@echo -n "Creating '$(notdir $(@))' from working dir..."
@cd $(image/work_dir) && \
( \
- awk -F: $(DOPERMISSIONS) $(image/permissions) && \
+ awk $(DOPERMISSIONS) $(image/permissions) && \
echo "find . | cpio --quiet -H newc -o > '$(@)'" \
) | $(FAKEROOT) --
@echo "done."
diff --git a/rules/post/image_ext2.make b/rules/post/image_ext2.make
index 3e3423b..0dbcafd 100644
--- a/rules/post/image_ext2.make
+++ b/rules/post/image_ext2.make
@@ -15,7 +15,7 @@ ifdef PTXCONF_IMAGE_EXT2
$(IMAGEDIR)/root.ext2: $(STATEDIR)/image_working_dir
@echo -n "Creating root.ext2 from working dir..."
@cd $(image/work_dir); \
- (awk -F: $(DOPERMISSIONS) $(image/permissions) && \
+ (awk $(DOPERMISSIONS) $(image/permissions) && \
( \
echo -n "$(PTXCONF_SYSROOT_HOST)/bin/genext2fs "; \
echo -n "-b $(PTXCONF_IMAGE_EXT2_SIZE) "; \
diff --git a/rules/post/image_jffs2.make b/rules/post/image_jffs2.make
index 5e448f5..7f12883 100644
--- a/rules/post/image_jffs2.make
+++ b/rules/post/image_jffs2.make
@@ -17,7 +17,7 @@ $(IMAGEDIR)/root.jffs2: $(STATEDIR)/image_working_dir
$(STATEDIR)/host-mtd-utils
@echo -n "(--eraseblock=$(PTXCONF_IMAGE_JFFS2_BLOCKSIZE) "
@echo "$(call remove_quotes,$(PTXCONF_IMAGE_JFFS2_EXTRA_ARGS)))"
@cd $(image/work_dir); \
- (awk -F: $(DOPERMISSIONS) $(image/permissions) && \
+ (awk $(DOPERMISSIONS) $(image/permissions) && \
( \
echo -n "$(PTXCONF_SYSROOT_HOST)/sbin/mkfs.jffs2 "; \
echo -n "-d $(image/work_dir) "; \
diff --git a/rules/post/image_squashfs.make b/rules/post/image_squashfs.make
index 6d02255..69dc721 100644
--- a/rules/post/image_squashfs.make
+++ b/rules/post/image_squashfs.make
@@ -19,7 +19,7 @@ ifdef PTXCONF_IMAGE_SQUASHFS
$(IMAGEDIR)/root.squashfs: $(STATEDIR)/image_working_dir
$(STATEDIR)/host-squashfs-tools.install.post
@echo -n "Creating root.squashfs from working dir..."
@cd $(image/work_dir);
\
- (awk -F: $(DOPERMISSIONS) $(image/permissions) && \
+ (awk $(DOPERMISSIONS) $(image/permissions) && \
( \
echo -n "$(PTXCONF_SYSROOT_HOST)/sbin/mksquashfs "; \
echo -n "$(image/work_dir) ";
\
diff --git a/rules/post/image_tgz.make b/rules/post/image_tgz.make
index 57f69f4..bace4da 100644
--- a/rules/post/image_tgz.make
+++ b/rules/post/image_tgz.make
@@ -18,10 +18,10 @@ endif
$(IMAGEDIR)/root.tgz: $(STATEDIR)/image_working_dir
@echo -n 'Creating root.tgz from working dir$(if $(IMAGE_TGZ_LABEL),
with label "$(IMAGE_TGZ_LABEL)",)... '
- @cd $(image/work_dir);
\
- (awk -F: $(DOPERMISSIONS) $(image/permissions) && \
+ @cd $(image/work_dir); \
+ (awk $(DOPERMISSIONS) $(image/permissions) && \
( echo -n "tar ${IMAGE_TGZ_LABEL_ARGS} -zcf "; \
- echo -n "$@ ." ) \
+ echo -n "$@ ." ) \
) | $(FAKEROOT) --
@echo "done."
endif
diff --git a/rules/post/image_ubi.make b/rules/post/image_ubi.make
index edfae1d..17321dc 100644
--- a/rules/post/image_ubi.make
+++ b/rules/post/image_ubi.make
@@ -22,7 +22,7 @@ $(IMAGEDIR)/root.ubifs: $(STATEDIR)/image_working_dir
$(STATEDIR)/host-mtd-utils
@echo -n "-e $(PTXCONF_IMAGE_UBIFS_LEB_SIZE) -c
$(PTXCONF_IMAGE_UBIFS_ROOT_MAX_LEB_COUNT) "
@echo -n "$(PTXCONF_IMAGE_UBIFS_EXTRA_ARGS))"
@cd $(image/work_dir);
\
- (awk -F: $(DOPERMISSIONS) $(image/permissions) &&
\
+ (awk $(DOPERMISSIONS) $(image/permissions) &&
\
(
\
echo -n "$(PTXCONF_SYSROOT_HOST)/sbin/mkfs.ubifs ";
\
echo -n "-d $(image/work_dir) ";
\
diff --git a/rules/post/ptxd_make_image_common.make
b/rules/post/ptxd_make_image_common.make
index 7ccb501..0f274bf 100644
--- a/rules/post/ptxd_make_image_common.make
+++ b/rules/post/ptxd_make_image_common.make
@@ -8,7 +8,7 @@
# see the README file.
#
-DOPERMISSIONS := '{ \
+DOPERMISSIONS := '{ FS = "\x1F"; \
if ($$1 == "f") \
printf("chmod %s \".%s\"; chown %s.%s \".%s\";\n", $$5, $$2,
$$3, $$4, $$2); \
if ($$1 == "n") \
diff --git a/scripts/lib/ptxd_lib_dopermissions.awk
b/scripts/lib/ptxd_lib_dopermissions.awk
index 336948c..3596121 100755
--- a/scripts/lib/ptxd_lib_dopermissions.awk
+++ b/scripts/lib/ptxd_lib_dopermissions.awk
@@ -1,7 +1,7 @@
#!/usr/bin/awk -f
BEGIN {
- FS = ":";
+ FS = "\x1F";
}
$1 ~ "f" {
diff --git a/scripts/lib/ptxd_make_image_fix_permissions.sh
b/scripts/lib/ptxd_make_image_fix_permissions.sh
index eae2ab3..bc4b4b9 100644
--- a/scripts/lib/ptxd_make_image_fix_permissions.sh
+++ b/scripts/lib/ptxd_make_image_fix_permissions.sh
@@ -32,10 +32,10 @@ export -f ptxd_make_image_fix_permissions_generate
ptxd_make_image_fix_permissions_check() {
local workdir="${1}"
local ifs_orig="${IFS}"
- IFS=":"
+ IFS="\x1F"
# just care about dev-nodes, for now
- egrep -h "^[n]:" "${ptxd_reply_perm_files[@]}" |
+ egrep -h "^[n]${IFS}" "${ptxd_reply_perm_files[@]}" |
while read kind file uid_should gid_should prm_should type major_should
minor_should; do
local fixup=false
file="${workdir}/${file#/}"
diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh
b/scripts/lib/ptxd_make_xpkg_pkg.sh
index ba9094b..b1de2fd 100644
--- a/scripts/lib/ptxd_make_xpkg_pkg.sh
+++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
@@ -191,6 +191,7 @@ ptxd_install_setup_src() {
export -f ptxd_install_setup_src
ptxd_install_dir() {
+ local sep="\x1F"
local dir="$1"
local usr="$2"
local grp="$3"
@@ -210,7 +211,7 @@ install directory:
install -m "${mod_nfs}" -d "${ndirs[@]/%/${dir}}" &&
install -m "${mod}" -o "${usr}" -g "${grp}" -d "${pdirs[@]/%/${dir}}" &&
- echo "f:${dir}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}" ||
+ echo -e "f${sep}${dir}${sep}${usr}${sep}${grp}${sep}${mod}" >>
"${pkg_xpkg_perms}" ||
ptxd_install_error "install_dir failed!"
}
export -f ptxd_install_dir
@@ -285,6 +286,7 @@ export -f ptxd_install_file_strip
ptxd_install_file_impl() {
+ local sep="\x1F"
local src="$1"
local dst="$2"
local usr="$3"
@@ -350,7 +352,7 @@ Usually, just remove the 6th parameter and everything works
fine.
# now change to requested user and group
chown "${usr}:${grp}" "${pdirs[@]/%/${dst}}" &&
- echo "f:${dst}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}"
+ echo -e "f${sep}${dst}${sep}${usr}${sep}${grp}${sep}${mod}" >>
"${pkg_xpkg_perms}"
}
export -f ptxd_install_file_impl
@@ -392,6 +394,7 @@ install link:
export -f ptxd_install_ln
ptxd_install_mknod() {
+ local sep="\x1F"
local dst="$1"
local usr="$2"
local grp="$3"
@@ -421,7 +424,7 @@ install device node:
done &&
chown "${usr}:${grp}" "${pdirs[@]/%/${dst}}" &&
- echo "n:${dst}:${usr}:${grp}:${mod}:${type}:${major}:${minor}" >>
"${pkg_xpkg_perms}"
+ echo -e
"n${sep}${dst}${sep}${usr}${sep}${grp}${sep}${mod}${sep}${type}${sep}${major}${sep}${minor}"
>> "${pkg_xpkg_perms}"
}
export -f ptxd_install_mknod
--
2.1.4
_______________________________________________
ptxdist mailing list
[email protected]