libbrillo: Fix incorrect behavior in SafeFD.

MakeDir wasn't handling the single path component case correctly.
This is now resolved.

MakeFile was treating "./filename" as
MakeDir(".", ...).first.MakeFile("filename", ...). This was fixed by
ignoring the dirname if it is ".".

BUG=chromium:977388
TEST=FEATURES=test emerge-${BOARD} libbrillo

Change-Id: I0e034c0a6d3415f72e6d91061df7a38e14b0c5b3
Reviewed-on: https://chromium-review.googlesource.com/1724736
Tested-by: Allen Webb <allenwebb@google.com>
Commit-Ready: Allen Webb <allenwebb@google.com>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mattias Nissler <mnissler@chromium.org>
Cr-Mirrored-From: https://chromium.googlesource.com/chromiumos/platform2
Cr-Mirrored-Commit: 129054e19f0cf258c01b0d214a12527c11698c58
1 file changed
tree: d2b8b95b947c1060aa990625be89a4689bd37c9d
  1. brillo/
  2. install_attributes/
  3. policy/
  4. BUILD.gn
  5. libpolicy.ver
  6. OWNERS
  7. PRESUBMIT.cfg
  8. README.md
  9. testrunner.cc
README.md

libbrillo: platform utility library

libbrillo is a shared library meant to hold common utility code that we deem useful for platform projects. It supplements the functionality provided by libbase/libchrome since that project, by design, only holds functionality that Chromium (the browser) needs. As a result, this tends to be more OS-centric code.

AOSP Usage

This project is also used by Update Engine which is maintained in AOSP. However, AOSP doesn't use this codebase directly, it maintains its own libbrillo fork.

To help keep the projects in sync, we have a gsubtree set up on our GoB: https://chromium.googlesource.com/chromiumos/platform2/libbrillo/

This allows AOSP to cherry pick or merge changes directly back into their fork.