mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-10 15:45:15 -04:00
sys-boot/ventoy-bin: new package
Signed-off-by: Vitaly Zdanevich <zdanevich.vitaly@ya.ru>
This commit is contained in:
1
sys-boot/ventoy-bin/Manifest
Normal file
1
sys-boot/ventoy-bin/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST ventoy-1.0.97-linux.tar.gz 19964906 BLAKE2B c1f7235838ed5fe55028424dd160d4322b8fe96f99404149cf3c25f00afe06dd9d35970f6cbd2b8f04432e8380b412495eae18b2f02a24d0003c63a644be6315 SHA512 af6d4a0c3c06009de3fd55377656d678ab037cc0b808421269551891502de32605ed3e17012395aa6ed58ca9c74bd52b19ed7fe43eda39a78b2c42cca1cd9b5f
|
||||
163
sys-boot/ventoy-bin/files/sanitize.patch
Normal file
163
sys-boot/ventoy-bin/files/sanitize.patch
Normal file
@@ -0,0 +1,163 @@
|
||||
Author: DuckSoft <realducksoft@gmail.com>
|
||||
|
||||
I just cannot stand such a dirty package.
|
||||
Let me do some optimisations.
|
||||
|
||||
If you are interested to improve this patch, welcome to mail me.
|
||||
|
||||
diff -rup old/tool/ventoy_lib.sh new/tool/ventoy_lib.sh
|
||||
--- tool/ventoy_lib.sh 2021-12-02 16:59:42.148650182 +0100
|
||||
+++ tool/ventoy_lib.sh 2021-12-02 17:01:17.214720518 +0100
|
||||
@@ -29,7 +29,7 @@ vterr() {
|
||||
}
|
||||
|
||||
vtdebug() {
|
||||
- echo "$*" >> ./log.txt
|
||||
+ echo "$*" >>/var/log/ventoy.log
|
||||
}
|
||||
|
||||
vtoy_gen_uuid() {
|
||||
@@ -52,30 +52,6 @@ vtoy_gen_uuid() {
|
||||
|
||||
check_tool_work_ok() {
|
||||
|
||||
- if echo 1 | hexdump > /dev/null; then
|
||||
- vtdebug "hexdump test ok ..."
|
||||
- else
|
||||
- vtdebug "hexdump test fail ..."
|
||||
- ventoy_false
|
||||
- return
|
||||
- fi
|
||||
-
|
||||
- if mkexfatfs -V > /dev/null; then
|
||||
- vtdebug "mkexfatfs test ok ..."
|
||||
- else
|
||||
- vtdebug "mkexfatfs test fail ..."
|
||||
- ventoy_false
|
||||
- return
|
||||
- fi
|
||||
-
|
||||
- if vtoycli fat -T; then
|
||||
- vtdebug "vtoycli fat test ok ..."
|
||||
- else
|
||||
- vtdebug "vtoycli fat test fail ..."
|
||||
- ventoy_false
|
||||
- return
|
||||
- fi
|
||||
-
|
||||
vtdebug "tool check success ..."
|
||||
ventoy_true
|
||||
}
|
||||
@@ -311,7 +287,7 @@ format_ventoy_disk_mbr() {
|
||||
else
|
||||
vtdebug "format disk by fdisk ..."
|
||||
|
||||
-fdisk $DISK >>./log.txt 2>&1 <<EOF
|
||||
+fdisk $DISK >>/var/log/ventoy.log 2>&1 <<EOF
|
||||
o
|
||||
n
|
||||
p
|
||||
diff -rup old/tool/VentoyWorker.sh new/tool/VentoyWorker.sh
|
||||
--- tool/VentoyWorker.sh 2021-12-02 16:59:31.485642239 +0100
|
||||
+++ tool/VentoyWorker.sh 2021-12-02 17:02:00.326752183 +0100
|
||||
@@ -105,7 +105,7 @@ vtdebug "MODE=$MODE FORCE=$FORCE RESERVE
|
||||
if check_tool_work_ok; then
|
||||
vtdebug "check tool work ok"
|
||||
else
|
||||
- vterr "Some tools can not run on current system. Please check log.txt for details."
|
||||
+ vterr "Some tools can not run on current system. Please check /var/log/ventoy.log for details."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
diff -rup old/Ventoy2Disk.sh new/Ventoy2Disk.sh
|
||||
--- Ventoy2Disk.sh 2021-12-02 16:59:05.205622608 +0100
|
||||
+++ Ventoy2Disk.sh 2021-12-02 17:03:29.037816991 +0100
|
||||
@@ -32,48 +32,4 @@ echo " https://www.ventoy.net"
|
||||
echo '**********************************************'
|
||||
echo ''
|
||||
|
||||
-
|
||||
-if ! [ -f ./boot/boot.img ]; then
|
||||
- if [ -d ./grub ]; then
|
||||
- echo "Don't run Ventoy2Disk.sh here, please download the released install package, and run the script in it."
|
||||
- else
|
||||
- echo "Please run under the correct directory!"
|
||||
- fi
|
||||
- exit 1
|
||||
-fi
|
||||
-
|
||||
-echo "############# Ventoy2Disk $* [$TOOLDIR] ################" >> ./log.txt
|
||||
-date >> ./log.txt
|
||||
-
|
||||
-#decompress tool
|
||||
-echo "decompress tools" >> ./log.txt
|
||||
-cd ./tool/$TOOLDIR
|
||||
-
|
||||
-ls *.xz > /dev/null 2>&1
|
||||
-if [ $? -eq 0 ]; then
|
||||
- [ -f ./xzcat ] && chmod +x ./xzcat
|
||||
-
|
||||
- for file in $(ls *.xz); do
|
||||
- echo "decompress $file" >> ./log.txt
|
||||
- xzcat $file > ${file%.xz}
|
||||
- [ -f ./${file%.xz} ] && chmod +x ./${file%.xz}
|
||||
- [ -f ./$file ] && rm -f ./$file
|
||||
- done
|
||||
-fi
|
||||
-
|
||||
-cd ../../
|
||||
-chmod +x -R ./tool/$TOOLDIR
|
||||
-
|
||||
-
|
||||
-if [ -f /bin/bash ]; then
|
||||
- /bin/bash ./tool/VentoyWorker.sh $*
|
||||
-else
|
||||
- ash ./tool/VentoyWorker.sh $*
|
||||
-fi
|
||||
-
|
||||
-if [ -n "$OLDDIR" ]; then
|
||||
- CURDIR=$(pwd)
|
||||
- if [ "$CURDIR" != "$OLDDIR" ]; then
|
||||
- cd "$OLDDIR"
|
||||
- fi
|
||||
-fi
|
||||
+./tool/VentoyWorker.sh $*
|
||||
diff -rup old/VentoyPlugson.sh new/VentoyPlugson.sh
|
||||
--- VentoyPlugson.sh 2022-12-24 06:00:51.000000000 -0700
|
||||
+++ VentoyPlugson.sh 2022-12-24 08:18:59.154268575 -0700
|
||||
@@ -34,8 +34,6 @@ if echo $machine | grep -E -q 'aarch64|a
|
||||
TOOLDIR=aarch64
|
||||
elif echo $machine | grep -E -q 'x86_64|amd64'; then
|
||||
TOOLDIR=x86_64
|
||||
-elif echo $machine | grep -E -q 'mips64'; then
|
||||
- TOOLDIR=mips64el
|
||||
elif echo $machine | grep -E -q 'i[3-6]86'; then
|
||||
TOOLDIR=i386
|
||||
else
|
||||
diff -rup old/VentoyWeb.sh new/VentoyWeb.sh
|
||||
--- VentoyWeb.sh 2021-12-02 16:58:51.885612627 +0100
|
||||
+++ VentoyWeb.sh 2021-12-02 17:04:43.437871014 +0100
|
||||
@@ -15,12 +15,6 @@ print_err() {
|
||||
echo ""
|
||||
}
|
||||
|
||||
-uid=$(id -u)
|
||||
-if [ $uid -ne 0 ]; then
|
||||
- print_err "Please use sudo or run the script as root."
|
||||
- exit 1
|
||||
-fi
|
||||
-
|
||||
OLDDIR=$(pwd)
|
||||
|
||||
if uname -m | egrep -q 'aarch64|arm64'; then
|
||||
@@ -85,8 +79,8 @@ if ps -ef | grep "V2DServer.*$HOST.*$POR
|
||||
exit 1
|
||||
fi
|
||||
|
||||
-LOGFILE=log.txt
|
||||
-#delete the log.txt if it's more than 8MB
|
||||
+LOGFILE=/var/log/ventoy.log
|
||||
+#delete the ventoy.log if it's more than 8MB
|
||||
if [ -f $LOGFILE ]; then
|
||||
logsize=$(stat -c '%s' $LOGFILE)
|
||||
if [ $logsize -gt 8388608 ]; then
|
||||
4
sys-boot/ventoy-bin/files/ventoy
Normal file
4
sys-boot/ventoy-bin/files/ventoy
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd /opt/ventoy || exit 1
|
||||
exec ./Ventoy2Disk.sh "$@"
|
||||
3
sys-boot/ventoy-bin/files/ventoy-extend-persistent
Normal file
3
sys-boot/ventoy-bin/files/ventoy-extend-persistent
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec /opt/ventoy/ExtendPersistentImg.sh "$@"
|
||||
3
sys-boot/ventoy-bin/files/ventoy-persistent
Normal file
3
sys-boot/ventoy-bin/files/ventoy-persistent
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec /opt/ventoy/CreatePersistentImg.sh "$@"
|
||||
9
sys-boot/ventoy-bin/files/ventoy.desktop
Normal file
9
sys-boot/ventoy-bin/files/ventoy.desktop
Normal file
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Icon=ventoy
|
||||
Name=Ventoy
|
||||
Exec=ventoygui
|
||||
Terminal=false
|
||||
Hidden=false
|
||||
Categories=Utility
|
||||
Comment=Ventoy2Disk GUI
|
||||
17
sys-boot/ventoy-bin/files/ventoy.install
Normal file
17
sys-boot/ventoy-bin/files/ventoy.install
Normal file
@@ -0,0 +1,17 @@
|
||||
post_install() {
|
||||
printf "$(tput setaf 4) ->$(tput sgr0; tput bold) %s$(tput sgr0)\n" \
|
||||
'NOTE: You can create persistence images for ventoy with the "ventoy-persistent" command,'
|
||||
printf "$(tput setaf 4) ->$(tput sgr0; tput bold) %s$(tput sgr0)\n" \
|
||||
' and losslessly expand persistence ".dat" files using "ventoy-extend-persistent",'
|
||||
printf "$(tput setaf 4) ->$(tput sgr0; tput bold) %s$(tput sgr0)\n" \
|
||||
' which are shortcuts to "/opt/ventoy/CreatePersistentImg.sh" and'
|
||||
printf "$(tput setaf 4) ->$(tput sgr0; tput bold) %s$(tput sgr0)\n" \
|
||||
' "/opt/ventoy/ExtendPersistentImg.sh", respectively.'
|
||||
printf "$(tput setaf 4) ->$(tput sgr0; tput bold) %s$(tput sgr0)\n" \
|
||||
' (See https://www.ventoy.net/en/plugin_persistence.html for documentation.)'
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
# Remove log file
|
||||
rm -rf /opt/ventoy/
|
||||
}
|
||||
9
sys-boot/ventoy-bin/files/ventoygui
Normal file
9
sys-boot/ventoy-bin/files/ventoygui
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd /opt/ventoy || exit 1
|
||||
|
||||
if [ "$(uname -m)" = "x86_64" ]; then
|
||||
./VentoyGUI.x86_64 "$@"
|
||||
elif [ "$(uname -m)" = "aarch64" ]; then
|
||||
./VentoyGUI.aarch64 "$@"
|
||||
fi
|
||||
4
sys-boot/ventoy-bin/files/ventoyplugson
Normal file
4
sys-boot/ventoy-bin/files/ventoyplugson
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd /opt/ventoy || exit 1
|
||||
exec ./VentoyPlugson.sh "$@"
|
||||
4
sys-boot/ventoy-bin/files/ventoyweb
Normal file
4
sys-boot/ventoy-bin/files/ventoyweb
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd /opt/ventoy || exit 1
|
||||
exec ./VentoyWeb.sh "$@"
|
||||
11
sys-boot/ventoy-bin/metadata.xml
Normal file
11
sys-boot/ventoy-bin/metadata.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<name>ston</name>
|
||||
<email>ston.jia@qq.com</email>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">ventoy/Ventoy</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
86
sys-boot/ventoy-bin/ventoy-bin-1.0.97.ebuild
Normal file
86
sys-boot/ventoy-bin/ventoy-bin-1.0.97.ebuild
Normal file
@@ -0,0 +1,86 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop xdg
|
||||
|
||||
DESCRIPTION="Creator of bootable USBs, with ability to copy ISOs, persistence storage"
|
||||
HOMEPAGE="http://www.ventoy.net"
|
||||
SRC_URI="https://github.com/ventoy/Ventoy/releases/download/v${PV}/ventoy-${PV}-linux.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RESTRICT="strip mirror"
|
||||
|
||||
DEPEND="
|
||||
sys-fs/dosfstools
|
||||
sys-fs/exfat-utils
|
||||
sys-block/parted
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S=${WORKDIR}/ventoy-${PV}
|
||||
|
||||
CARCH="x86_64"
|
||||
|
||||
src_prepare() {
|
||||
# Decompress tools
|
||||
pushd tool/$CARCH || die
|
||||
for file in *.xz; do
|
||||
xzcat "$file" >"${file%.xz}" || die
|
||||
chmod +x "${file%.xz}" || die
|
||||
done
|
||||
|
||||
# Cleanup .xz crap
|
||||
rm -fv ./*.xz || die
|
||||
popd || die
|
||||
|
||||
# Apply sanitize patch
|
||||
eapply -p0 "${FILESDIR}/sanitize.patch"
|
||||
|
||||
# Log location
|
||||
sed -i 's|log\.txt|/var/log/ventoy.log|g' WebUI/static/js/languages.js tool/languages.json || die
|
||||
|
||||
# Non-POSIX compliant scripts
|
||||
sed -i 's|bin/sh|usr/bin/env bash|g' tool/{ventoy_lib.sh,VentoyWorker.sh} || die
|
||||
|
||||
# Clean up unused binaries
|
||||
# Preserving mkexfatfs and mount.exfat-fuse because exfatprogs is incompatible
|
||||
for binary in xzcat hexdump; do
|
||||
rm -fv tool/$CARCH/$binary || die
|
||||
done
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insopts -m0644
|
||||
insinto /opt/ventoy/boot/
|
||||
doins boot/*
|
||||
insinto /opt/ventoy/ventoy/
|
||||
doins ventoy/*
|
||||
insopts -m0755
|
||||
insinto /opt/ventoy/tool/
|
||||
doins tool/*.{cer,glade,json,sh,xz}
|
||||
insinto /opt/ventoy/tool/$CARCH/
|
||||
doins tool/$CARCH/*
|
||||
insinto /opt/ventoy/
|
||||
doins ./*.sh plugin WebUI "VentoyGUI.$CARCH"
|
||||
|
||||
# Install .desktop
|
||||
insopts -m0644
|
||||
insinto /usr/share/pixmaps/
|
||||
newins WebUI/static/img/VentoyLogo.png ventoy.png
|
||||
domenu "${FILESDIR}/ventoy.desktop"
|
||||
|
||||
# Link system binaries
|
||||
for binary in xzcat hexdump; do
|
||||
dosym -r /usr/bin/$binary /opt/ventoy/tool/$CARCH/$binary
|
||||
done
|
||||
|
||||
dobin "${FILESDIR}"/ventoy{,gui,web,plugson,-{,extend-}persistent}
|
||||
|
||||
rm "${D}"/opt/ventoy/tool/x86_64/Ventoy2Disk.gtk2 || die
|
||||
}
|
||||
Reference in New Issue
Block a user