mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-15 02:36:16 +02:00
Remove dead makeMutable() function
This code wasn't being compiled because the #if conditional didn't trigger. Anyway, Nix 0.15 is 15 years old so we don't need to keep this around.
This commit is contained in:
parent
af26fe3934
commit
3fe1b60c57
2 changed files with 0 additions and 61 deletions
|
@ -42,7 +42,6 @@
|
||||||
# include <sched.h>
|
# include <sched.h>
|
||||||
# include <sys/statvfs.h>
|
# include <sys/statvfs.h>
|
||||||
# include <sys/mount.h>
|
# include <sys/mount.h>
|
||||||
# include <sys/ioctl.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __CYGWIN__
|
#ifdef __CYGWIN__
|
||||||
|
@ -366,8 +365,6 @@ LocalStore::LocalStore(
|
||||||
have performed the upgrade already. */
|
have performed the upgrade already. */
|
||||||
curSchema = getSchema();
|
curSchema = getSchema();
|
||||||
|
|
||||||
if (curSchema < 7) { upgradeStore7(); }
|
|
||||||
|
|
||||||
openDB(*state, false);
|
openDB(*state, false);
|
||||||
|
|
||||||
if (curSchema < 8) {
|
if (curSchema < 8) {
|
||||||
|
@ -1596,62 +1593,6 @@ std::optional<TrustedFlag> LocalStore::isTrustedClient()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if defined(FS_IOC_SETFLAGS) && defined(FS_IOC_GETFLAGS) && defined(FS_IMMUTABLE_FL)
|
|
||||||
|
|
||||||
static void makeMutable(const Path & path)
|
|
||||||
{
|
|
||||||
checkInterrupt();
|
|
||||||
|
|
||||||
auto st = lstat(path);
|
|
||||||
|
|
||||||
if (!S_ISDIR(st.st_mode) && !S_ISREG(st.st_mode)) return;
|
|
||||||
|
|
||||||
if (S_ISDIR(st.st_mode)) {
|
|
||||||
for (auto & i : readDirectory(path))
|
|
||||||
makeMutable(path + "/" + i.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The O_NOFOLLOW is important to prevent us from changing the
|
|
||||||
mutable bit on the target of a symlink (which would be a
|
|
||||||
security hole). */
|
|
||||||
AutoCloseFD fd = open(path.c_str(), O_RDONLY | O_NOFOLLOW
|
|
||||||
#ifndef _WIN32
|
|
||||||
| O_CLOEXEC
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
if (fd == INVALID_DESCRIPTOR) {
|
|
||||||
if (errno == ELOOP) return; // it's a symlink
|
|
||||||
throw SysError("opening file '%1%'", path);
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int flags = 0, old;
|
|
||||||
|
|
||||||
/* Silently ignore errors getting/setting the immutable flag so
|
|
||||||
that we work correctly on filesystems that don't support it. */
|
|
||||||
if (ioctl(fd, FS_IOC_GETFLAGS, &flags)) return;
|
|
||||||
old = flags;
|
|
||||||
flags &= ~FS_IMMUTABLE_FL;
|
|
||||||
if (old == flags) return;
|
|
||||||
if (ioctl(fd, FS_IOC_SETFLAGS, &flags)) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Upgrade from schema 6 (Nix 0.15) to schema 7 (Nix >= 1.3). */
|
|
||||||
void LocalStore::upgradeStore7()
|
|
||||||
{
|
|
||||||
if (!isRootUser()) return;
|
|
||||||
printInfo("removing immutable bits from the Nix store (this may take a while)...");
|
|
||||||
makeMutable(realStoreDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
void LocalStore::upgradeStore7()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void LocalStore::vacuumDB()
|
void LocalStore::vacuumDB()
|
||||||
{
|
{
|
||||||
auto state(_state.lock());
|
auto state(_state.lock());
|
||||||
|
|
|
@ -373,8 +373,6 @@ private:
|
||||||
|
|
||||||
void updatePathInfo(State & state, const ValidPathInfo & info);
|
void updatePathInfo(State & state, const ValidPathInfo & info);
|
||||||
|
|
||||||
void upgradeStore6();
|
|
||||||
void upgradeStore7();
|
|
||||||
PathSet queryValidPathsOld();
|
PathSet queryValidPathsOld();
|
||||||
ValidPathInfo queryPathInfoOld(const Path & path);
|
ValidPathInfo queryPathInfoOld(const Path & path);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue