mirror of
https://github.com/itsmemac/Packwright.git
synced 2026-10-06 09:00:21 +02:00
Packwright 1.0.0
A cross-platform (Windows, Linux, macOS) manager for PS5 dumps, images and packages, grown out of PS5 PKG Tool by pearlxcore (GPL-3.0). - Library of dumps, packages and images (cards or list), search language, grouping, saved views, health report and export (CSV, JSON, web page) - Edit and autofill details (including region, IDs, versions, features and icon), in the library or written into the file; optional Title ID lookup - Convert, build, extract, verify, repair and edit exFAT, FFPKG, FFPFSC and ZArchive images and debug packages, with presets - Send to console over FTP or by URL on the local network - Command-line mode - Installers for Windows, macOS and Linux, and an opt-in update check See README.md and THIRD_PARTY_NOTICES.md for credits, licenses and the list of changes made to the original project.
This commit is contained in:
183 files changed
+38228
No files matched your search
@@ -0,0 +1,58 @@
|
||||
; Packwright installer (Inno Setup 6). Built by the release workflow:
|
||||
; iscc /DAppVersion=1.0.0 /DSourceDir=<publish folder> /O<output folder> installer\Packwright.iss
|
||||
; Installs for the current user by default (no administrator prompt), so a silent update is smooth. The "for all
|
||||
; users" choice is offered when the installer is started as administrator.
|
||||
|
||||
#ifndef AppVersion
|
||||
#define AppVersion "1.0.0"
|
||||
#endif
|
||||
#ifndef SourceDir
|
||||
#define SourceDir "..\publish"
|
||||
#endif
|
||||
|
||||
[Setup]
|
||||
AppId={{B7C1F3A2-5D1E-4C3B-9A0E-6F5D2E8C7A41}
|
||||
AppName=Packwright
|
||||
AppVersion={#AppVersion}
|
||||
AppVerName=Packwright {#AppVersion}
|
||||
AppPublisher=itsmemac
|
||||
AppPublisherURL=https://github.com/itsmemac/Packwright
|
||||
AppSupportURL=https://github.com/itsmemac/Packwright/issues
|
||||
AppUpdatesURL=https://github.com/itsmemac/Packwright/releases
|
||||
VersionInfoVersion={#AppVersion}
|
||||
DefaultDirName={autopf}\Packwright
|
||||
DefaultGroupName=Packwright
|
||||
DisableProgramGroupPage=yes
|
||||
PrivilegesRequired=lowest
|
||||
PrivilegesRequiredOverridesAllowed=dialog
|
||||
ArchitecturesAllowed=x64compatible
|
||||
ArchitecturesInstallIn64BitMode=x64compatible
|
||||
OutputBaseFilename=Packwright-Setup-v{#AppVersion}-windows-x64
|
||||
Compression=lzma2/max
|
||||
SolidCompression=yes
|
||||
WizardStyle=modern
|
||||
SetupIconFile=..\src\Packwright.App\Assets\icon.ico
|
||||
UninstallDisplayIcon={app}\Packwright.exe
|
||||
LicenseFile=..\LICENSE
|
||||
; Close a running Packwright before replacing its files, and start it again afterwards.
|
||||
CloseApplications=yes
|
||||
RestartApplications=no
|
||||
CloseApplicationsFilter=Packwright.exe
|
||||
|
||||
[Languages]
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
|
||||
[Tasks]
|
||||
Name: "desktopicon"; Description: "Create a desktop shortcut"; GroupDescription: "Shortcuts:"; Flags: unchecked
|
||||
|
||||
[Files]
|
||||
Source: "{#SourceDir}\*"; DestDir: "{app}"; Flags: recursesubdirs createallsubdirs ignoreversion
|
||||
|
||||
[Icons]
|
||||
Name: "{autoprograms}\Packwright"; Filename: "{app}\Packwright.exe"
|
||||
Name: "{autodesktop}\Packwright"; Filename: "{app}\Packwright.exe"; Tasks: desktopicon
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\Packwright.exe"; Description: "Start Packwright"; Flags: nowait postinstall skipifsilent
|
||||
; A silent update (started by the app's "Install now") has no finish page, so start Packwright again here.
|
||||
Filename: "{app}\Packwright.exe"; Flags: nowait runasoriginaluser; Check: WizardSilent
|
||||
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env bash
|
||||
# Builds the Linux installers from a linux-x64 publish folder:
|
||||
# Packwright-v<version>-linux-x64.deb (Debian, Ubuntu, Mint, ...)
|
||||
# Packwright-v<version>-linux-x64.rpm (Fedora, RHEL family, openSUSE, ...)
|
||||
#
|
||||
# Usage: installer/linux/build-packages.sh <version> <publish folder> <output folder>
|
||||
# Needs dpkg-deb and rpmbuild (apt install dpkg rpm). Both packages put the app in /opt/packwright, add a
|
||||
# `packwright` command and a menu entry, and are removed again by the normal package manager.
|
||||
set -euo pipefail
|
||||
|
||||
version="${1:?version}"
|
||||
publish="$(cd "${2:?publish folder}" && pwd)"
|
||||
mkdir -p "${3:?output folder}"
|
||||
out="$(cd "$3" && pwd)"
|
||||
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
repo="$(cd "$here/../.." && pwd)"
|
||||
name="Packwright-v${version}-linux-x64"
|
||||
|
||||
work="$(mktemp -d)"
|
||||
trap 'rm -rf "$work"' EXIT
|
||||
stage="$work/stage"
|
||||
|
||||
install -d "$stage/opt/packwright" "$stage/usr/bin" "$stage/usr/share/applications" \
|
||||
"$stage/usr/share/icons/hicolor/512x512/apps" "$stage/usr/share/doc/packwright"
|
||||
cp -a "$publish/." "$stage/opt/packwright/"
|
||||
chmod 755 "$stage/opt/packwright/Packwright"
|
||||
ln -s /opt/packwright/Packwright "$stage/usr/bin/packwright"
|
||||
install -m 644 "$here/packwright.desktop" "$stage/usr/share/applications/packwright.desktop"
|
||||
install -m 644 "$repo/src/Packwright.App/Assets/icon.png" "$stage/usr/share/icons/hicolor/512x512/apps/packwright.png"
|
||||
install -m 644 "$repo/LICENSE" "$stage/usr/share/doc/packwright/copyright"
|
||||
install -m 644 "$repo/THIRD_PARTY_NOTICES.md" "$stage/usr/share/doc/packwright/THIRD_PARTY_NOTICES.md"
|
||||
find "$stage" -type d -exec chmod 755 {} +
|
||||
find "$stage" -type f ! -perm /111 -exec chmod 644 {} +
|
||||
|
||||
# ------------------------------------------------------------------ .deb
|
||||
debroot="$work/deb"
|
||||
cp -a "$stage" "$debroot"
|
||||
install -d "$debroot/DEBIAN"
|
||||
size_kb="$(du -sk "$debroot" | cut -f1)"
|
||||
cat > "$debroot/DEBIAN/control" <<CONTROL
|
||||
Package: packwright
|
||||
Version: ${version}
|
||||
Section: utils
|
||||
Priority: optional
|
||||
Architecture: amd64
|
||||
Installed-Size: ${size_kb}
|
||||
Depends: libc6, libstdc++6, libx11-6, libice6, libsm6, libfontconfig1, libssl3 | libssl3t64 | libssl1.1
|
||||
Maintainer: itsmemac <noreply@users.noreply.github.com>
|
||||
Homepage: https://github.com/itsmemac/Packwright
|
||||
Description: PS5 package, dump and image tool
|
||||
Manage a collection of PS5 dumps and images, read PS5 packages, and build or
|
||||
convert exFAT, FFPKG, FFPFSC, ZArchive images and debug packages.
|
||||
Starts from the menu, or from a terminal as "packwright" (try "packwright help").
|
||||
CONTROL
|
||||
chmod 644 "$debroot/DEBIAN/control"
|
||||
dpkg-deb --root-owner-group -Zxz --build "$debroot" "$out/$name.deb"
|
||||
|
||||
# ------------------------------------------------------------------ .rpm
|
||||
top="$work/rpm"
|
||||
mkdir -p "$top"/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
cat > "$top/SPECS/packwright.spec" <<SPEC
|
||||
Name: packwright
|
||||
Version: ${version}
|
||||
Release: 1
|
||||
Summary: PS5 package, dump and image tool
|
||||
License: GPL-3.0-only
|
||||
URL: https://github.com/itsmemac/Packwright
|
||||
AutoReqProv: no
|
||||
Requires: libstdc++.so.6()(64bit), libX11.so.6()(64bit), libICE.so.6()(64bit), libSM.so.6()(64bit), libfontconfig.so.1()(64bit), libssl.so.3()(64bit)
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __os_install_post %{nil}
|
||||
%global _build_id_links none
|
||||
%define _binary_payload w9.xzdio
|
||||
|
||||
%description
|
||||
Manage a collection of PS5 dumps and images, read PS5 packages, and build or
|
||||
convert exFAT, FFPKG, FFPFSC, ZArchive images and debug packages.
|
||||
Starts from the menu, or from a terminal as "packwright" (try "packwright help").
|
||||
|
||||
%install
|
||||
cp -a ${stage}/. %{buildroot}/
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
/opt/packwright
|
||||
/usr/bin/packwright
|
||||
/usr/share/applications/packwright.desktop
|
||||
/usr/share/icons/hicolor/512x512/apps/packwright.png
|
||||
/usr/share/doc/packwright
|
||||
SPEC
|
||||
rpmbuild -bb --target x86_64 --define "_topdir $top" "$top/SPECS/packwright.spec"
|
||||
cp "$top/RPMS/x86_64/packwright-${version}-1.x86_64.rpm" "$out/$name.rpm"
|
||||
|
||||
echo "Built:"
|
||||
ls -l "$out/$name.deb" "$out/$name.rpm"
|
||||
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Packwright
|
||||
GenericName=PS5 package tool
|
||||
Comment=Manage PS5 dumps, images and packages
|
||||
Exec=/opt/packwright/Packwright %F
|
||||
Icon=packwright
|
||||
Terminal=false
|
||||
Categories=Utility;
|
||||
StartupNotify=true
|
||||
StartupWMClass=Packwright
|
||||
Reference in new issue
Block a user