]> git.ipfire.org Git - thirdparty/snapper.git/commitdiff
- make some binary paths used in snbk configurable 972/head
authorArvin Schnell <aschnell@suse.de>
Tue, 17 Dec 2024 08:45:33 +0000 (09:45 +0100)
committerArvin Schnell <aschnell@suse.de>
Tue, 17 Dec 2024 08:53:00 +0000 (09:53 +0100)
client/misc.cc
client/snbk/BackupConfig.h
client/snbk/TheBigThing.cc
configure.ac
snapper/Lvm.cc
snapper/LvmCache.cc
snapper/Snapper.cc
snapper/SnapperDefines.h

index 73b33b5362f6c1a5e66095cc0472ff9beea4cade..a06e76aa49e0bb1253cfb4ccb693dac3873bcffa 100644 (file)
@@ -195,7 +195,7 @@ get_filesystem(const ProxyConfig& config, const string& target_root)
 
 
 Differ::Differ()
-    : command(DIFFBIN " --new-file --unified")
+    : command(DIFF_BIN " --new-file --unified")
 {
 }
 
index 2bd5731e41c5547739fe1adbab8933dbfa3e4a41..fb400b1c892ab9c433aec10633b5c5f64c12923f 100644 (file)
 #define SNAPPER_BACKUP_CONFIG_H
 
 
+#include "config.h"
+
 #include <string>
 #include <vector>
 
 #include <snapper/Enum.h>
-#include <snapper/SnapperDefines.h>
 
 #include "Shell.h"
 
index 3e6eb2f64b30f8579bcaf8d995e94a8471c9860c..38b239b43ce07573f8518665fc848de76bc1698c 100644 (file)
@@ -20,6 +20,8 @@
  */
 
 
+#include "config.h"
+
 #include <iostream>
 #include <regex>
 #include <boost/algorithm/string/predicate.hpp>
index 0865b9e6c4b07625fc624445b7d37a5af09d6a96..4d94528b71e1c9b50c9067c006d663210735b9ea 100644 (file)
@@ -26,31 +26,39 @@ AC_PREFIX_DEFAULT(/usr)
 
 AC_PATH_PROG([XSLTPROC], [xsltproc], [/usr/bin/xsltproc])
 
-AC_PATH_PROG([CHSNAPBIN], [chsnap], [/sbin/chsnap])
-AC_PATH_PROG([CPBIN], [cp], [/bin/cp])
-AC_PATH_PROG([TOUCHBIN], [touch], [/usr/bin/touch])
-AC_PATH_PROG([RMBIN], [rm], [/bin/rm])
-AC_PATH_PROG([DIFFBIN], [diff], [/usr/bin/diff])
-AC_PATH_PROG([CHATTRBIN], [chattr], [/usr/bin/chattr])
-AC_PATH_PROG([LVCREATEBIN], [lvcreate], [/sbin/lvcreate])
-AC_PATH_PROG([LVREMOVEBIN], [lvremove], [/sbin/lvremove])
-AC_PATH_PROG([LVSBIN], [lvs], [/sbin/lvs])
-AC_PATH_PROG([LVCHANGEBIN], [lvchange], [/sbin/lvchange])
-AC_PATH_PROG([LVMBIN], [lvm], [/sbin/lvm])
-AC_PATH_PROG([LVRENAMEBIN], [lvrename], [/sbin/lvrename])
-
-AC_DEFINE_UNQUOTED([CHSNAPBIN], ["$CHSNAPBIN"], [Path of chsnap program.])
-AC_DEFINE_UNQUOTED([CPBIN], ["$CPBIN"], [Path of cp program.])
-AC_DEFINE_UNQUOTED([TOUCHBIN], ["$TOUCHBIN"], [Path of touch program.])
-AC_DEFINE_UNQUOTED([RMBIN], ["$RMBIN"], [Path of rm program.])
-AC_DEFINE_UNQUOTED([DIFFBIN], ["$DIFFBIN"], [Path of diff program.])
-AC_DEFINE_UNQUOTED([CHATTRBIN], ["$CHATTRBIN"], [Path of chattr program.])
-AC_DEFINE_UNQUOTED([LVCREATEBIN], ["$LVCREATEBIN"], [Path of lvcreate program.])
-AC_DEFINE_UNQUOTED([LVREMOVEBIN], ["$LVREMOVEBIN"], [Path of lvremove program.])
-AC_DEFINE_UNQUOTED([LVSBIN], ["$LVSBIN"], [Path of lvs program.])
-AC_DEFINE_UNQUOTED([LVCHANGEBIN], ["$LVCHANGEBIN"], [Path of lvchange program.])
-AC_DEFINE_UNQUOTED([LVMBIN], ["$LVMBIN"], [Path of lvm program.])
-AC_DEFINE_UNQUOTED([LVRENAMEBIN], ["$LVRENAMEBIN"], [Path of lvrename program.])
+AC_PATH_PROG([BTRFS_BIN], [btrfs], [/usr/sbin/btrfs])
+AC_PATH_PROG([CHATTR_BIN], [chattr], [/usr/bin/chattr])
+AC_PATH_PROG([CHSNAP_BIN], [chsnap], [/sbin/chsnap])
+AC_PATH_PROG([CP_BIN], [cp], [/bin/cp])
+AC_PATH_PROG([DIFF_BIN], [diff], [/usr/bin/diff])
+AC_PATH_PROG([FINDMNT_BIN], [findmnt], [/usr/bin/findmnt])
+AC_PATH_PROG([LVCHANGE_BIN], [lvchange], [/sbin/lvchange])
+AC_PATH_PROG([LVCREATE_BIN], [lvcreate], [/sbin/lvcreate])
+AC_PATH_PROG([LVM_BIN], [lvm], [/sbin/lvm])
+AC_PATH_PROG([LVREMOVE_BIN], [lvremove], [/sbin/lvremove])
+AC_PATH_PROG([LVRENAME_BIN], [lvrename], [/sbin/lvrename])
+AC_PATH_PROG([LVS_BIN], [lvs], [/sbin/lvs])
+AC_PATH_PROG([REALPATH_BIN], [realpath], [/usr/bin/realpath])
+AC_PATH_PROG([RM_BIN], [rm], [/bin/rm])
+AC_PATH_PROG([RMDIR_BIN], [rmdir], [/bin/rmdir])
+AC_PATH_PROG([TOUCH_BIN], [touch], [/usr/bin/touch])
+
+AC_DEFINE_UNQUOTED([BTRFS_BIN], ["$BTRFS_BIN"], [Path of btrfs program.])
+AC_DEFINE_UNQUOTED([CHATTR_BIN], ["$CHATTR_BIN"], [Path of chattr program.])
+AC_DEFINE_UNQUOTED([CHSNAP_BIN], ["$CHSNAP_BIN"], [Path of chsnap program.])
+AC_DEFINE_UNQUOTED([CP_BIN], ["$CP_BIN"], [Path of cp program.])
+AC_DEFINE_UNQUOTED([DIFF_BIN], ["$DIFF_BIN"], [Path of diff program.])
+AC_DEFINE_UNQUOTED([FINDMNT_BIN], ["$FINDMNT_BIN"], [Path of findmnt program.])
+AC_DEFINE_UNQUOTED([LVCHANGE_BIN], ["$LVCHANGE_BIN"], [Path of lvchange program.])
+AC_DEFINE_UNQUOTED([LVCREATE_BIN], ["$LVCREATE_BIN"], [Path of lvcreate program.])
+AC_DEFINE_UNQUOTED([LVM_BIN], ["$LVM_BIN"], [Path of lvm program.])
+AC_DEFINE_UNQUOTED([LVREMOVE_BIN], ["$LVREMOVE_BIN"], [Path of lvremove program.])
+AC_DEFINE_UNQUOTED([LVRENAME_BIN], ["$LVRENAME_BIN"], [Path of lvrename program.])
+AC_DEFINE_UNQUOTED([LVS_BIN], ["$LVS_BIN"], [Path of lvs program.])
+AC_DEFINE_UNQUOTED([REALPATH_BIN], ["$REALPATH_BIN"], [Path of realpath program.])
+AC_DEFINE_UNQUOTED([RM_BIN], ["$RM_BIN"], [Path of rm program.])
+AC_DEFINE_UNQUOTED([RMDIR_BIN], ["$RMDIR_BIN"], [Path of rmdir program.])
+AC_DEFINE_UNQUOTED([TOUCH_BIN], ["$TOUCH_BIN"], [Path of touch program.])
 
 CFLAGS="${CFLAGS} -std=c99 -Wall -Wextra -Wformat -Wmissing-prototypes -Wno-unused-parameter"
 CXXFLAGS="${CXXFLAGS} -std=c++11 -Wall -Wextra -Wformat -Wnon-virtual-dtor -Wno-unused-parameter -Wsuggest-override"
index 3d6fcd5ac17f447ed324c1f05a58c6ebb7d61d26..625a98c9efea74f0f03c0b538bc4fc92f512d3e6 100644 (file)
@@ -70,19 +70,19 @@ namespace snapper
        : Filesystem(subvolume, root_prefix), mount_type(mount_type),
          cache(LvmCache::get_lvm_cache())
     {
-       if (access(LVCREATEBIN, X_OK) != 0)
+       if (access(LVCREATE_BIN, X_OK) != 0)
        {
-           SN_THROW(ProgramNotInstalledException(LVCREATEBIN " not installed"));
+           SN_THROW(ProgramNotInstalledException(LVCREATE_BIN " not installed"));
        }
 
-       if (access(LVSBIN, X_OK) != 0)
+       if (access(LVS_BIN, X_OK) != 0)
        {
-           SN_THROW(ProgramNotInstalledException(LVSBIN " not installed"));
+           SN_THROW(ProgramNotInstalledException(LVS_BIN " not installed"));
        }
 
-       if (access(LVCHANGEBIN, X_OK) != 0)
+       if (access(LVCHANGE_BIN, X_OK) != 0)
        {
-           SN_THROW(ProgramNotInstalledException(LVCHANGEBIN " not installed"));
+           SN_THROW(ProgramNotInstalledException(LVCHANGE_BIN " not installed"));
        }
 
        bool found = false;
@@ -483,7 +483,7 @@ namespace snapper
 
     LvmCapabilities::LvmCapabilities()
     {
-       SystemCmd cmd({ LVMBIN, "version" });
+       SystemCmd cmd({ LVM_BIN, "version" });
 
        if (cmd.retcode() != 0 || cmd.get_stdout().empty())
        {
index 1709a32468223d71fd985131a5423bde9ce22132..0d71e7273ae13e08fa2bc9f31bee4cb40d699836 100644 (file)
@@ -91,7 +91,7 @@ namespace snapper
        {
            boost::upgrade_to_unique_lock<boost::shared_mutex> unique_lock(upg_lock);
 
-           SystemCmd::Args cmd_args = { LVCHANGEBIN };
+           SystemCmd::Args cmd_args = { LVCHANGE_BIN };
            if (!caps->get_ignoreactivationskip().empty())
                cmd_args << caps->get_ignoreactivationskip();
            cmd_args << "--activate" << "y" << full_name();
@@ -125,7 +125,7 @@ namespace snapper
        {
            boost::upgrade_to_unique_lock<boost::shared_mutex> unique_lock(upg_lock);
 
-           SystemCmd cmd({ LVCHANGEBIN, "--activate", "n", full_name() });
+           SystemCmd cmd({ LVCHANGE_BIN, "--activate", "n", full_name() });
            if (cmd.retcode() != 0)
            {
                y2err("lvm cache: " << full_name() << " deactivation failed!");
@@ -144,7 +144,7 @@ namespace snapper
     {
        boost::unique_lock<boost::shared_mutex> unique_lock(lv_mutex);
 
-       SystemCmd cmd({ LVSBIN, "--noheadings", "--options", "lv_attr,segtype", full_name() });
+       SystemCmd cmd({ LVS_BIN, "--noheadings", "--options", "lv_attr,segtype", full_name() });
        if (cmd.retcode() != 0 || cmd.get_stdout().empty())
        {
            y2err("lvm cache: failed to get info about " << full_name());
@@ -186,7 +186,7 @@ namespace snapper
        {
            boost::upgrade_to_unique_lock<boost::shared_mutex> unique_lock(upg_lock);
 
-           SystemCmd cmd({ LVCHANGEBIN, "--permission", read_only ? "r" : "rw", full_name() });
+           SystemCmd cmd({ LVCHANGE_BIN, "--permission", read_only ? "r" : "rw", full_name() });
            if (cmd.retcode() != 0)
            {
                y2err("lvm cache: " << full_name() << " setting permission failed!");
@@ -339,7 +339,7 @@ namespace snapper
 
        boost::upgrade_to_unique_lock<boost::shared_mutex> unique_lock(upg_lock);
 
-       SystemCmd cmd({ LVCREATEBIN, "--permission", read_only ? "r" : "rw", "--snapshot",
+       SystemCmd cmd({ LVCREATE_BIN, "--permission", read_only ? "r" : "rw", "--snapshot",
                "--name", lv_snapshot_name, full_name(lv_origin_name) });
 
        if (cmd.retcode() != 0)
@@ -363,7 +363,7 @@ namespace snapper
        }
        else
        {
-           SystemCmd cmd({ LVSBIN, "--noheadings", "--options", "lv_attr,segtype", full_name(lv_name) });
+           SystemCmd cmd({ LVS_BIN, "--noheadings", "--options", "lv_attr,segtype", full_name(lv_name) });
            if (cmd.retcode() != 0 || cmd.get_stdout().empty())
            {
                y2err("lvm cache: failed to get info about " << full_name(lv_name));
@@ -399,7 +399,7 @@ namespace snapper
        // wait for all individual lv cache operations under shared vg lock to finish
        boost::upgrade_to_unique_lock<boost::shared_mutex> unique_lock(upg_lock);
 
-       SystemCmd cmd({ LVREMOVEBIN, "--force", full_name(lv_name) });
+       SystemCmd cmd({ LVREMOVE_BIN, "--force", full_name(lv_name) });
        if (cmd.retcode() != 0)
            throw LvmCacheException();
 
@@ -552,7 +552,7 @@ namespace snapper
     void
     LvmCache::add_vg(const string& vg_name, const string& include_lv_name)
     {
-       SystemCmd cmd({ LVSBIN, "--noheadings", "--options", "lv_name,lv_attr,segtype", vg_name });
+       SystemCmd cmd({ LVS_BIN, "--noheadings", "--options", "lv_name,lv_attr,segtype", vg_name });
        if (cmd.retcode() != 0)
        {
            y2err("lvm cache: failed to get info about VG " << vg_name);
index 7711f21fc917eb1361f8de5308d60b5620c7eb11..a1f0f91d6357e006f34b787d5b43495a4e74bc84 100644 (file)
@@ -519,7 +519,7 @@ namespace snapper
 
            sysconfig.save();
 
-           SystemCmd cmd({ RMBIN, "--", CONFIGS_DIR "/" + config_name });
+           SystemCmd cmd({ RM_BIN, "--", CONFIGS_DIR "/" + config_name });
 
            SN_RETHROW(e);
        }
@@ -587,7 +587,7 @@ namespace snapper
            SN_THROW(DeleteConfigFailedException("deleting snapshot failed"));
        }
 
-       SystemCmd cmd1({ RMBIN, "--", CONFIGS_DIR "/" + config_name });
+       SystemCmd cmd1({ RM_BIN, "--", CONFIGS_DIR "/" + config_name });
        if (cmd1.retcode() != 0)
        {
            SN_THROW(DeleteConfigFailedException("deleting config-file failed"));
index a97fac5948dad41d5ff97b239fcddf0e1ac01209..8f889017b8b4ec5c7c752544c4577a89702e32e6 100644 (file)
 #define SNAPSHOT_NAME "snapshot"
 
 
-// commands
+// commands - more in configure.ac
 
 #define SH_BIN "/bin/sh"
 #define SSH_BIN "/usr/bin/ssh"
 
-#define BTRFS_BIN "/usr/sbin/btrfs"
-
 #define SYSTEMCTL_BIN "/usr/bin/systemctl"
 
-#define FINDMNT_BIN "/usr/bin/findmnt"
-#define REALPATH_BIN "/usr/bin/realpath"
-
-#define CP_BIN "/usr/bin/cp"
 #define SCP_BIN "/usr/bin/scp"
 #define MKDIR_BIN "/usr/bin/mkdir"
 
-#define RM_BIN "/usr/bin/rm"
-#define RMDIR_BIN "/usr/bin/rmdir"
-
 
 // keys from the config files