RTC auf true

Committer:
kevman
Date:
Wed Nov 28 15:10:15 2018 +0000
Revision:
0:38ceb79fef03
RTC modified

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevman 0:38ceb79fef03 1 # Description
kevman 0:38ceb79fef03 2
kevman 0:38ceb79fef03 3 This document describes how to update the Arm Mbed OS LWIP stack. The Mbed OS LWIP stack is a copy of the LWIP master repository. Stack is located in `features/lwipstack/lwip` directory.
kevman 0:38ceb79fef03 4
kevman 0:38ceb79fef03 5 When you add new releases or single commits from the LWIP master repository, you must fetch them using the Mbed OS LWIP fork repository. Use the repository to rename LWIP source files with the `lwip_` prefix to make them compatible with the Mbed OS build system.
kevman 0:38ceb79fef03 6
kevman 0:38ceb79fef03 7 * The LWIP master repository is part of the [LWIP project](https://savannah.nongnu.org/projects/lwip).
kevman 0:38ceb79fef03 8 * The Mbed OS LWIP fork repository is part of [`ARMmbed`](https://github.com/ARMmbed/lwip).
kevman 0:38ceb79fef03 9
kevman 0:38ceb79fef03 10 ## How to integrate a release from the LWIP master repository to the Mbed OS
kevman 0:38ceb79fef03 11
kevman 0:38ceb79fef03 12 You can integrate a new release using the following steps.
kevman 0:38ceb79fef03 13
kevman 0:38ceb79fef03 14 * Fetch the release to the Mbed OS LWIP fork.
kevman 0:38ceb79fef03 15 * Prefix files in the Mbed OS LWIP fork with the `lwip_` prefix.
kevman 0:38ceb79fef03 16 * Merge the release to the Mbed OS repository.
kevman 0:38ceb79fef03 17
kevman 0:38ceb79fef03 18 ### Fetching the release to the Mbed OS LWIP fork and prefixing files
kevman 0:38ceb79fef03 19
kevman 0:38ceb79fef03 20 1. Clone the Mbed OS LWIP fork repository.
kevman 0:38ceb79fef03 21
kevman 0:38ceb79fef03 22 `git clone git@github.com:ARMmbed/lwip.git`
kevman 0:38ceb79fef03 23
kevman 0:38ceb79fef03 24 2. Go to the Mbed OS LWIP fork root directory, and add the LWIP master repository as remote.
kevman 0:38ceb79fef03 25
kevman 0:38ceb79fef03 26 `git remote add <remote name> https://git.savannah.nongnu.org/git/lwip.git`
kevman 0:38ceb79fef03 27
kevman 0:38ceb79fef03 28 `e.g. git remote add lwip https://git.savannah.nongnu.org/git/lwip.git`
kevman 0:38ceb79fef03 29
kevman 0:38ceb79fef03 30 3. Pull the release from the LWIP master repository using the release tag. You can find tags [here](<https://savannah.nongnu.org/projects/lwip>).
kevman 0:38ceb79fef03 31
kevman 0:38ceb79fef03 32 `git pull <remote name> <tag>`
kevman 0:38ceb79fef03 33
kevman 0:38ceb79fef03 34 `e.g. git pull lwip STABLE-2_0_2_RELEASE_VER`
kevman 0:38ceb79fef03 35
kevman 0:38ceb79fef03 36 4. Push the tag to the Mbed OS LWIP fork repository to keep the fork in sync.
kevman 0:38ceb79fef03 37
kevman 0:38ceb79fef03 38 `git push origin <tag>`
kevman 0:38ceb79fef03 39
kevman 0:38ceb79fef03 40 `e.g. git push origin STABLE-2_0_2_RELEASE_VER`
kevman 0:38ceb79fef03 41
kevman 0:38ceb79fef03 42 5. Create a branch for release. Use the same naming convention as previous branches.
kevman 0:38ceb79fef03 43
kevman 0:38ceb79fef03 44 `git branch <branch name> <tag>`
kevman 0:38ceb79fef03 45
kevman 0:38ceb79fef03 46 `e.g. git branch mbed-os-lwip-stable-2_0_2 STABLE-2_0_2_RELEASE_VER`
kevman 0:38ceb79fef03 47
kevman 0:38ceb79fef03 48 6. Push the branch to the Mbed OS LWIP fork repository to keep the fork in sync.
kevman 0:38ceb79fef03 49
kevman 0:38ceb79fef03 50 `git push origin <branch name>`
kevman 0:38ceb79fef03 51
kevman 0:38ceb79fef03 52 `e.g. git push origin mbed-os-lwip-stable-2_0_2`
kevman 0:38ceb79fef03 53
kevman 0:38ceb79fef03 54 7. Fetch the previous prefixed branch from the Mbed OS LWIP fork repository.
kevman 0:38ceb79fef03 55
kevman 0:38ceb79fef03 56 `git fetch <remote name> <remote branch>:<local branch>`
kevman 0:38ceb79fef03 57
kevman 0:38ceb79fef03 58 `e.g. git fetch origin mbed-os-lwip-stable-2_0_1-prefixed:mbed-os-lwip-stable-2_0_1-prefixed`
kevman 0:38ceb79fef03 59
kevman 0:38ceb79fef03 60 8. Checkout the latest prefixed branch.
kevman 0:38ceb79fef03 61
kevman 0:38ceb79fef03 62 `git checkout <prefixed branch>`
kevman 0:38ceb79fef03 63
kevman 0:38ceb79fef03 64 `e.g. git checkout mbed-os-lwip-stable-2_0_1-prefixed`
kevman 0:38ceb79fef03 65
kevman 0:38ceb79fef03 66 9. Merge the new branch to the prefixed branch.
kevman 0:38ceb79fef03 67
kevman 0:38ceb79fef03 68 `git merge <branch name>`
kevman 0:38ceb79fef03 69
kevman 0:38ceb79fef03 70 `e.g. git merge mbed-os-lwip-stable-2_0_2`
kevman 0:38ceb79fef03 71
kevman 0:38ceb79fef03 72 10. Check if there are any new or colliding files.
kevman 0:38ceb79fef03 73
kevman 0:38ceb79fef03 74 If there are new c-files rename those with `lwip_` prefix and make a commit about changes to the prefixed branch. Also, check that LWIP stack header file names do not collide with headers under the Mbed OS directory tree. If there are collisions, rename the colliding LWIP headers with `lwip_` prefix.
kevman 0:38ceb79fef03 75
kevman 0:38ceb79fef03 76 If needed, rename files, and make a commit. Update the C-files to include any renamed header files.
kevman 0:38ceb79fef03 77
kevman 0:38ceb79fef03 78 `git mv <old filename> <new filename>`
kevman 0:38ceb79fef03 79
kevman 0:38ceb79fef03 80 `git commit`
kevman 0:38ceb79fef03 81
kevman 0:38ceb79fef03 82 11. Rename the local prefixed branch to the new version. (Do not change branch names on remotes.)
kevman 0:38ceb79fef03 83
kevman 0:38ceb79fef03 84 `git branch -m <new prefixed branch>`
kevman 0:38ceb79fef03 85
kevman 0:38ceb79fef03 86 `e.g. git branch -m mbed-os-lwip-stable-2_0_2-prefixed`
kevman 0:38ceb79fef03 87
kevman 0:38ceb79fef03 88 12. Push the new local prefixed branch to the Mbed OS LWIP fork repository.
kevman 0:38ceb79fef03 89
kevman 0:38ceb79fef03 90 `git push origin <new prefixed branch>`
kevman 0:38ceb79fef03 91
kevman 0:38ceb79fef03 92 `e.g. git push origin mbed-os-lwip-stable-2_0_2-prefixed`
kevman 0:38ceb79fef03 93
kevman 0:38ceb79fef03 94 ### Merging the prefixed release to the Mbed OS repository
kevman 0:38ceb79fef03 95
kevman 0:38ceb79fef03 96 1. Clone the Mbed OS repository.
kevman 0:38ceb79fef03 97
kevman 0:38ceb79fef03 98 `git clone git@github.com:ARMmbed/mbed-os.git`
kevman 0:38ceb79fef03 99
kevman 0:38ceb79fef03 100 2. Go to the Mbed OS root directory, and add the Mbed OS LWIP fork repository as remote. Fetch branches from fork.
kevman 0:38ceb79fef03 101
kevman 0:38ceb79fef03 102 `git remote add <remote name> https://github.com/ARMmbed/lwip.git`
kevman 0:38ceb79fef03 103
kevman 0:38ceb79fef03 104 `e.g. git remote add lwip-fork https://github.com/ARMmbed/lwip.git`
kevman 0:38ceb79fef03 105
kevman 0:38ceb79fef03 106 `git fetch <remote name>`
kevman 0:38ceb79fef03 107
kevman 0:38ceb79fef03 108 `e.g. git fetch lwip-fork`
kevman 0:38ceb79fef03 109
kevman 0:38ceb79fef03 110 3. Do a subtree pull for LWIP prefixed branch in the Mbed OS root directory.
kevman 0:38ceb79fef03 111
kevman 0:38ceb79fef03 112 `git subtree pull --squash -P features/lwipstack/lwip <remote name> <new prefixed branch> -m "<commit message>"`
kevman 0:38ceb79fef03 113
kevman 0:38ceb79fef03 114 `e.g. git subtree pull --squash -P features/lwipstack/lwip lwip-fork mbed-os-lwip-stable-2_0_2-prefixed -m "Merged lwip 2.0.2 stable"`
kevman 0:38ceb79fef03 115
kevman 0:38ceb79fef03 116 After this step, there is a new commit visible in the Mbed OS master branch that contains the changes.
kevman 0:38ceb79fef03 117
kevman 0:38ceb79fef03 118 4. Verify that changes in the new commit are correct, and create a new branch. Push the branch to your Mbed OS fork for GitHub review.