<feed xmlns='http://www.w3.org/2005/Atom'>
<title>propellor/src/Propellor/Spin.hs, branch master</title>
<subtitle>gnusosa's centralized propellor repository for hosts spin-up.
</subtitle>
<id>https://git.gnusosa.net/propellor/atom?h=master</id>
<link rel='self' href='https://git.gnusosa.net/propellor/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/'/>
<updated>2017-10-04T18:04:49Z</updated>
<entry>
<title>override deploy url with PropellorRepo.hasOriginUrl info</title>
<updated>2017-10-04T18:04:49Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-10-04T18:04:49Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=2865b4c13b699e3fb46729b983f80da59eb8d178'/>
<id>urn:sha1:2865b4c13b699e3fb46729b983f80da59eb8d178</id>
<content type='text'>
* Made the PropellorRepo.hasOriginUrl property override the repository
  url that --spin passes to a host.
* PropellorRepo.hasOriginUrl type changed to include HasInfo. (API change)

This commit was sponsored by Jake Vosloo on Patreon.
</content>
</entry>
<entry>
<title>avoid propagating non-alias DNS info from container to host</title>
<updated>2017-10-04T17:10:59Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-10-04T17:10:59Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=422435f505bf0c6c0e00dc85e0bfd2860b79100e'/>
<id>urn:sha1:422435f505bf0c6c0e00dc85e0bfd2860b79100e</id>
<content type='text'>
* When the ipv4 and ipv6 properties are used with a container, avoid
  propagating the address out to the host.
* DnsInfo has been replaced with DnsInfoPropagated and
  DnsInfoUnpropagated. (API change)
* Code that used fromDnsInfo . fromInfo changes to use getDnsInfo.
* addDNS takes an additional Bool parameter to control whether
  the DNS info should propagate out of containers. (API change)

This commit was sponsored by Trenton Cronholm on Patreon.
</content>
</entry>
<entry>
<title>finally really fixed HEAD problem</title>
<updated>2017-07-13T16:29:01Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-07-13T16:29:01Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=53fe5ffaac4a243bb9fd3cf0e757128150a6a199'/>
<id>urn:sha1:53fe5ffaac4a243bb9fd3cf0e757128150a6a199</id>
<content type='text'>
My first try with a pipe was the right approach, and was almost right,
except I forgot to close the write end of the pipe, and so it was inherited
by the forked process, leading to deadlock.
</content>
</entry>
<entry>
<title>trying the pipe trick again</title>
<updated>2017-07-13T15:23:04Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-07-13T15:23:04Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=1555c6f88a0446d3e29149eff8315817696731e1'/>
<id>urn:sha1:1555c6f88a0446d3e29149eff8315817696731e1</id>
<content type='text'>
With some small changes, and debugging.
</content>
</entry>
<entry>
<title>Revert "disable buffering earlier"</title>
<updated>2017-07-13T15:10:27Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-07-13T15:10:27Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=043cd2218efb8e3d2f04ae2faff38293a01ed0c5'/>
<id>urn:sha1:043cd2218efb8e3d2f04ae2faff38293a01ed0c5</id>
<content type='text'>
This reverts commit 632137836b39462883483a621f9dd696ce1d73cc.

Still failing :( Seems that disabling buffering is not the solution.
</content>
</entry>
<entry>
<title>disable buffering earlier</title>
<updated>2017-07-13T15:04:14Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-07-13T15:04:14Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=632137836b39462883483a621f9dd696ce1d73cc'/>
<id>urn:sha1:632137836b39462883483a621f9dd696ce1d73cc</id>
<content type='text'>
The "fatal: Couldn't find remote ref HEAD" persists, and is intermittent
so hard to be sure but it seemed that disabling buffering earlier
avoided it. Now done first thing on start.

I was not able to find anything that reads from stdin other than
getMarked, but perhaps there is something..
</content>
</entry>
<entry>
<title>add bootstrapWith property to support stack and more</title>
<updated>2017-07-12T23:12:36Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-07-12T23:12:36Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=08010583fa42af1b2b5ab070e4742263d43b26cf'/>
<id>urn:sha1:08010583fa42af1b2b5ab070e4742263d43b26cf</id>
<content type='text'>
* Hosts can be configured to build propellor using stack, by adding
  a property:
	&amp; bootstrapWith (Robustly Stack)
* Hosts can be configured to build propellor using cabal, but using
  only packages installed from the operating system. This
  will work on eg Debian:
	&amp; bootstrapWith OSOnly
  propellor build its config using stack. (This does not affect
  how propellor is bootstrapped on a host by "propellor --spin host".)

This has not yet been tested at all! But should probably work fine.

This is based on earlier work by Arnaud Bailly, who made
Propellor.Bootstrap use stack without parameterization.
In Arnaud's patch, stack was installed using wget, but that
only worked on linux-x86_64 and was insecure. I instead chose
to use the distribution packages of stack, like is done for cabal.
Debian stack has haskell-stack now, and it's getting into many
distributions.

This commit was sponsored by Francois Marier on Patreon.
</content>
</entry>
<entry>
<title>my pipe trick didn't work; fallback to NoBuffering</title>
<updated>2017-06-18T22:57:41Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-06-18T22:57:41Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=217f787df9d6474c9a57fd29b6b2fa29bef64a8a'/>
<id>urn:sha1:217f787df9d6474c9a57fd29b6b2fa29bef64a8a</id>
<content type='text'>
Not sure what the problem was, but it hung. Also though, I noticed that
stdin was still open when git fetch was run, so if git fetch itself
decided to read from stdin, it would mess up the protocol forwarding.
While git fetch should never read from stdin, that was reason enough to
fall back to plan B.
</content>
</entry>
<entry>
<title>Fix bug that sometimes made --spin fail with "fatal: Couldn't find remote ref HEAD"</title>
<updated>2017-06-18T22:24:05Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-06-18T22:24:05Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=01fc1375cece096ab2dec480b843ecdbc4f0d94e'/>
<id>urn:sha1:01fc1375cece096ab2dec480b843ecdbc4f0d94e</id>
<content type='text'>
Tricky stdin buffering problem.

An easier fix would have been:

	hSetBuffering stdin NoBuffering

But that approach is less robust; even with NoBuffering, anything that
uses hLookAhead causes 1 byte of buffering. And, any reads from stdin
before hSetBuffering would still cause the problem. Instead, I used a
bigger hammer that will always work. It involves a bit more CPU work,
but this is data that is already being fed through ssh; copying it one
more time won't cause a measurable performance impact.

This commit was sponsored by Jack Hill on Patreon.
</content>
</entry>
<entry>
<title>remove unnecessary binary mode setting</title>
<updated>2017-06-18T20:57:38Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-06-18T20:57:38Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=9b457ae66d5c5143f5896156cc4af8d5a0bc0ddc'/>
<id>urn:sha1:9b457ae66d5c5143f5896156cc4af8d5a0bc0ddc</id>
<content type='text'>
This is using ByteString, so the handle IO discipline is irrelevant.
</content>
</entry>
</feed>
