diff options
author | Michael Vogt <mvo@ubuntu.com> | 2014-04-01 12:28:56 +0200 |
---|---|---|
committer | Michael Vogt <mvo@ubuntu.com> | 2014-04-01 12:28:56 +0200 |
commit | be20eef52da4b7f361333ea70a8d705a98ae779e (patch) | |
tree | 4177a110ce6b1335fc4b85d5e53b298a65661f39 /apt-private/private-sources.cc | |
parent | a555cf8be53d8b5557f004ecbde8482a169b79f3 (diff) | |
parent | 21b3eac8f9ab8e12b43fa8998a5aa5465f29adc5 (diff) |
Merge remote-tracking branch 'upstream/debian/sid' into feature/apt-manpage
Conflicts:
cmdline/apt.cc
Diffstat (limited to 'apt-private/private-sources.cc')
-rw-r--r-- | apt-private/private-sources.cc | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/apt-private/private-sources.cc b/apt-private/private-sources.cc index 65706e785..301936b9d 100644 --- a/apt-private/private-sources.cc +++ b/apt-private/private-sources.cc @@ -1,10 +1,23 @@ +#include <config.h> #include <apt-pkg/hashes.h> -#include <apti18n.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/sourcelist.h> +#include <apt-pkg/cmndline.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> + +#include <apt-private/private-output.h> +#include <apt-private/private-sources.h> +#include <apt-private/private-utils.h> -#include "private-output.h" -#include "private-sources.h" -#include "private-utils.h" +#include <stddef.h> +#include <unistd.h> +#include <iostream> +#include <string> + +#include <apti18n.h> /* Interface discussion with donkult (for the future): apt [add-{archive,release,component}|edit|change-release|disable]-sources @@ -32,6 +45,10 @@ bool EditSources(CommandLine &CmdL) if (FileExists(sourceslist)) before.FromFile(sourceslist); + int lockfd = GetLock(sourceslist); + if (lockfd < 0) + return false; + do { EditFileInSensibleEditor(sourceslist); _error->PushToStack(); @@ -46,6 +63,7 @@ bool EditSources(CommandLine &CmdL) } _error->RevertToStack(); } while (res == false); + close(lockfd); if (FileExists(sourceslist) && !before.VerifyFile(sourceslist)) { strprintf( |