| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This was done with the aid of the pep8 script, available by running
`easy_install pep8`.
It may be worth making this part of ./check, but that will require
putting pep8 into the development tools stratum.
This should be easy, given pep8 has no external dependencies.
|
| |
|
|
|
|
|
|
|
| |
This changes the timestamp in the Python tarfile.TarInfo data structure
rather than setting the timestamp in the filesystem.
Suggested by Richard Maw.
|
|
|
|
|
|
|
| |
This avoids problems with clock skew between the machine that built
an artifact and the machine the uses it. I ran into this problem
during a test build of other changes in this patch series. We have
seen it before, now it is fixed.
|
|
|
|
| |
create_stratum is no longer used, since strata are now chunk lists
|
| |
|
|
|
|
|
| |
This import was forgotten when the artifact extract code was moved
into bins, so it could be used in builder
|
|
|
|
|
| |
Before only the staging area had symbolic links handled, now
strata and systems will have the same logic.
|
| |
|
| |
|
|
|
|
|
|
| |
This should stop tar from replacing symbolic links with directories
and instead follow the symbolic links, extracting the files into
the linked directories
|
| |
|
|
|
|
|
| |
This avoids problems with files with the right names but partial
content, if morph is killed in the middle of writing the file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead, assume the whole build will be run, by the user, under
fakeroot or sudo (the latter for system image builds). This allows
us to run all non-system-image-build tests without root access
at all.
We now always create the cache directory, if missing, even if
we're running as root.
We no longer run ldconfig if ld.so.conf is missing. It is missing
during our tests, but is (now) created by fhs-dirs for real builds.
|
|
|
|
|
| |
Busybox tar is incapable of doing this, so we have to use
Python's tarlib, at least for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some commands can remain as fakeroot if they share the same fakeroot
This can be done with the -i and -s parameters to fakeroot
Now the Execute objects contain a reference to the file that stores
their state, so fake commands' fake state is recognised by later commands
The creating a system image definitely needs to be sudo though.
Morph needs to create some files as part of the process, so unfortunately
the equivalent to 'echo foo | sudo tee bar >/dev/null' is being used.
They could be created with sufficient permissions, written then have
better permissions set, but it seemed neater this way
A better solution may be to have a subprogram that does the system image
creation
Putting files into the staging area for building other chunks is currently
sudo, but shouldn't have to be. Rather than having a fakeroot per Execute
object, it may be better to have a global one, though this would prevent
concurrent use of fakeroot.
|
|
|
|
|
|
|
|
| |
Then fix all the places where this broke things because they didn't have
the required permissions.
This is a potential security risk of course, it would be preferable if
the install commands were run in a fakeroot session and only the final
image building was run as root, but it needs to work first
|
|
|
|
| |
This saves a bunch of memory use.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|