summaryrefslogtreecommitdiff
path: root/parabolaiso
diff options
context:
space:
mode:
Diffstat (limited to 'parabolaiso')
-rw-r--r--parabolaiso/initcpio/hooks/parabolaiso15
-rw-r--r--parabolaiso/initcpio/install/parabolaiso6
-rwxr-xr-xparabolaiso/mkparabolaiso4
3 files changed, 22 insertions, 3 deletions
diff --git a/parabolaiso/initcpio/hooks/parabolaiso b/parabolaiso/initcpio/hooks/parabolaiso
index 8f532c3..daac88b 100644
--- a/parabolaiso/initcpio/hooks/parabolaiso
+++ b/parabolaiso/initcpio/hooks/parabolaiso
@@ -69,10 +69,23 @@ _mnt_sfs() {
# defined via initcpio's parse_cmdline()
if [ "${copytoram}" = "y" ]; then
msg -n ":: Copying squashfs image to RAM..."
- if ! cp -- "${img}" "/run/parabolaiso/copytoram/${img_fullname}" ; then
+
+ # in case we have pv use it to display copy progress feedback otherwise
+ # fallback to using plain cp
+ if command -v pv > /dev/null 2>&1; then
+ echo ""
+ (pv "${img}" > "/run/parabolaiso/copytoram/${img_fullname}")
+ local rc=$?
+ else
+ (cp -- "${img}" "/run/parabolaiso/copytoram/${img_fullname}")
+ local rc=$?
+ fi
+
+ if [ $rc != 0 ]; then
echo "ERROR: while copy '${img}' to '/run/parabolaiso/copytoram/${img_fullname}'"
launch_interactive_shell
fi
+
img="/run/parabolaiso/copytoram/${img_fullname}"
msg "done."
fi
diff --git a/parabolaiso/initcpio/install/parabolaiso b/parabolaiso/initcpio/install/parabolaiso
index 1e3b3b6..21af5b8 100644
--- a/parabolaiso/initcpio/install/parabolaiso
+++ b/parabolaiso/initcpio/install/parabolaiso
@@ -19,6 +19,12 @@ build() {
add_binary gpg
add_binary grep
+ if command -v pv > /dev/null 2>&1; then
+ add_binary pv
+ else
+ warning 'pv not found; falling back to cp for copy to RAM'
+ fi
+
add_file /usr/lib/udev/rules.d/60-cdrom_id.rules
add_file /usr/lib/udev/rules.d/10-dm.rules
add_file /usr/lib/udev/rules.d/95-dm-notify.rules
diff --git a/parabolaiso/mkparabolaiso b/parabolaiso/mkparabolaiso
index db49ba7..0fa0f04 100755
--- a/parabolaiso/mkparabolaiso
+++ b/parabolaiso/mkparabolaiso
@@ -261,9 +261,9 @@ _mksignature() {
# Helper function to run functions only one time.
_run_once() {
- if [[ ! -e "${work_dir}/${run_once_mode}.${1}" ]]; then
+ if [[ ! -e "${work_dir}/${run_once_mode}.${1}.${arch}" ]]; then
"$1"
- touch "${work_dir}/${run_once_mode}.${1}_${arch}"
+ touch "${work_dir}/${run_once_mode}.${1}.${arch}"
fi
}