From b48882773a5c0d2b2345996e88417617029df8f5 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sun, 4 Sep 2022 20:55:35 -0300 Subject: [PATCH] ventoy-bin: 1.0.78 -> 1.0.79 --- .../cd-dvd/ventoy-bin/000-sanitize.patch | 214 ++++++++++++++++++ pkgs/tools/cd-dvd/ventoy-bin/default.nix | 38 ++-- pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 235 insertions(+), 21 deletions(-) create mode 100644 pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch diff --git a/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch b/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch new file mode 100644 index 00000000000..18e837e58c6 --- /dev/null +++ b/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch @@ -0,0 +1,214 @@ +Author: DuckSoft + +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 <>/var/log/ventoy.log 2>&1 <> ./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 2021-12-02 17:54:36.055868878 +0100 ++++ VentoyPlugson.sh 2021-12-02 18:04:40.919633986 +0100 +@@ -25,8 +19,6 @@ if echo $machine | egrep -q 'aarch64|arm + TOOLDIR=aarch64 + elif echo $machine | egrep -q 'x86_64|amd64'; then + TOOLDIR=x86_64 +-elif echo $machine | egrep -q 'mips64'; then +- TOOLDIR=mips64el + elif echo $machine | egrep -q 'i[3-6]86'; then + TOOLDIR=i386 + else +@@ -35,38 +27,6 @@ else + fi + + +-if ! [ -f "$OLDDIR/tool/plugson.tar.xz" ]; then +- echo "Please run under the correct directory!" +- exit 1 +-fi +- +-echo "############# VentoyPlugson $* [$TOOLDIR] ################" >> ./VentoyPlugson.log +-date >> ./VentoyPlugson.log +- +-echo "decompress tools" >> ./VentoyPlugson.log +-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" >> ./VentoyPlugson.log +- 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 "$OLDDIR/tool/$TOOLDIR/Plugson" ]; then +- echo "$OLDDIR/tool/$TOOLDIR/Plugson does not exist!" +- exit 1 +-fi +- +- + PATH=./tool/$TOOLDIR:$PATH + + HOST="127.0.0.1" +@@ -208,11 +168,3 @@ if [ -f /proc/$wID/maps ]; then + + wait $wID + fi +- +- +-if [ -n "$OLDDIR" ]; then +- CURDIR=$(pwd) +- if [ "$CURDIR" != "$OLDDIR" ]; then +- cd "$OLDDIR" +- fi +-fi +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 diff --git a/pkgs/tools/cd-dvd/ventoy-bin/default.nix b/pkgs/tools/cd-dvd/ventoy-bin/default.nix index 361739e980e..978eae33bc9 100644 --- a/pkgs/tools/cd-dvd/ventoy-bin/default.nix +++ b/pkgs/tools/cd-dvd/ventoy-bin/default.nix @@ -4,8 +4,8 @@ , fetchpatch , autoPatchelfHook , bash -, coreutils , copyDesktopItems +, coreutils , cryptsetup , dosfstools , e2fsprogs @@ -15,14 +15,15 @@ , gnused , gtk3 , hexdump -, makeWrapper , makeDesktopItem +, makeWrapper , ntfs3g , parted , procps -, qt5 +, qtbase , util-linux , which +, wrapQtAppsHook , xfsprogs , xz , defaultGuiType ? "" @@ -47,30 +48,24 @@ let }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation (finalAttrs: { pname = "ventoy-bin"; - version = "1.0.78"; + version = "1.0.79"; src = fetchurl { - url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz"; - hash = "sha256-vlSnnExtuh85yGFYUBeE7BRsVwl+kn7nSaIx2d3WICk="; + url = "https://github.com/ventoy/Ventoy/releases/download/v${finalAttrs.version}/ventoy-${finalAttrs.version}-linux.tar.gz"; + hash = "sha256-azkoDquN/i01QHsd1wJG79kdhHhBvXzPXIRnjKHAHNE="; }; patches = [ - (fetchpatch { - name = "sanitize.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=057f2d1eb496c7a3aaa8229e99a7f709428fa4c5"; - sha256 = "sha256-iAtLtM+Q4OsXDK83eCnPNomeNSEqdRLFfK2x7ybPSpk="; - }) + ./000-sanitize.patch ./001-add-mips64.diff ./002-fix-for-read-only-file-system.diff ]; patchFlags = [ "-p0" ]; - dontConfigure = true; - dontBuild = true; - postPatch = '' # Fix permissions. find -type f -name \*.sh -exec chmod a+x '{}' \; @@ -85,7 +80,7 @@ in stdenv.mkDerivation rec { makeWrapper ] ++ lib.optional (withQt5 || withGtk3) copyDesktopItems - ++ lib.optional withQt5 qt5.wrapQtAppsHook; + ++ lib.optional withQt5 wrapQtAppsHook; buildInputs = [ bash @@ -107,7 +102,7 @@ in stdenv.mkDerivation rec { ++ lib.optional withGtk3 gtk3 ++ lib.optional withNtfs ntfs3g ++ lib.optional withXfs xfsprogs - ++ lib.optional withQt5 qt5.qtbase; + ++ lib.optional withQt5 qtbase; desktopItems = [ (makeDesktopItem { @@ -121,6 +116,9 @@ in stdenv.mkDerivation rec { startupNotify = true; })]; + dontConfigure = true; + dontBuild = true; + installPhase = '' runHook preInstall @@ -159,7 +157,7 @@ in stdenv.mkDerivation rec { VentoyPlugson.sh_ventoy-plugson; do local bin="''${f%_*}" wrapper="''${f#*_}" makeWrapper "$VENTOY_PATH/$bin" "$out/bin/$wrapper" \ - --prefix PATH : "${lib.makeBinPath buildInputs}" \ + --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \ --chdir "$VENTOY_PATH" done '' @@ -168,7 +166,7 @@ in stdenv.mkDerivation rec { + lib.optionalString (withGtk3 || withQt5) '' echo "${defaultGuiType}" > "$VENTOY_PATH/ventoy_gui_type" makeWrapper "$VENTOY_PATH/VentoyGUI.$ARCH" "$out/bin/ventoy-gui" \ - --prefix PATH : "${lib.makeBinPath buildInputs}" \ + --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \ --chdir "$VENTOY_PATH" mkdir "$out"/share/{applications,pixmaps} ln -s "$VENTOY_PATH"/WebUI/static/img/VentoyLogo.png "$out"/share/pixmaps/ @@ -210,4 +208,4 @@ in stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; mainProgram = "ventoy"; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 59b2e9cc748..a9287e0068b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1359,7 +1359,9 @@ with pkgs; veikk-linux-driver-gui = libsForQt5.callPackage ../tools/misc/veikk-linux-driver-gui { }; - ventoy-bin = callPackage ../tools/cd-dvd/ventoy-bin { }; + ventoy-bin = callPackage ../tools/cd-dvd/ventoy-bin { + inherit (libsForQt5) qtbase wrapQtAppsHook; + }; ventoy-bin-full = ventoy-bin.override { withCryptsetup = true; withXfs = true;