From: Ladislav Michl <ladis@linux-mips.org>
To: ptxdist@pengutronix.de
Subject: [ptxdist] Colons in filenames
Date: Fri, 22 Jan 2016 09:10:50 +0100 [thread overview]
Message-ID: <20160122081050.GA1137@localhost.localdomain> (raw)
In-Reply-To: <20160122071805.GL3338@pengutronix.de>
On Fri, Jan 22, 2016 at 08:18:05AM +0100, Uwe Kleine-König wrote:
> Hello,
>
> On Fri, Jan 22, 2016 at 01:31:37AM +0100, Ladislav Michl wrote:
> > Now I'm going to be honest. Previous patch 'Add usb-modeswitch-data package'
> > break things - 'ptxdist images' fails as ':' is used as delimiter in perms file.
> > Patch bellow escapes semicolon on producer side, anyone cares about consumer?
> >
> > ladis
> >
> > diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh b/scripts/lib/ptxd_make_xpkg_pkg.sh
> > index 5ba404e..8e6664b 100644
> > --- a/scripts/lib/ptxd_make_xpkg_pkg.sh
> > +++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
> > @@ -209,6 +209,7 @@ install directory:
> >
> > install -m "${mod_nfs}" -d "${ndirs[@]/%/${dir}}" &&
> > install -m "${mod}" -o "${usr}" -g "${grp}" -d "${pdirs[@]/%/${dir}}" &&
> > + dir="$(echo ${dir} | sed -e 's/[:]/\\:/g')" &&
>
> why do you need the brackets? Doesn't s/:/\\:/g have the same effect?
Yes, it is the same and I probably shouldn't do anything at late night.
> As this is a bash script I assume you might save a few forks by using:
>
> ${dir//:/\\:}
>
> (untested) instead.
Tested, patch bellow.
> > echo "f:${dir}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}" ||
> > ptxd_install_error "install_dir failed!"
> > @@ -343,6 +344,9 @@ Usually, just remove the 6th parameter and everything works fine.
> > # now change to requested user and group
> > chown "${usr}:${grp}" "${pdirs[@]/%/${dst}}" &&
> >
> > + # escape semicolon
>
> semicolon?
Oops, your right. Colon, actually.
So this fixes .perms files and now what about the other side? So far we have two concurent
implementations of 'make images'. Fix both, or drop one, fix another?
diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh b/scripts/lib/ptxd_make_xpkg_pkg.sh
index 5ba404e..630e085 100644
--- a/scripts/lib/ptxd_make_xpkg_pkg.sh
+++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
@@ -210,7 +210,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 "f:${dir//:/\\:}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}" ||
ptxd_install_error "install_dir failed!"
}
export -f ptxd_install_dir
@@ -343,7 +343,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 "f:${dst//:/\\:}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}"
}
export -f ptxd_install_file_impl
@@ -413,8 +413,9 @@ install device node:
mknod -m "${mod}" "${d}" "${type}" ${major} ${minor} || return
done &&
chown "${usr}:${grp}" "${pdirs[@]/%/${dst}}" &&
+ dst="$(echo ${dst} | sed -e 's/[:]/\\:/g')" &&
- echo "n:${dst}:${usr}:${grp}:${mod}:${type}:${major}:${minor}" >> "${pkg_xpkg_perms}"
+ echo "n:${dst//:/\\:}:${usr}:${grp}:${mod}:${type}:${major}:${minor}" >> "${pkg_xpkg_perms}"
}
export -f ptxd_install_mknod
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2016-01-22 8:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-22 0:31 [ptxdist] Semicolon " Ladislav Michl
2016-01-22 7:18 ` Uwe Kleine-König
2016-01-22 8:10 ` Ladislav Michl [this message]
2016-01-22 8:06 ` Michael Olbrich
2016-02-03 22:05 ` [ptxdist] [RFC] Colons " Ladislav Michl
2016-02-10 17:23 ` Michael Olbrich
2016-07-13 10:24 ` Ladislav Michl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160122081050.GA1137@localhost.localdomain \
--to=ladis@linux-mips.org \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox