[buildd-tools-devel] [PATCH 10/11] Some cleanup for directory and union chroots
Jan-Marek Glogowski
glogow at fbihome.de
Thu Jul 30 19:10:59 UTC 2009
Introduces own error messages when sesstion underlay and overlay
directories. Remove a duplicated / superfluous ifdef from the
directory chroot file and drops an unnecessary variable usage
from the session code.
---
sbuild/sbuild-chroot-directory.cc | 3 +--
sbuild/sbuild-chroot-session.cc | 4 ++--
sbuild/sbuild-chroot-union.cc | 8 ++++----
sbuild/sbuild-chroot.cc | 4 +++-
sbuild/sbuild-chroot.h | 4 +++-
5 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/sbuild/sbuild-chroot-directory.cc b/sbuild/sbuild-chroot-directory.cc
index d78eadc..36218d5 100644
--- a/sbuild/sbuild-chroot-directory.cc
+++ b/sbuild/sbuild-chroot-directory.cc
@@ -74,12 +74,11 @@ chroot_directory::clone_source () const
{
ptr clone;
-#ifdef SBUILD_FEATURE_UNION
if (get_union_configured()) {
clone = ptr(new chroot_directory(*this));
clone_source_setup(clone);
}
-#endif // SBUILD_FEATURE_UNION
+
return ptr(clone);
}
#endif // SBUILD_FEATURE_UNION
diff --git a/sbuild/sbuild-chroot-session.cc b/sbuild/sbuild-chroot-session.cc
index 0329795..312a515 100644
--- a/sbuild/sbuild-chroot-session.cc
+++ b/sbuild/sbuild-chroot-session.cc
@@ -96,8 +96,8 @@ chroot_session::clone_session_setup (chroot::ptr& clone,
std::tr1::shared_ptr<chroot_lvm_snapshot> snapshot(std::tr1::dynamic_pointer_cast<chroot_lvm_snapshot>(clone));
if (snapshot)
{
- std::string dir(dirname(snapshot->get_device(), '/'));
- std::string device(dir + "/" + clone->get_session_id());
+ std::string device(dirname(snapshot->get_device(), '/'));
+ device += "/" + clone->get_session_id();
snapshot->set_snapshot_device(device);
}
#endif // SBUILD_FEATURE_LVMSNAP
diff --git a/sbuild/sbuild-chroot-union.cc b/sbuild/sbuild-chroot-union.cc
index e2ed197..8c776cd 100644
--- a/sbuild/sbuild-chroot-union.cc
+++ b/sbuild/sbuild-chroot-union.cc
@@ -98,8 +98,8 @@ void
chroot_union::set_union_overlay_directory
(std::string const& directory)
{
- if (!is_absname(union_overlay_directory))
- throw chroot::error(union_overlay_directory, chroot::LOCATION_ABS);
+ if (!is_absname(directory))
+ throw chroot::error(directory, chroot::OVERLAY_ABS);
this->union_overlay_directory = directory;
}
@@ -114,8 +114,8 @@ void
chroot_union::set_union_underlay_directory
(std::string const& directory)
{
- if (!is_absname(union_underlay_directory))
- throw chroot::error(union_underlay_directory, chroot::LOCATION_ABS);
+ if (!is_absname(directory))
+ throw chroot::error(directory, chroot::UNDERLAY_ABS);
this->union_underlay_directory = directory;
}
diff --git a/sbuild/sbuild-chroot.cc b/sbuild/sbuild-chroot.cc
index ab96f1c..5a09286 100644
--- a/sbuild/sbuild-chroot.cc
+++ b/sbuild/sbuild-chroot.cc
@@ -75,9 +75,11 @@ namespace
emap(sbuild::chroot::FILE_PERMS, N_("File has write permissions for others")),
emap(sbuild::chroot::FILE_UNLOCK, N_("Failed to discard file lock")),
emap(sbuild::chroot::LOCATION_ABS, N_("Location must have an absolute path")),
+ emap(sbuild::chroot::OVERLAY_ABS, N_("Union overlay must have an absolute path")),
// TRANSLATORS: unlink refers to the C function which removes a file
emap(sbuild::chroot::SESSION_UNLINK, N_("Failed to unlink session file")),
- emap(sbuild::chroot::SESSION_WRITE, N_("Failed to write session file"))
+ emap(sbuild::chroot::SESSION_WRITE, N_("Failed to write session file")),
+ emap(sbuild::chroot::UNDERLAY_ABS, N_("Union underlay must have an absolute path"))
};
}
diff --git a/sbuild/sbuild-chroot.h b/sbuild/sbuild-chroot.h
index cb82c05..fe6c3ed 100644
--- a/sbuild/sbuild-chroot.h
+++ b/sbuild/sbuild-chroot.h
@@ -82,8 +82,10 @@ namespace sbuild
FILE_PERMS, ///< File has write permissions for others.
FILE_UNLOCK, ///< Failed to discard lock.
LOCATION_ABS, ///< Location must have an absolute path.
+ OVERLAY_ABS, ///< Union overlay must have an absolute path.
SESSION_UNLINK, ///< Failed to unlink session file.
- SESSION_WRITE ///< Failed to write session file.
+ SESSION_WRITE, ///< Failed to write session file.
+ UNDERLAY_ABS ///< Union underlay must have an absolute path.
};
/// Exception type.
--
1.6.3.2
More information about the Buildd-tools-devel
mailing list