summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog2
-rw-r--r--doc/contributing.mdwn4
-rw-r--r--doc/forum/Shared_connection_to_xxx_closed./comment_9_3f3028244efa8a6528a4530bca4cb222._comment (renamed from doc/forum/doc/forum/Shared_connection_to_xxx_closed./comment_1_3f3028244efa8a6528a4530bca4cb222._comment)0
-rw-r--r--doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_5_b73901c0aa408d35346c46e523be8c3f._comment7
-rw-r--r--doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_6_3394c1a7a485057fda84dd910e29d90f._comment23
-rw-r--r--doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_7_5a3418e8cc800ceea5988059b6d86aff._comment8
-rw-r--r--doc/forum/chroot_issue_when_upgrading/comment_2_be3846f1cf7853beb486afc2077cd8b2._comment29
-rw-r--r--doc/forum/chroot_issue_when_upgrading/comment_3_f902730900901dccdf2e290a176458f9._comment9
-rw-r--r--doc/forum/chroot_issue_when_upgrading/comment_4_4004abde37eb4bc7d845fb7bba2c635d._comment14
-rw-r--r--doc/forum/chroot_issue_when_upgrading/comment_5_fe9deffb0cd356787fed33a373115f73._comment26
-rw-r--r--doc/forum/chroot_issue_when_upgrading/comment_6_262df826e5bbd0130964e0433fb172f2._comment7
-rw-r--r--doc/forum/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_1_f4b5e7c3e42dcb979a309873bb3491ae._comment8
-rw-r--r--doc/todo/commandline_to_setup_minimal_repo.mdwn5
-rw-r--r--doc/todo/detect_and_use___96__GHC__95__PACKAGE__95__PATH__96__/comment_7_dd93ac4f42dab131aa75fece53e51067._comment16
-rw-r--r--src/Propellor/Property/Apt.hs7
15 files changed, 154 insertions, 11 deletions
diff --git a/debian/changelog b/debian/changelog
index 89454200..1075773d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -71,6 +71,8 @@ propellor (2.17.1) unstable; urgency=medium
* Uwsgi: add ".ini" extension to app config files.
Files without extensions were ignored by uwsgi.
Thanks, FĂ©lix Sipma.
+ * Apt.update: Also run dpkg --configure -a here as apt for some reason
+ won't even update if dpkg was interrupted.
-- Joey Hess <id@joeyh.name> Mon, 28 Mar 2016 11:06:34 -0400
diff --git a/doc/contributing.mdwn b/doc/contributing.mdwn
index 84aa5d64..e75784df 100644
--- a/doc/contributing.mdwn
+++ b/doc/contributing.mdwn
@@ -17,3 +17,7 @@ Propellor has its own [[coding_style]], which you are encouraged to follow
-- at least when you want to get a patch merged into propellor.
When writing code for your own internal use, feel free to ignore all the
rules, except the ones about avoiding partial functions.
+
+Also, mainline Propellor aims to be buildable with the version of ghc
+shipped in Debian stable. And, additional weighty dependencies are best
+avoided.
diff --git a/doc/forum/doc/forum/Shared_connection_to_xxx_closed./comment_1_3f3028244efa8a6528a4530bca4cb222._comment b/doc/forum/Shared_connection_to_xxx_closed./comment_9_3f3028244efa8a6528a4530bca4cb222._comment
index e5378cc7..e5378cc7 100644
--- a/doc/forum/doc/forum/Shared_connection_to_xxx_closed./comment_1_3f3028244efa8a6528a4530bca4cb222._comment
+++ b/doc/forum/Shared_connection_to_xxx_closed./comment_9_3f3028244efa8a6528a4530bca4cb222._comment
diff --git a/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_5_b73901c0aa408d35346c46e523be8c3f._comment b/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_5_b73901c0aa408d35346c46e523be8c3f._comment
new file mode 100644
index 00000000..61f34253
--- /dev/null
+++ b/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_5_b73901c0aa408d35346c46e523be8c3f._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="gueux"
+ subject="comment 5"
+ date="2016-03-28T19:39:22Z"
+ content="""
+The error message is one thing, but shouldn't the container built with Systemd.container be clonable? Maybe by adding an additional \"export-tar/import-tar\" step to Systemd.container or by using something different from mkchroot?
+"""]]
diff --git a/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_6_3394c1a7a485057fda84dd910e29d90f._comment b/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_6_3394c1a7a485057fda84dd910e29d90f._comment
new file mode 100644
index 00000000..9ae8219c
--- /dev/null
+++ b/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_6_3394c1a7a485057fda84dd910e29d90f._comment
@@ -0,0 +1,23 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 6"""
+ date="2016-03-29T21:09:25Z"
+ content="""
+ clone NAME NAME
+ Clones a container or VM image. The arguments specify the
+ name of the image to clone and the name of the newly
+ cloned image. Note that plain directory container images
+ are cloned into subvolume images with this command.
+
+That seems to say that the directory that Systemd.container sets up
+should be clonable too. Perhaps this is a systemd bug?
+
+If systemd needs a container to be loaded from a tarball in order to be
+clonable this way, I guess I would not mind if Systemd.container did that
+as part of its initial bootstrapping. But it is extra work so I'd like to
+make sure that it's really intended to need to do that.
+
+(Myself, I don't care if I can't clone a container; I can delete any of them
+and propellor can rebuild them, or even move the line to a different host
+in config.hs to relocate the container.)
+"""]]
diff --git a/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_7_5a3418e8cc800ceea5988059b6d86aff._comment b/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_7_5a3418e8cc800ceea5988059b6d86aff._comment
new file mode 100644
index 00000000..e6e24c42
--- /dev/null
+++ b/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_7_5a3418e8cc800ceea5988059b6d86aff._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="gueux"
+ subject="comment 7"
+ date="2016-03-30T11:32:51Z"
+ content="""
+After a chat session on #systemd, I've posted a new issue https://github.com/systemd/systemd/issues/2914
+There should be updates soon.
+"""]]
diff --git a/doc/forum/chroot_issue_when_upgrading/comment_2_be3846f1cf7853beb486afc2077cd8b2._comment b/doc/forum/chroot_issue_when_upgrading/comment_2_be3846f1cf7853beb486afc2077cd8b2._comment
new file mode 100644
index 00000000..6999ceb1
--- /dev/null
+++ b/doc/forum/chroot_issue_when_upgrading/comment_2_be3846f1cf7853beb486afc2077cd8b2._comment
@@ -0,0 +1,29 @@
+[[!comment format=mdwn
+ username="picca"
+ subject="comment 2"
+ date="2016-03-29T16:58:05Z"
+ content="""
+Hello, joey now that I installed 2.17.1 I can test the fix but...
+
+ [2016-03-29 16:50:06 UTC] call: apt-get [\"update\"]
+ [2016-03-29 16:50:06 UTC] fgProcess (\"apt-get\",[\"update\"])
+ E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
+ [2016-03-29 16:50:07 UTC] fgProcess done (\"apt-get\",[\"update\"])
+ [2016-03-29 16:50:07 UTC] process done ExitFailure 100
+
+my property is
+
+ chroot = Chroot.debootstrapped Debootstrap.BuilddD chrootdir
+ & os system
+ & case proxy of
+ (Just p) -> \"/etc/apt/apt.conf.d/01proxy\" `File.hasContent` [\"Acquire::http::Proxy \\"\" ++ p ++ \"\\";\"]
+ Nothing -> doNothing
+ & Apt.installed [\"apt-transport-https\"]
+ & Apt.stdSourcesList
+ & Apt.update `onChange` Apt.upgrade
+ & Apt.cacheCleaned
+
+so it failes in the Apt.update and do not reach Apt.upgrade
+so it seems that update should be fixed also :)
+
+"""]]
diff --git a/doc/forum/chroot_issue_when_upgrading/comment_3_f902730900901dccdf2e290a176458f9._comment b/doc/forum/chroot_issue_when_upgrading/comment_3_f902730900901dccdf2e290a176458f9._comment
new file mode 100644
index 00000000..17c02fe7
--- /dev/null
+++ b/doc/forum/chroot_issue_when_upgrading/comment_3_f902730900901dccdf2e290a176458f9._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 3"""
+ date="2016-03-29T20:49:32Z"
+ content="""
+Hmm, I don't ever remember seeing apt-get update need dpkg --configure -a.
+It's rather weird that it would; the files it updates are fully independent
+of the files dpkg does AIUI.
+"""]]
diff --git a/doc/forum/chroot_issue_when_upgrading/comment_4_4004abde37eb4bc7d845fb7bba2c635d._comment b/doc/forum/chroot_issue_when_upgrading/comment_4_4004abde37eb4bc7d845fb7bba2c635d._comment
new file mode 100644
index 00000000..65ca065e
--- /dev/null
+++ b/doc/forum/chroot_issue_when_upgrading/comment_4_4004abde37eb4bc7d845fb7bba2c635d._comment
@@ -0,0 +1,14 @@
+[[!comment format=mdwn
+ username="picca"
+ subject="comment 4"
+ date="2016-03-29T21:36:11Z"
+ content="""
+I found this in the apt code
+
+ #: apt-pkg/deb/debsystem.cc:82
+ msgid \"\"
+ \"dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct \"
+ \"the problem. \"
+ msgstr \"\"
+
+"""]]
diff --git a/doc/forum/chroot_issue_when_upgrading/comment_5_fe9deffb0cd356787fed33a373115f73._comment b/doc/forum/chroot_issue_when_upgrading/comment_5_fe9deffb0cd356787fed33a373115f73._comment
new file mode 100644
index 00000000..43f12d0f
--- /dev/null
+++ b/doc/forum/chroot_issue_when_upgrading/comment_5_fe9deffb0cd356787fed33a373115f73._comment
@@ -0,0 +1,26 @@
+[[!comment format=mdwn
+ username="picca"
+ subject="comment 5"
+ date="2016-03-29T21:41:50Z"
+ content="""
+Here the c++ code of apt
+
+ // See if we need to abort with a dirty journal
+ if (CheckUpdates() == true)
+ {
+ close(d->LockFD);
+ d->LockFD = -1;
+ const char *cmd;
+ if (getenv(\"SUDO_USER\") != NULL)
+ cmd = \"sudo dpkg --configure -a\";
+ else
+ cmd = \"dpkg --configure -a\";
+ // TRANSLATORS: the %s contains the recovery command, usually
+ // dpkg --configure -a
+ return _error->Error(_(\"dpkg was interrupted, you must manually \"
+ \"run '%s' to correct the problem. \"), cmd);
+ }
+
+so there is a dirty journal. (maybe due to a power off during the chroot update)
+
+"""]]
diff --git a/doc/forum/chroot_issue_when_upgrading/comment_6_262df826e5bbd0130964e0433fb172f2._comment b/doc/forum/chroot_issue_when_upgrading/comment_6_262df826e5bbd0130964e0433fb172f2._comment
new file mode 100644
index 00000000..00a282bf
--- /dev/null
+++ b/doc/forum/chroot_issue_when_upgrading/comment_6_262df826e5bbd0130964e0433fb172f2._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 6"""
+ date="2016-03-30T14:44:03Z"
+ content="""
+All right then, I've combined pendingConfigured into Apt.update.
+"""]]
diff --git a/doc/forum/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_1_f4b5e7c3e42dcb979a309873bb3491ae._comment b/doc/forum/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_1_f4b5e7c3e42dcb979a309873bb3491ae._comment
deleted file mode 100644
index 91a63af4..00000000
--- a/doc/forum/doc/forum/Systemd.container_produces_non-standard_systemd_container/comment_1_f4b5e7c3e42dcb979a309873bb3491ae._comment
+++ /dev/null
@@ -1,8 +0,0 @@
-[[!comment format=mdwn
- username="joey"
- subject="""comment 1"""
- date="2015-09-25T13:33:42Z"
- content="""
-I'm guessing this could be due to systemd not having the btrfs volume stuff
-it needs for cloning. Don't really know though.
-"""]]
diff --git a/doc/todo/commandline_to_setup_minimal_repo.mdwn b/doc/todo/commandline_to_setup_minimal_repo.mdwn
new file mode 100644
index 00000000..5e82ed0f
--- /dev/null
+++ b/doc/todo/commandline_to_setup_minimal_repo.mdwn
@@ -0,0 +1,5 @@
+Make propellor --init be a way to set up ~/.propellor. This would allow
+parameters, like --minimal to clone the minimal config repo instead of the
+full one, or --stack to set up ~/.propellor to use stack. --[[Joey]]
+
+> Or, it could be an interactive setup process. --[[Joey]]
diff --git a/doc/todo/detect_and_use___96__GHC__95__PACKAGE__95__PATH__96__/comment_7_dd93ac4f42dab131aa75fece53e51067._comment b/doc/todo/detect_and_use___96__GHC__95__PACKAGE__95__PATH__96__/comment_7_dd93ac4f42dab131aa75fece53e51067._comment
new file mode 100644
index 00000000..5a488d25
--- /dev/null
+++ b/doc/todo/detect_and_use___96__GHC__95__PACKAGE__95__PATH__96__/comment_7_dd93ac4f42dab131aa75fece53e51067._comment
@@ -0,0 +1,16 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 7"""
+ date="2016-03-28T16:06:43Z"
+ content="""
+sm noticed that running the propellor wrapper after stack install propellor
+sets up ~/.propellor/ but fails to build in there, because it uses cabal.
+
+So, it appeared to him as if the propellor command didn't accept switches,
+since it never got to the point of running propellor-config. Which is
+pretty confusing behavior.
+
+To fully support stack, the wrapper or build process would need to notice
+that it was installed using stack, and build using stack. This conflicts
+somewhat with my idea about noticing if stack.yaml exists as the flag.
+"""]]
diff --git a/src/Propellor/Property/Apt.hs b/src/Propellor/Property/Apt.hs
index 1a15f72c..5771750d 100644
--- a/src/Propellor/Property/Apt.hs
+++ b/src/Propellor/Property/Apt.hs
@@ -118,9 +118,10 @@ noninteractiveEnv =
]
update :: Property DebianLike
-update = runApt ["update"]
- `assume` MadeChange
- `describe` "apt update"
+update = combineProperties ("apt update") $ props
+ & pendingConfigured
+ & runApt ["update"]
+ `assume` MadeChange
-- | Have apt upgrade packages, adding new packages and removing old as
-- necessary.