<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git/doc, branch shell-command</title>
<subtitle>gitlab.com: buildstream/buildstream.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/'/>
<entry>
<title>Add a pip element</title>
<updated>2017-08-10T18:49:04+00:00</updated>
<author>
<name>Mathieu Bridon</name>
<email>bochecha@daitauha.fr</email>
</author>
<published>2017-08-10T07:38:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=84d481c780e79bdcadc5d29dbafdd5095d626d7c'/>
<id>84d481c780e79bdcadc5d29dbafdd5095d626d7c</id>
<content type='text'>
Packaging is a big topic in the Python community these days. Things are
evolving, but a consensus seems to have formed around the path forward.

With PEP 518, Pip is becoming the primary tool to install Python
modules. In turn, Pip will use the right underlying tool for the job.
(distutils, setuptools, flint, ...)

Given all this, it makes sense to have a pip element in BuildStream.

This element installs a single Python module, telling Pip not to go and
download its dependencies, to make builds reproducible and not rely
on the network during builds.

By default it will use the `pip` command which generally points to Pip
for Python 2. Users can override the "pip" variable, for example to use
the `pip3` command, which generally points to Pip for Python 3.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Packaging is a big topic in the Python community these days. Things are
evolving, but a consensus seems to have formed around the path forward.

With PEP 518, Pip is becoming the primary tool to install Python
modules. In turn, Pip will use the right underlying tool for the job.
(distutils, setuptools, flint, ...)

Given all this, it makes sense to have a pip element in BuildStream.

This element installs a single Python module, telling Pip not to go and
download its dependencies, to make builds reproducible and not rely
on the network during builds.

By default it will use the `pip` command which generally points to Pip
for Python 2. Users can override the "pip" variable, for example to use
the `pip3` command, which generally points to Pip for Python 3.
</pre>
</div>
</content>
</entry>
<entry>
<title>Artifacts documentation: Add section for summary file updates</title>
<updated>2017-07-20T05:24:56+00:00</updated>
<author>
<name>Jürg Billeter</name>
<email>j@bitron.ch</email>
</author>
<published>2017-07-19T16:05:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=da2e114b051f841cd1d16bf7bb6362aa3baed002'/>
<id>da2e114b051f841cd1d16bf7bb6362aa3baed002</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: Fix Docker instructions</title>
<updated>2017-07-19T12:42:27+00:00</updated>
<author>
<name>Pedro Alvarez Piedehierro</name>
<email>palvarez89@gmail.com</email>
</author>
<published>2017-07-17T22:43:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=96fca9b272fe8ecd3443307fc8d5beb3b24cadcf'/>
<id>96fca9b272fe8ecd3443307fc8d5beb3b24cadcf</id>
<content type='text'>
Suggest the user to mount /etc/passwd inside the container to fix `bzr`
command.

The command `bzr` fails if the uid of the user using it doesn't exist,
giving, for example, the following back trace when running `bzr init`:

      File "/usr/lib64/python2.7/site-packages/bzrlib/lockdir.py", line 238, in _attempt_lock
	tmpname = self._create_pending_dir()
      File "/usr/lib64/python2.7/site-packages/bzrlib/lockdir.py", line 335, in _create_pending_dir
	info = LockHeldInfo.for_this_process(self.extra_holder_info)
      File "/usr/lib64/python2.7/site-packages/bzrlib/lockdir.py", line 779, in for_this_process
	user=get_username_for_lock_info(),
      File "/usr/lib64/python2.7/site-packages/bzrlib/lockdir.py", line 863, in get_username_for_lock_info
	return osutils.getuser_unicode()
      File "/usr/lib64/python2.7/site-packages/bzrlib/osutils.py", line 356, in _posix_getuser_unicode
	name = getpass.getuser()
      File "/usr/lib64/python2.7/getpass.py", line 158, in getuser
	return pwd.getpwuid(os.getuid())[0]
    KeyError: 'getpwuid(): uid not found: 1000'

To fix this there were 2 possible solutions:
- To run everything as rooat (or as another user) in the container. We
will not need to set the uid to use, making the instructions simpler.
The main problem is that the files stored in the host will probably
have a different owner, and the user will have problems with file
permissions.
- To ensure the uid of the current user also exists inside the
container.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Suggest the user to mount /etc/passwd inside the container to fix `bzr`
command.

The command `bzr` fails if the uid of the user using it doesn't exist,
giving, for example, the following back trace when running `bzr init`:

      File "/usr/lib64/python2.7/site-packages/bzrlib/lockdir.py", line 238, in _attempt_lock
	tmpname = self._create_pending_dir()
      File "/usr/lib64/python2.7/site-packages/bzrlib/lockdir.py", line 335, in _create_pending_dir
	info = LockHeldInfo.for_this_process(self.extra_holder_info)
      File "/usr/lib64/python2.7/site-packages/bzrlib/lockdir.py", line 779, in for_this_process
	user=get_username_for_lock_info(),
      File "/usr/lib64/python2.7/site-packages/bzrlib/lockdir.py", line 863, in get_username_for_lock_info
	return osutils.getuser_unicode()
      File "/usr/lib64/python2.7/site-packages/bzrlib/osutils.py", line 356, in _posix_getuser_unicode
	name = getpass.getuser()
      File "/usr/lib64/python2.7/getpass.py", line 158, in getuser
	return pwd.getpwuid(os.getuid())[0]
    KeyError: 'getpwuid(): uid not found: 1000'

To fix this there were 2 possible solutions:
- To run everything as rooat (or as another user) in the container. We
will not need to set the uid to use, making the instructions simpler.
The main problem is that the files stored in the host will probably
have a different owner, and the user will have problems with file
permissions.
- To ensure the uid of the current user also exists inside the
container.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add documentation links to dpkg_build and dpkg_deploy elements</title>
<updated>2017-07-19T12:37:02+00:00</updated>
<author>
<name>Jonathan Maw</name>
<email>jonathan.maw@codethink.co.uk</email>
</author>
<published>2017-07-13T10:12:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=41de3419c3fe3852c973d58e4e2275337dfc31af'/>
<id>41de3419c3fe3852c973d58e4e2275337dfc31af</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>artifacts documentation: Now there is 'push-port', amend artifact docs for this</title>
<updated>2017-07-11T14:26:49+00:00</updated>
<author>
<name>Tristan Van Berkom</name>
<email>tristan.vanberkom@codethink.co.uk</email>
</author>
<published>2017-07-11T14:26:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=5106173c3dbfed75831baaaab658b0ed9500937f'/>
<id>5106173c3dbfed75831baaaab658b0ed9500937f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Artifacts documentation: Amending poor documentation about sshd_config</title>
<updated>2017-07-11T11:58:27+00:00</updated>
<author>
<name>Tristan Van Berkom</name>
<email>tristan.vanberkom@codethink.co.uk</email>
</author>
<published>2017-07-11T11:56:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=f0b4cc92d182e3bd9c94ab9d8a7923253284aede'/>
<id>f0b4cc92d182e3bd9c94ab9d8a7923253284aede</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Artifacts documentation: Fixed a little typo</title>
<updated>2017-07-11T09:40:29+00:00</updated>
<author>
<name>Tristan Van Berkom</name>
<email>tristan.vanberkom@codethink.co.uk</email>
</author>
<published>2017-07-11T09:40:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=917a1b9f54a2ec2342b91bdca4fb10f66bbfa6cf'/>
<id>917a1b9f54a2ec2342b91bdca4fb10f66bbfa6cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adding documentation about setting up artifact caches.</title>
<updated>2017-07-10T13:03:05+00:00</updated>
<author>
<name>Tristan Van Berkom</name>
<email>tristan.vanberkom@codethink.co.uk</email>
</author>
<published>2017-07-10T13:03:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=8764d1ceacae942c4208807847aaad9d3ef42a23'/>
<id>8764d1ceacae942c4208807847aaad9d3ef42a23</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add --host-arch and --target-arch, and 'host-arches' conditional</title>
<updated>2017-07-06T12:08:10+00:00</updated>
<author>
<name>Sam Thursfield</name>
<email>sam.thursfield@codethink.co.uk</email>
</author>
<published>2017-06-09T17:57:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=039062218957bdae6473b482adc8800fd9be7ed3'/>
<id>039062218957bdae6473b482adc8800fd9be7ed3</id>
<content type='text'>
This command adds initial cross-compilation support to BuildStream.

It has been tested against a converted version of the Baserock
compiler bootstrap and used to cross build sysroots for armv8l64 and ppc64l
from an x86_64 host.

For example, to build a sysroot for ARM v8 64-bit you can do this:

    bst build --target-arch=armv8b64 gnu-toolchain/stage2.bst

This would cause the adapted Baserock definitions to produce a stage1 simple
cross compiler that runs on the native architecture and produces armv8b64
binaries, and then cross build a stage2 sysroot that executes on armv8b64.

Currently the --host-arch option does nothing of use. It will one day
enable host-incompatible builds using a QEMU-powered cross sandbox.

The `--arch=` option is now shorthand for `--host-arch= --target-arch=`.

Elements have 2 new variables available, %{bst-host-arch} and
%{bst-target-arch}. The 'arches' conditional now follows %{bst-target-arch},
while the new 'host-arches' conditional follows %{bst-host-arch}. All
of --arch, --host-arch and --target-arch default to the output of `uname -a`.

There's no magic here that would make all BuildStream elements suddenly
able to cross compile. It is up to an individual element to support this by
honouring %{bst-target-arch} in whatever way makes sense.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This command adds initial cross-compilation support to BuildStream.

It has been tested against a converted version of the Baserock
compiler bootstrap and used to cross build sysroots for armv8l64 and ppc64l
from an x86_64 host.

For example, to build a sysroot for ARM v8 64-bit you can do this:

    bst build --target-arch=armv8b64 gnu-toolchain/stage2.bst

This would cause the adapted Baserock definitions to produce a stage1 simple
cross compiler that runs on the native architecture and produces armv8b64
binaries, and then cross build a stage2 sysroot that executes on armv8b64.

Currently the --host-arch option does nothing of use. It will one day
enable host-incompatible builds using a QEMU-powered cross sandbox.

The `--arch=` option is now shorthand for `--host-arch= --target-arch=`.

Elements have 2 new variables available, %{bst-host-arch} and
%{bst-target-arch}. The 'arches' conditional now follows %{bst-target-arch},
while the new 'host-arches' conditional follows %{bst-host-arch}. All
of --arch, --host-arch and --target-arch default to the output of `uname -a`.

There's no magic here that would make all BuildStream elements suddenly
able to cross compile. It is up to an individual element to support this by
honouring %{bst-target-arch} in whatever way makes sense.
</pre>
</div>
</content>
</entry>
<entry>
<title>script.py: Added documentation</title>
<updated>2017-07-01T11:28:52+00:00</updated>
<author>
<name>Tristan Van Berkom</name>
<email>tristan.vanberkom@codethink.co.uk</email>
</author>
<published>2017-07-01T11:28:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b838bcf8be6f997c7f81d9d93e3542d8b5de2000'/>
<id>b838bcf8be6f997c7f81d9d93e3542d8b5de2000</id>
<content type='text'>
Added note that script elements may only depend on other elements
as build dependencies.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added note that script elements may only depend on other elements
as build dependencies.
</pre>
</div>
</content>
</entry>
</feed>
