printf "%0${retlen}x" "$ret"
}
+data_2bin() {
+ local data=$1
+ local len=${#1}
+ local bin_data
+
+ for i in $(seq 0 2 $(($len - 1))); do
+ bin_data="${bin_data}\x${data:i:2}"
+ done
+
+ echo -ne $bin_data
+}
+
+data_2xor_val() {
+ local data=$1
+ local len=${#1}
+ local xor_data
+
+ for i in $(seq 0 4 $(($len - 1))); do
+ xor_data="${xor_data}${data:i:4} "
+ done
+
+ echo -n ${xor_data:0:-1}
+}
+
append() {
local var="$1"
local value="$2"
eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\""
}
+prepend() {
+ local var="$1"
+ local value="$2"
+ local sep="${3:- }"
+
+ eval "export ${NO_EXPORT:+-n} -- \"$var=\$value\${$var:+\${sep}\${$var}}\""
+}
+
list_contains() {
local var="$1"
local str="$2"
add_group_and_user "${pkgname}"
- if [ -f "$root/usr/lib/opkg/info/${pkgname}.postinst-pkg" ]; then
- ( . "$root/usr/lib/opkg/info/${pkgname}.postinst-pkg" )
- ret=$?
- fi
-
if [ -d "$root/rootfs-overlay" ]; then
cp -R $root/rootfs-overlay/. $root/
rm -fR $root/rootfs-overlay/
rm -f /tmp/luci-indexcache
fi
+ if [ -f "$root/usr/lib/opkg/info/${pkgname}.postinst-pkg" ]; then
+ ( . "$root/usr/lib/opkg/info/${pkgname}.postinst-pkg" )
+ ret=$?
+ fi
+
local shell="$(command -v bash)"
for i in $(grep -s "^/etc/init.d/" "$root$filelist"); do
if [ -n "$root" ]; then
done
}
+ipcalc() {
+ set -- $(ipcalc.sh "$@")
+ [ $? -eq 0 ] && export -- "$@"
+}
+
find_mtd_index() {
local PART="$(grep "\"$1\"" /proc/mtd | awk -F: '{print $1}')"
local INDEX="${PART##mtd}"
}
find_mmc_part() {
- local DEVNAME PARTNAME
+ local DEVNAME PARTNAME ROOTDEV
if grep -q "$1" /proc/mtd; then
echo "" && return 0
fi
- for DEVNAME in /sys/block/mmcblk*/mmcblk*p*; do
+ if [ -n "$2" ]; then
+ ROOTDEV="$2"
+ else
+ ROOTDEV="mmcblk*"
+ fi
+
+ for DEVNAME in /sys/block/$ROOTDEV/mmcblk*p*; do
PARTNAME="$(grep PARTNAME ${DEVNAME}/uevent | cut -f2 -d'=')"
[ "$PARTNAME" = "$1" ] && echo "/dev/$(basename $DEVNAME)" && return 0
done
echo "$grp" | grep -q ":$" && delim=""
[ -n "$IPKG_INSTROOT" ] || lock /var/lock/passwd
sed -i "s/$grp/$grp$delim$2/g" ${IPKG_INSTROOT}/etc/group
+ if [ -z "$IPKG_INSTROOT" ] && [ -x /usr/sbin/selinuxenabled ] && selinuxenabled; then
+ restorecon /etc/group
+ fi
[ -n "$IPKG_INSTROOT" ] || lock -u /var/lock/passwd
}