summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorAlberto <alberto.ruiz@codethink.co.uk>2011-10-03 18:10:24 +0100
committerAlberto <alberto.ruiz@codethink.co.uk>2011-10-03 18:10:24 +0100
commit7731c0e4b9a31504f120f2dbfd874326bdd79e4f (patch)
treee2bdafbe75fd640b146ea7050644c8a597602c9b /TODO
parent89fd8c09238b252b7e66c803937ddc9e8b5e2cd2 (diff)
downloadtbdiff-7731c0e4b9a31504f120f2dbfd874326bdd79e4f.tar.gz
Updated TODO
Diffstat (limited to 'TODO')
-rw-r--r--TODO23
1 files changed, 13 insertions, 10 deletions
diff --git a/TODO b/TODO
index 082e4c2..a7c6da0 100644
--- a/TODO
+++ b/TODO
@@ -1,29 +1,33 @@
-Test suite
-----------
+Handover's notes
+================
++ Test suite
+------------
tbdiff just passed a coding style and branding review. There are still bugs with real scenarios (debootstrapped directory trees). The lack of a test suite is making it really hard to refactor code so the first priority at the moment is to create a set of unit tests. A basic bash based test framework is being put in place, once it is finished no bug should be fixed unless it provides a unit test to prevent regressions in the future.
-File system safety
++ File system safety
------------------
There has been a problem while testing on a real system directory tree, during deployment of a diff image between two Debian debootstrapped trees, the root filesystem of the test host was corrupted. Further investigation has shown that /bin /root /usr were listed for deletion in the command stream. We need to figure out why tbdiff is sending remove commands for directories that are not removed. But most importantly we have to put safeguards so that we make sure we never crawl up the directory trees and perform operations on the host system.
-Split stream parsing and filesystem operations
++ Split stream parsing and filesystem operations
----------------------------------------------
Right now the stream parsing and the filesystem operations are both made in one go. This operations should be made separately so that output the stream and dry runs can be performed. We should have a defined struct per command for easier understanding of what goes into the wire.
-Abstract endianness
++ Abstract endianness
-------------------
At the moment the endianness of the file is the same than the one used in the image creation host. We need to state the endianness of the file and perform the transformations in those platforms that need it.
-Abstract the stream object
++ Abstract the stream object
--------------------------
Right now FILE* is used as the stream object. However abstracting the stream object is desirable.
-Write atuotools or waf scripts to build and release
++ Write atuotools or waf scripts to build and release
---------------------------------------------------
A simple Makefile is not the best way to maintain a package. Waf or autotools scripts should be put in place.
+
+
General
--------
+=======
+ Use sizeof(var) or (type) instead of fixed byte lengths on fread/fwrite
+ Fix endian issues in case we run the generator on a different
endianness to the deployer.
@@ -36,8 +40,7 @@ General
+ Add copyright headers to all source files
Features
---------
-
+========
+ Need to be able to embed metadata into the top of an update
stream e.g. arbitrary key/value pairs would be nice.
+ Need to be able to retrieve that metadata separately from deploying