summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/libsqlfs.changes3
-rw-r--r--packaging/sqlfs-setup21
2 files changed, 17 insertions, 7 deletions
diff --git a/packaging/libsqlfs.changes b/packaging/libsqlfs.changes
index d9cfc46..26eda2f 100644
--- a/packaging/libsqlfs.changes
+++ b/packaging/libsqlfs.changes
@@ -1,3 +1,6 @@
+* Wed Jul 18 2012 Chengwei Yang <chengwei.yang@intel.com> HEAD
+- Chmod for kdb/db files because cp on IA doesn't preserve priviliges
+
* Fri Jul 06 2012 Patrick McCarty <patrick.mccarty@linux.intel.com> 2cbd8f0
- Fix directory permissions of sqlfs mount point after mounting
diff --git a/packaging/sqlfs-setup b/packaging/sqlfs-setup
index dfd8cad..5fbae20 100644
--- a/packaging/sqlfs-setup
+++ b/packaging/sqlfs-setup
@@ -7,13 +7,20 @@
# mount it here, and then unmount and exit.
#
+# export path here in case systemd runs this without PATH being set.
+export PATH=/bin:/usr/bin
+
if [ -f /opt/var/kdb/kdb_first_boot ]; then
- /bin/mv /opt/var/kdb/db /opt/var/kdb/db_tmp
- /bin/mkdir -p /opt/var/kdb/db
- /usr/bin/libsqlfs_mount -s -o nonempty -o default_permissions -o allow_other /opt/var/kdb/db
- /usr/bin/sqlfs_txn_cmd /opt/var/kdb/db "/bin/chmod 1777 /opt/var/kdb/db"
- /usr/bin/sqlfs_txn_cmd /opt/var/kdb/db "/bin/cp -a /opt/var/kdb/db_tmp/* /opt/var/kdb/db/"
- /bin/rm -rf /opt/var/kdb/db_tmp /opt/var/kdb/kdb_first_boot
- /bin/umount /opt/var/kdb/db
+ mv /opt/var/kdb/db /opt/var/kdb/db_tmp
+ mkdir -p /opt/var/kdb/db
+ libsqlfs_mount -s -o nonempty -o default_permissions -o allow_other /opt/var/kdb/db
+ sqlfs_txn_cmd /opt/var/kdb/db "chmod 1777 /opt/var/kdb/db"
+ sqlfs_txn_cmd /opt/var/kdb/db "cp -a /opt/var/kdb/db_tmp/* /opt/var/kdb/db/"
+ for i in `find /opt/var/kdb/db_tmp/`; do
+ f=`echo $i | sed "s|/opt/var/kdb/db_tmp|/opt/var/kdb/db|"`
+ chmod --reference="$i" "$f"
+ done
+ rm -rf /opt/var/kdb/db_tmp /opt/var/kdb/kdb_first_boot
+ umount /opt/var/kdb/db
fi