[amberctl] Mirror source edits to pkg_resolver

This reverts commit 34034708ba7ec01b7e4fccbcd72c6ca578bd0497, which was
a revert of this original change.

amberctl generated the repo config's repo_url field by appending the
source config's ID to "fuchsia-pkg://", but when the source config
contained characters that are not part of a host name (like "http://"),
the repository manager would reject the repo config, causing amberctl to
bail out.

In addition to the original change, this change sanitizes
source config ID to contain only valid characters and adds test cases to
verify the functionality.

Test: amberctl-tests, add-update-source without -n parameter

Change-Id: I2493a91d8806f30c55fd1996d306471c2ef9b1ff
8 files changed
tree: 70bdc5a440f86e66f540f92e9117507f6aac6d2a
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. infra/
  9. peridot/
  10. products/
  11. scripts/
  12. sdk/
  13. src/
  14. third_party/
  15. tools/
  16. zircon/
  17. .clang-format
  18. .clang-tidy
  19. .dir-locals.el
  20. .gitattributes
  21. .gitignore
  22. .gn
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. LICENSE
  28. OWNERS
  29. PATENTS
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.