update_engine: Move ext2 tools to its own file in payload_generator.

update_engine doesn't need to understand about the rootfs filesystem
format, just how to apply the defined operations. This patch moves
the few ext2fs specific code the payload_generator and removes the
dependency on ext2fs from update_engine.

BUG=chromium:394184
TEST=FEATURES="test" emerge-link update_engine; sudo emerge update_engine

Change-Id: If750e4834d42bbeaeddc6eff7c4690dd916c73bf
Reviewed-on: https://chromium-review.googlesource.com/208992
Tested-by: Alex Deymo <deymo@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/update_engine.gyp b/update_engine.gyp
index dbe1330..328ee69 100644
--- a/update_engine.gyp
+++ b/update_engine.gyp
@@ -99,7 +99,6 @@
         'exported_deps': [
           'dbus-1',
           'dbus-glib-1',
-          'ext2fs',
           'gio-2.0',
           'gio-unix-2.0',
           'glib-2.0',
@@ -221,8 +220,26 @@
       'dependencies': [
         'update_metadata-protos',
       ],
-      # TODO(deymo): Add here the payload_generator dependencies not in
-      # libupdate_engine.
+      'variables': {
+        'exported_deps': [
+          'ext2fs',
+        ],
+        'deps': ['<@(exported_deps)'],
+      },
+      'all_dependent_settings': {
+        'variables': {
+          'deps': [
+            '<@(exported_deps)',
+          ],
+        },
+      },
+      'link_settings': {
+        'variables': {
+          'deps': [
+            '<@(exported_deps)',
+          ],
+        },
+      },
       'sources': [
         'payload_generator/cycle_breaker.cc',
         'payload_generator/delta_diff_generator.cc',