You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ut...@apache.org on 2020/03/05 21:51:26 UTC
[mynewt-newt] 01/02: Remove mcuboot submodule hack
This is an automated email from the ASF dual-hosted git repository.
utzig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-newt.git
commit 403de363933b868c7d959567720cb0b0fd6441b2
Author: Fabio Utzig <ut...@apache.org>
AuthorDate: Thu Mar 5 08:49:07 2020 -0300
Remove mcuboot submodule hack
After the conditional submodule feature added with
905c71ce407f94da1f6812dd6b24cda885336548, the mcuboot repo was updated
to inform that Mynewt does not required cloning of submodules; the hack
is not required anymore.
Signed-off-by: Fabio Utzig <ut...@apache.org>
---
newt/downloader/downloader.go | 68 ++-----------------------------------------
1 file changed, 2 insertions(+), 66 deletions(-)
diff --git a/newt/downloader/downloader.go b/newt/downloader/downloader.go
index 43f1f02..474309d 100644
--- a/newt/downloader/downloader.go
+++ b/newt/downloader/downloader.go
@@ -372,58 +372,6 @@ func untrackedFilesFromCheckoutErr(err error) []string {
return files
}
-// applyMcubootPreHack attempts to clean up the mcuboot repo so that the
-// subsequent checkout operation will succeed. This hack is required because a
-// directory in the mcuboot repo was replaced with a submodule. Git is unable
-// to transition from a post-replace commit to a pre-replace commit because
-// some files in the submodule used to exist in the mcuboot repo itself. If
-// this issue is detected, this function deletes the submodule directory so
-// that the checkout operation can be attempted again.
-func applyMcubootPreHack(repoDir string, err error) error {
- if !strings.HasSuffix(repoDir, "repos/mcuboot") {
- // Not the mcuboot repo.
- return err
- }
-
- // Check for an "untracked files" error.
- files := untrackedFilesFromCheckoutErr(err)
- if len(files) == 0 {
- // Not a hackable error.
- return err
- }
-
- for _, file := range files {
- if !strings.HasPrefix(file, "ext/mbedtls") {
- return err
- }
- }
-
- path := repoDir + "/ext/mbedtls"
- log.Debugf("applying mcuboot hack: removing %s", path)
- os.RemoveAll(path)
- return nil
-}
-
-// applyMcubootPostHack attempts to clean up the mcuboot repo so that the
-// subsequent checkout operation will succeed. This hack is required because a
-// directory in the mcuboot repo was replaced with a submodule. This hack
-// should be applied after a successful checkout from a pre-replace commit to a
-// post-replace commit. This function deletes an orphan directory left behind
-// by the checkout operation.
-func applyMcubootPostHack(repoDir string, output string) {
- if !strings.HasSuffix(repoDir, "repos/mcuboot") {
- // Not the mcuboot repo.
- return
- }
-
- // Check for a "unable to rmdir" warning (pre- to post- submodule move).
- if strings.Contains(output, "unable to rmdir 'sim/mcuboot-sys/mbedtls'") {
- path := repoDir + "/sim/mcuboot-sys/mbedtls"
- log.Debugf("applying mcuboot hack: removing %s", path)
- os.RemoveAll(path)
- }
-}
-
func (gd *GenericDownloader) Checkout(repoDir string, commit string) error {
// Get the hash corresponding to the commit in case the caller specified a
// branch or tag. We always want to check out a hash and end up in a
@@ -439,20 +387,8 @@ func (gd *GenericDownloader) Checkout(repoDir string, commit string) error {
hash,
}
- o, err := executeGitCommand(repoDir, cmd, true)
- if err != nil {
- if err := applyMcubootPreHack(repoDir, err); err != nil {
- return err
- }
-
- if _, err := executeGitCommand(repoDir, cmd, true); err != nil {
- return err
- }
- } else {
- applyMcubootPostHack(repoDir, string(o))
- }
-
- return nil
+ _, err = executeGitCommand(repoDir, cmd, true)
+ return err
}
// Update one submodule tree in a repo (under path)