get_child_value(json_file.get_root(), "target-mkdir-bin", target_mkdir_bin);
get_child_value(json_file.get_root(), "target-rm-bin", target_rm_bin);
get_child_value(json_file.get_root(), "target-rmdir-bin", target_rmdir_bin);
- get_child_value(json_file.get_root(), "target-sha256sum-bin", target_sha256sum_bin);
}
string target_mkdir_bin = MKDIR_BIN;
string target_rm_bin = RM_BIN;
string target_rmdir_bin = RMDIR_BIN;
- string target_sha256sum_bin = SHA256SUM_BIN;
private:
+++ /dev/null
-/*
- * Copyright (c) 2026 SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as published
- * by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail, you may
- * find current contact information at www.novell.com.
- */
-
-
-#include <boost/algorithm/string.hpp>
-
-#include <snapper/AppUtil.h>
-#include <snapper/Exception.h>
-#include <snapper/LoggerImpl.h>
-#include <snapper/SystemCmd.h>
-
-#include "../utils/text.h"
-
-#include "CmdChecksum.h"
-
-
-namespace snapper
-{
-
- CmdChecksum::CmdChecksum(const Shell& shell, const string& chksum_bin, const string& path)
- : path(path)
- {
- SystemCmd::Args cmd_args = { chksum_bin, "--", path };
- SystemCmd cmd(shellify(shell, cmd_args));
-
- if (cmd.retcode() != 0)
- {
- y2err("command '" << cmd.cmd() << "' failed: " << cmd.retcode());
- for (const string& tmp : cmd.get_stdout())
- y2err(tmp);
- for (const string& tmp : cmd.get_stderr())
- y2err(tmp);
-
- SN_THROW(Exception(_("Failed to compute checksum.")));
- }
-
- parse(cmd.get_stdout());
-
- y2mil(*this);
- }
-
-
- void
- CmdChecksum::parse(const vector<string>& lines)
- {
- if (lines.size() != 1)
- SN_THROW(Exception(_("Invalid number of lines in checksum output.")));
-
- vector<string> parts;
- boost::split(parts, lines[0], boost::is_any_of(" "), boost::token_compress_on);
- if (parts.size() != 2)
- {
- y2err("Invalid checksum line: " << lines[0]);
- SN_THROW(Exception(_("Invalid checksum output format.")));
- }
-
- checksum = parts[0];
- }
-
-
- std::ostream&
- operator<<(std::ostream& s, const CmdChecksum& cmd_checksum)
- {
- s << "path: " << cmd_checksum.path << " checksum: " << cmd_checksum.checksum << '\n';
-
- return s;
- }
-
-
-} // namespace snapper
+++ /dev/null
-/*
- * Copyright (c) 2026 SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as published
- * by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail, you may
- * find current contact information at www.novell.com.
- */
-
-
-#ifndef SNAPPER_CMD_CHECKSUM_H
-#define SNAPPER_CMD_CHECKSUM_H
-
-
-#include "Shell.h"
-
-
-namespace snapper
-{
- using std::string;
-
-
- /**
- * Get the checksum (e.g. sha256sum) of the file at the given path.
- */
- class CmdChecksum
- {
- public:
-
- CmdChecksum(const Shell& shell, const string& checksum_bin, const string& path);
-
- const string& get_checksum() const { return checksum; }
-
- friend std::ostream& operator<<(std::ostream& s, const CmdChecksum& cmd_checksum);
-
- private:
-
- void parse(const vector<string>& lines);
-
- const string path;
- string checksum;
-
- };
-
-
-} // namespace snapper
-
-
-#endif
Shell.cc Shell.h \
CmdBtrfs.cc CmdBtrfs.h \
CmdLs.cc CmdLs.h \
- CmdChecksum.cc CmdChecksum.h \
CmdMetaParse.cc CmdMetaParse.h \
JsonFile.cc JsonFile.h \
utils.cc utils.h \
AC_PATH_PROG([MKDIR_BIN], [mkdir], [/bin/mkdir])
AC_PATH_PROG([RM_BIN], [rm], [/bin/rm])
AC_PATH_PROG([RMDIR_BIN], [rmdir], [/bin/rmdir])
-AC_PATH_PROG([SHA256SUM_BIN], [sha256sum], [/usr/bin/sha256sum])
AC_PATH_PROG([TOUCH_BIN], [touch], [/usr/bin/touch])
AC_DEFINE_UNQUOTED([BTRFS_BIN], ["$BTRFS_BIN"], [Path of btrfs program.])
AC_DEFINE_UNQUOTED([MKDIR_BIN], ["$MKDIR_BIN"], [Path of mkdir 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([SHA256SUM_BIN], ["$SHA256SUM_BIN"], [Path of sha256sum program.])
AC_DEFINE_UNQUOTED([TOUCH_BIN], ["$TOUCH_BIN"], [Path of touch program.])
CFLAGS="${CFLAGS} -std=c99 -Wall -Wextra -Wformat -Wmissing-prototypes -Wno-unused-parameter"