diff options
author | Brian Bidulock | 2019-06-19 18:40:40 -0600 |
---|---|---|
committer | Brian Bidulock | 2019-06-19 18:40:40 -0600 |
commit | 22ff19c4c96cde013367e13a811c1e2c233a1545 (patch) | |
tree | b02c8e19920ba76f7e2a834d80ce086f7ea57b92 /arch-pacman.patch | |
parent | 42f4c4b238d979536f5fde57557a5dc2a2b092b5 (diff) | |
download | aur-22ff19c4c96cde013367e13a811c1e2c233a1545.tar.gz |
uppkg
Diffstat (limited to 'arch-pacman.patch')
-rw-r--r-- | arch-pacman.patch | 416 |
1 files changed, 416 insertions, 0 deletions
diff --git a/arch-pacman.patch b/arch-pacman.patch new file mode 100644 index 000000000000..66428f4702a2 --- /dev/null +++ b/arch-pacman.patch @@ -0,0 +1,416 @@ +diff -up src/xfe-1.43/src/FilePanel.cpp.orig src/xfe-1.43/src/FilePanel.cpp +--- src/xfe-1.43/src/FilePanel.cpp.orig 2018-05-16 09:28:02.000000000 -0600 ++++ src/xfe-1.43/src/FilePanel.cpp 2019-06-19 18:28:48.000000000 -0600 +@@ -4481,27 +4481,32 @@ long FilePanel::onCmdPopupMenu(FXObject* + // Last and before last file extensions + FXString ext1 = name.rafter('.', 1).lower(); + FXString ext2 = name.rafter('.', 2).lower(); ++ FXString ext3 = name.rafter('.', 3).lower(); + + // Destination folder name + FXString extract_to_folder; +- if ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z")) ++ if ((ext3 != "pkg.tar.xz") && ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z"))) + { + extract_to_folder = _("Extr&act to folder ")+name.section('\t', 0).rbefore('.', 2); + } ++ else if ((ext3 == "pkg.tar.xz")) ++ { ++ extract_to_folder = _("Extr&act to folder ")+name.section('\t', 0).rbefore('.', 3); ++ } + else + { + extract_to_folder = _("Extr&act to folder ")+name.section('\t', 0).rbefore('.', 1); + } + + // Display the extract and package menus according to the archive extensions +- if ((num == 1) && ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z"))) ++ if ((num == 1) && (ext3 != "pkg.tar.xz") && ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z"))) + { + ar = true; + new FXMenuCommand(menu, _("&Extract here"), archexticon, current, FilePanel::ID_EXTRACT_HERE); + new FXMenuCommand(menu, extract_to_folder, archexticon, current, FilePanel::ID_EXTRACT_TO_FOLDER); + new FXMenuCommand(menu, _("E&xtract to..."), archexticon, current, FilePanel::ID_EXTRACT); + } +- else if ((num == 1) && ((ext1 == "gz") || (ext1 == "bz2") || (ext1 == "xz") || (ext1 == "z"))) ++ else if ((num == 1) && (ext3 != "pkg.tar.xz") && ((ext1 == "gz") || (ext1 == "bz2") || (ext1 == "xz") || (ext1 == "z"))) + { + ar = true; + new FXMenuCommand(menu, _("&Extract here"), archexticon, current, FilePanel::ID_EXTRACT_HERE); +@@ -4514,7 +4519,7 @@ long FilePanel::onCmdPopupMenu(FXObject* + new FXMenuCommand(menu, _("E&xtract to..."), archexticon, current, FilePanel::ID_EXTRACT); + } + #if defined(linux) +- else if ((num == 1) && ((ext1 == "rpm") || (ext1 == "deb"))) ++ else if ((num == 1) && ((ext1 == "rpm") || (ext1 == "deb") || (ext3 == "pkg.tar.xz"))) + { + ar = true; + new FXMenuCommand(menu, _("&View"), packageicon, current, FilePanel::ID_VIEW); +@@ -5382,6 +5387,7 @@ long FilePanel::onCmdPkgInstall(FXObject + + // Command to perform + FXString ext = FXPath::extension(name); ++ FXString ext3 = name.rafter('.', 3); + if (comparecase(ext, "rpm") == 0) + { + cmd = "rpm -Uvh " + path; +@@ -5390,6 +5396,10 @@ long FilePanel::onCmdPkgInstall(FXObject + { + cmd = "dpkg -i "+ path; + } ++ else if (comparecase(ext3, "pkg.tar.xz") == 0) ++ { ++ cmd = "sudo pacman -U "+ path; ++ } + + // Wait cursor + getApp()->beginWaitCursor(); +@@ -5429,6 +5439,7 @@ long FilePanel::onCmdPkgUninstall(FXObje + + // Command to perform + FXString ext = FXPath::extension(name); ++ FXString ext3 = name.rafter('.', 3); + if (comparecase(ext, "rpm") == 0) + { + name = name.section('-', 0); +@@ -5439,6 +5450,11 @@ long FilePanel::onCmdPkgUninstall(FXObje + name = name.section('_', 0); + cmd = "dpkg -r "+ name; + } ++ else if (comparecase(ext3, "pkg.tar.xz") == 0) ++ { ++ name = name.section('-', 0); ++ cmd = "sudo pacman -R " + name; ++ } + + // Wait cursor + getApp()->beginWaitCursor(); +@@ -5925,9 +5941,13 @@ long FilePanel::onCmdPkgQuery(FXObject* + { + cmd = "rpm -qf " + ::quote(file); + } ++ else if (pkg_format == PKG_PKG) ++ { ++ cmd = "pacman -Qo " + ::quote(file); ++ } + else + { +- MessageBox::error(this, BOX_OK, _("Error"), _("No compatible package manager (rpm or dpkg) found!")); ++ MessageBox::error(this, BOX_OK, _("Error"), _("No compatible package manager (rpm, dpkg or pacman) found!")); + return(0); + } + +@@ -5984,6 +6004,13 @@ long FilePanel::onCmdPkgQuery(FXObject* + { + if (str.find(' ') != -1) // Space character exists in the string + { ++ str = ""; ++ } ++ } ++ if (pkg_format == PKG_PKG) // PKG based distribution ++ { ++ if (str.find(' ') != -1) // Space character exists in the string ++ { + str = ""; + } + } +diff -up src/xfe-1.43/src/help.h.orig src/xfe-1.43/src/help.h +--- src/xfe-1.43/src/help.h.orig 2016-11-07 01:04:00.000000000 -0700 ++++ src/xfe-1.43/src/help.h 2019-06-19 18:28:48.000000000 -0600 +@@ -49,7 +49,7 @@ + - Panels synchronization and switching\n \ + - Integrated text editor and viewer (X File Write, Xfw)\n \ + - Integrated image viewer (X File Image, Xfi)\n \ +- - Integrated package (rpm or deb) viewer / installer / uninstaller (X File Package, Xfp)\n \ ++ - Integrated package (rpm, deb or pkg) viewer / installer / uninstaller (X File Package, Xfp)\n \ + - Custom shell scripts (like Nautilus scripts)\n \ + - Search files and directories\n \ + - Natural sort order (foo10.txt comes after foo2.txt...)\n \ +diff -up src/xfe-1.43/src/main.cpp.orig src/xfe-1.43/src/main.cpp +--- src/xfe-1.43/src/main.cpp.orig 2018-05-16 09:57:11.000000000 -0600 ++++ src/xfe-1.43/src/main.cpp 2019-06-19 18:28:48.000000000 -0600 +@@ -334,6 +334,7 @@ int main(int argc, char* argv[]) + // For package query on Linux systems, try to guess if the default package format is deb or rpm: + // - if dpkg exists then the system uses deb packages + // - else if rpm exists, then the system uses rpm packages ++ // - else if pacman exists, then the system uses pkg packages + // - else another (unsupported) package manager is used + + cmd = "dpkg --version"; +@@ -354,7 +355,17 @@ int main(int argc, char* argv[]) + } + else + { +- pkg_format = OTHER_PKG; // other (unsupported) package system ++ cmd = "pacman --version"; ++ str = getCommandOutput(cmd); ++ ++ if (str.find("pacman") != -1) ++ { ++ pkg_format = PKG_PKG; // pkg based system ++ } ++ else ++ { ++ pkg_format = OTHER_PKG; // other (unsupported) package system ++ } + } + } + #endif +diff -up src/xfe-1.43/src/Properties.cpp.orig src/xfe-1.43/src/Properties.cpp +--- src/xfe-1.43/src/Properties.cpp.orig 2018-02-19 02:28:23.000000000 -0700 ++++ src/xfe-1.43/src/Properties.cpp 2019-06-19 18:28:48.000000000 -0600 +@@ -169,7 +169,7 @@ PropertiesBox::PropertiesBox(FXWindow* w + FXString grpid, usrid; + FXLabel* sizelabel = NULL; + struct stat linfo; +- FXString type = "", extension, extension2, fileassoc; ++ FXString type = "", extension, extension2, extension3, fileassoc; + FXbool isLink, isBrokenLink; + FXString pathname, referredpath; + char mnttype[64], used[64], avail[64], pctr[64], size[64]; +@@ -245,16 +245,17 @@ PropertiesBox::PropertiesBox(FXWindow* w + FXString editlbl = _("Edit:"); + + extension = file.rafter('.', 1).lower(); +- if ((extension == "gz") || (extension == "tgz") || (extension == "tar") || (extension == "taz") || (extension == "bz2") || ++ extension3 = file.rafter('.', 3).lower(); ++ if (((extension == "gz") || (extension == "tgz") || (extension == "tar") || (extension == "taz") || (extension == "bz2") || + (extension == "tbz2") || (extension == "tbz") || (extension == "xz") || (extension == "txz") || (extension == "zip") || + (extension == "7z") || (extension == "Z") || (extension == "lzh") || (extension == "rar") || +- (extension == "ace") || (extension == "arj")) ++ (extension == "ace") || (extension == "arj")) && (extension3 != "pkg.tar.xz")) + { + is_ar = true; // archive + viewlbl = _("Extract:"); + } + #if defined(linux) +- else if (extension == "rpm") ++ else if ((extension == "rpm") || (extension == "deb") || (extension3 == "pkg.tar.xz")) + { + editlbl = _("Install/Upgrade:"); + } +diff -up src/xfe-1.43/src/SearchPanel.cpp.orig src/xfe-1.43/src/SearchPanel.cpp +--- src/xfe-1.43/src/SearchPanel.cpp.orig 2018-05-16 05:37:15.000000000 -0600 ++++ src/xfe-1.43/src/SearchPanel.cpp 2019-06-19 18:28:48.000000000 -0600 +@@ -2270,14 +2270,15 @@ long SearchPanel::onCmdPopupMenu(FXObjec + // Last and before last file extensions + FXString ext1 = name.rafter('.', 1).lower(); + FXString ext2 = name.rafter('.', 2).lower(); ++ FXString ext3 = name.rafter('.', 3).lower(); + + // Display the extract and package menus according to the archive extensions +- if ((num == 1) && ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z"))) ++ if ((num == 1) && (ext3 != "pkg.tar.xz") && ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z"))) + { + ar = true; + new FXMenuCommand(menu, _("E&xtract to..."), archexticon, this, SearchPanel::ID_EXTRACT); + } +- else if ((num == 1) && ((ext1 == "gz") || (ext1 == "bz2") || (ext1 == "xz") || (ext1 == "z"))) ++ else if ((num == 1) && (ext3 != "pkg.tar.xz") && ((ext1 == "gz") || (ext1 == "bz2") || (ext1 == "xz") || (ext1 == "z"))) + { + ar = true; + new FXMenuCommand(menu, _("&Extract here"), archexticon, this, SearchPanel::ID_EXTRACT); +@@ -2288,7 +2289,7 @@ long SearchPanel::onCmdPopupMenu(FXObjec + new FXMenuCommand(menu, _("E&xtract to..."), archexticon, this, SearchPanel::ID_EXTRACT); + } + #if defined(linux) +- else if ((num == 1) && ((ext1 == "rpm") || (ext1 == "deb"))) ++ else if ((num == 1) && ((ext1 == "rpm") || (ext1 == "deb") || (ext3 == "pkg.tar.xz"))) + { + ar = true; + new FXMenuCommand(menu, _("&View"), packageicon, this, SearchPanel::ID_VIEW); +@@ -4326,9 +4327,13 @@ long SearchPanel::onCmdPkgQuery(FXObject + { + cmd = "rpm -qf " + ::quote(file); + } ++ else if (pkg_format == PKG_PKG) ++ { ++ cmd = "pacman -Qo " + ::quote(file); ++ } + else + { +- MessageBox::error(this, BOX_OK, _("Error"), _("No compatible package manager (rpm or dpkg) found!")); ++ MessageBox::error(this, BOX_OK, _("Error"), _("No compatible package manager (rpm, dpkg or pacman) found!")); + return(0); + } + +@@ -4388,6 +4393,13 @@ long SearchPanel::onCmdPkgQuery(FXObject + str = ""; + } + } ++ if (pkg_format == PKG_PKG) // PKG based distribution ++ { ++ if (str.find(' ') != -1) // Space character exists in the string ++ { ++ str = ""; ++ } ++ } + + // Display the related output message + FXString message; +@@ -4436,5 +4448,4 @@ long SearchPanel::onUpdPkgQuery(FXObject + return(1); + } + +- + #endif +diff -up src/xfe-1.43/src/xfedefs.h.orig src/xfe-1.43/src/xfedefs.h +--- src/xfe-1.43/src/xfedefs.h.orig 2018-05-15 06:35:05.000000000 -0600 ++++ src/xfe-1.43/src/xfedefs.h 2019-06-19 18:28:48.000000000 -0600 +@@ -294,6 +294,7 @@ + // Package format + #define DEB_PKG 0 + #define RPM_PKG 1 +-#define OTHER_PKG 2 ++#define PKG_PKG 2 ++#define OTHER_PKG 3 + + #endif +diff -up src/xfe-1.43/src/XFilePackage.cpp.orig src/xfe-1.43/src/XFilePackage.cpp +--- src/xfe-1.43/src/XFilePackage.cpp.orig 2015-12-15 06:53:31.000000000 -0700 ++++ src/xfe-1.43/src/XFilePackage.cpp 2019-06-19 18:28:48.000000000 -0600 +@@ -32,6 +32,7 @@ + char** args; + FXbool dpkg = false; + FXbool rpm = false; ++FXbool pacman = false; + FXColor highlightcolor; + FXbool allowPopupScroll = false; + FXuint single_click; +@@ -223,7 +224,7 @@ long XFilePackage::onCmdAbout(FXObject*, + { + FXString msg; + +- msg.format(_("X File Package Version %s is a simple rpm or deb package manager.\n\n"), VERSION); ++ msg.format(_("X File Package Version %s is a simple rpm, deb or pkg package manager.\n\n"), VERSION); + msg += COPYRIGHT; + MessageBox about(this, _("About X File Package"), msg.text(), xfpicon, BOX_OK|DECOR_TITLE|DECOR_BORDER, + JUSTIFY_CENTER_X|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); +@@ -241,6 +242,7 @@ long XFilePackage::onCmdOpen(FXObject*, + _("RPM source packages"), "*.src.rpm", + _("RPM packages"), "*.rpm", + _("DEB packages"), "*.deb", ++ _("PKG packages"), "*.pkg.tar.xz", + NULL + }; + +@@ -278,6 +280,7 @@ long XFilePackage::onCmdInstall(FXObject + + // Command to perform + FXString ext = FXPath::extension(filename); ++ FXString ext3 = filename.rafter('.', 3); + if (comparecase(ext, "rpm") == 0) + { + cmd = "rpm -Uvh "+filename; +@@ -286,6 +289,10 @@ long XFilePackage::onCmdInstall(FXObject + { + cmd = "dpkg -i "+filename; + } ++ else if (comparecase(ext3, "pkg.tar.xz") == 0) ++ { ++ cmd = "sudo pacman -U "+filename; ++ } + else + { + MessageBox::error(this, BOX_OK, _("Error"), _("Unknown package format")); +@@ -322,6 +329,7 @@ long XFilePackage::onCmdUninstall(FXObje + // Command to perform + FXString package; + FXString ext = FXPath::extension(filename); ++ FXString ext3 = filename.rafter('.', 3); + if (comparecase(ext, "rpm") == 0) + { + // Get package name +@@ -336,6 +344,13 @@ long XFilePackage::onCmdUninstall(FXObje + package = package.section('_', 0); + cmd = "dpkg -r "+ package; + } ++ else if (comparecase(ext3, "pkg.tar.xz") == 0) ++ { ++ // Get package name ++ package = FXPath::name(filename); ++ package = package.section('-', 0); ++ cmd = "sudo pacman -R "+ package; ++ } + else + { + MessageBox::error(this, BOX_OK, _("Error"), _("Unknown package format")); +@@ -425,6 +440,7 @@ int XFilePackage::readFileList(void) + FXString cmd; + + FXString ext = FXPath::extension(filename); ++ FXString ext3 = filename.rafter('.', 3); + + if (comparecase(ext, "rpm") == 0) + { +@@ -436,6 +452,11 @@ int XFilePackage::readFileList(void) + errorflag = false; + cmd = "dpkg -c "+::quote(filename); + } ++ else if (comparecase(ext3, "pkg.tar.xz") == 0) ++ { ++ errorflag = false; ++ cmd = "pacman -Qlp "+::quote(filename); ++ } + else if (errorflag == false) + { + errorflag = true; +@@ -487,6 +508,7 @@ int XFilePackage::readDescription(void) + FXString buf; + + FXString ext = FXPath::extension(filename); ++ FXString ext3 = filename.rafter('.', 3); + + if (comparecase(ext, "rpm") == 0) + { +@@ -500,6 +522,12 @@ int XFilePackage::readDescription(void) + buf += _("[DEB package]\n"); + cmd = "dpkg -I "+::quote(filename); + } ++ else if (comparecase(ext3, "pkg.tar.xz") == 0) ++ { ++ errorflag = false; ++ buf += _("[PKG package]\n"); ++ cmd = "pacman -Qip "+::quote(filename); ++ } + else if (errorflag == false) + { + errorflag = true; +@@ -646,7 +674,7 @@ void XFilePackage::create() + -h, --help Print (this) help screen and exit.\n\ + -v, --version Print version information and exit.\n\ + \n\ +- [package] is the path to the rpm or deb package you want to open on start up.\n\ ++ [package] is the path to the rpm, deb or pkg package you want to open on start up.\n\ + \n") + + +@@ -797,6 +825,7 @@ int main(int argc, char* argv[]) + + // Test the existence of the Debian package manager (dpkg) + // and the RedHat package manager (rpm) ++ // and the ArchLinux package manager (pacman) + FXString cmd = "dpkg --version"; + FXString str = getCommandOutput(cmd); + +@@ -813,10 +842,18 @@ int main(int argc, char* argv[]) + rpm = true; + } + ++ cmd = "pacman --version"; ++ str = getCommandOutput(cmd); ++ ++ if (str.find("pacman") != -1) ++ { ++ pacman = true; ++ } ++ + // No package manager was found +- if ((dpkg == false) && (rpm == false)) ++ if ((dpkg == false) && (rpm == false) && (pacman == false)) + { +- MessageBox::error(window, BOX_OK, _("Error"), _("No compatible package manager (rpm or dpkg) found!")); ++ MessageBox::error(window, BOX_OK, _("Error"), _("No compatible package manager (rpm, dpkg or pacman) found!")); + exit(EXIT_FAILURE); + } + |