Re: [VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
Hi, > For reference, the file that is being changed contains offsets to interrupt > vectors on ARM platforms. The new (correctly) licensed functions look > perfectly fine to me, and I think post release (and in develop) we should > replace these files. Sounds like a fine approach to me. Thanks, Justin
Re: [VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
Hey Chris, On 29 May 2016, at 13:14, Christopher Collins wrote: I'm attaching git diffs between the following two revisions: a: commit when BSD license text was added (mbed repo) b: first commit to the mynewt core repo. The Mynewt files are "b" in the attached diffs. That is, "+++" are changes added by Mynewt; "---" is removed by mbed. Of course I attached the wrong diffs. Here are the correct ones. Sorry about that! Chris Thanks for doing this. Given that we’ve already released multiple versions of Mynewt with CMSIS header files, we’re releasing a 0.9 and ARM has pretty much licensed every other version of this header file under a BSD license in recent years — I’d vote that we add an item in the NOTICE file, and release. This is an area where we’re not wholly in accordance with policy, but I think the risk to the end user is very low, and all of our previous releases have had this issue. For reference, the file that is being changed contains offsets to interrupt vectors on ARM platforms. The new (correctly) licensed functions look perfectly fine to me, and I think post release (and in develop) we should replace these files. But I’d like to have some run time with them (more than a few days), prior to releasing, in case anything subtle occurs that we don’t catch in our regression tests. Justin/Chris — would that be fine for you? Sterling
Re: [VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
On Sun, May 29, 2016 at 10:56:09AM -0700, Christopher Collins wrote: > The CMSIS-CORE files that Mynewt bundles fall into two categories: [...] > 2. Functional changes were made by ARM mbed before the BSD license >was added; the oldest revisions containing the BSD license text >are different from those in Mynewt. > > The files in category 2 are the ones causing issues for us now. Since > the versions of these files in Mynewt are not directly derived from > revisions containing the BSD license, I don't know what we can > reasonably claim. Specifically, the following files in the mynewt core repo are problematic: libs/cmsis-core/src/cmsis_nvic.c hw/bsp/nrf51dk-16kbram/include/bsp/cmsis_nvic.h hw/bsp/nrf51dk/include/bsp/cmsis_nvic.h hw/bsp/nrf52pdk/include/bsp/cmsis_nvic.h hw/bsp/olimex_stm32-e407_devboard/include/bsp/cmsis_nvic.h The last four (the header files) are almost identical to one another, and for simplicity I am considering them a single file in this email. I'm attaching git diffs between the following two revisions: a: commit when BSD license text was added (mbed repo) b: first commit to the mynewt core repo. The Mynewt files are "b" in the attached diffs. That is, "+++" are changes added by Mynewt; "---" is removed by mbed. Thanks, Chris diff --git a/5b8ab176:libraries/mbed/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/cmsis_nvic.h b/e08882916788cee7cb2540604f8f6ec166a1c654:hw/bsp/nrf52pdk/include/bsp/cmsis_nvic.h old mode 100644 new mode 100755 index e1fd1a3..78d0417 --- a/5b8ab176:libraries/mbed/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/cmsis_nvic.h +++ b/e08882916788cee7cb2540604f8f6ec166a1c654:hw/bsp/nrf52pdk/include/bsp/cmsis_nvic.h @@ -1,48 +1,40 @@ -/* mbed Microcontroller Library - * CMSIS-style functionality to support dynamic vectors - *** - * Copyright (c) 2011 ARM Limited. All rights reserved. - * All rights reserved. +/** + * Copyright (c) 2015 Stack Inc. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 * - * 1. Redistributions of source code must retain the above copyright notice, - *this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - *this list of conditions and the following disclaimer in the documentation - *and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - *may be used to endorse or promote products derived from this software - *without specific prior written permission. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* mbed Microcontroller Library - cmsis_nvic + * Copyright (c) 2009-2011 ARM Limited. All rights reserved. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *** - */ + * CMSIS-style functionality to support dynamic vectors + */ #ifndef MBED_CMSIS_NVIC_H #define MBED_CMSIS_NVIC_H -#define NVIC_NUM_VECTORS (16 + 32) // CORE + MCU Peripherals -#define NVIC_USER_IRQ_OFFSET 16 +#include -#include "nrf51822.h" -#include "cmsis.h" +#define NVIC_NUM_VECTORS (16 + 38) // CORE + MCU Peripherals +#define NVIC_USER_IRQ_OFFSET 16 +#include "nrf52xxx/nrf52.h" #ifdef __cplusplus extern "C" { #endif +void NVIC_Relocate(void); void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector); uint32_t NVIC_GetVector(IRQn_Type IRQn); diff --git
Re: [VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
Thanks again, Justin. My responses are inline below. I rearranged your email such that your first finding comes last, since it is the most difficult to address :). On Sun, May 29, 2016 at 11:23:25AM +1000, Justin Mclean wrote: [...] > The core release notes is out of data and talks about March release > with the next release being in April and it being the "second source > release”.The readme is also not up to date, and the supported board > list seem to be missing a few boards? The outdated release notes is definitely our screw up. However, the list of supported platforms in the readme file looks correct to me. The only discrepancy I see is that the Arduino 101 isn't mentioned in the list, but I think that is correct since this target is not fully supported yet. Is there another one that I missed? > The newt release notes are also out of date and refers to the "first > source release”. Darn. We should have caught this one as well. > I would suggest that the artefact names be renamed to include “mynewt” > not “newt” especially the core one for the next release. That sounds reasonable. I think we should just add "mynewt" to all three component names, but I am interested in hearing others' thoughts. > For core is there now any way we can improve on this situation? "This > product bundles additional files from CMSIS-CORE, but these files are > missing licensing information.” Yes, this one is indeed troubling. To provide some background: Recent CMSIS-CORE releases contain the BSD license text, but the older releases do not, so it is possible that the distributor simply forgot to add the license text in the older releases. Back when the CMSIS-CORE files were added to Mynewt core, we added versions which lacked the BSD license text. The CMSIS-CORE files that Mynewt bundles fall into two categories: 1. Revisions exist which are identical to those which were originally included in Mynewt; the only difference being the addition of the BSD license. 2. Functional changes were made by ARM mbed before the BSD license was added; the oldest revisions containing the BSD license text are different from those in Mynewt. The licensing issue was easy to solve for the "category 1" files: we just replaced our old copies of these files with the corresponding BSD-licensed revisions. The files in category 2 are the ones causing issues for us now. Since the versions of these files in Mynewt are not directly derived from revisions containing the BSD license, I don't know what we can reasonably claim. Intuitively, I feel like the Mynewt copies of these files are "more or less" derived from the revisions containing the BSD text, but obviously that is not a legal argument! Do you have suggestions on how best to proceed? (In case I gave the opposite impression, I agree that keeping things in their current state is not a solution). Thanks, Chris
Re: [VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
> [X] +1 Release this package > [ ] 0 I don't feel strongly about it, but don't object > [ ] -1 Do not release this package because... +1 (binding) Aditi
Re: [VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
> [X] +1 Release this package > [ ] 0 I don't feel strongly about it, but don't object > [ ] -1 Do not release this package because... +1 (binding) Will
Re: [VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
> On May 27, 2016, at 10:56 PM, Christopher Collinswrote: > > [ ] +1 Release this package > [X] 0 I don't feel strongly about it, but don't object > [ ] -1 Do not release this package because... -- David G. Simmons (919) 534-5099 Web • Blog • Linkedin • Twitter • GitHub /** Message digitally signed for security and authenticity. * If you cannot read the PGP.sig attachment, please go to * http://www.gnupg.com/ Secure your email!!! * Public key available at keyserver.pgp.com **/ ♺ This email uses 100% recycled electrons. Don't blow it by printing! There are only 2 hard things in computer science: Cache invalidation, naming things, and off-by-one errors. signature.asc Description: Message signed with OpenPGP using GPGMail
Re: [VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
On Fri, May 27, 2016 at 07:56:39PM -0700, Christopher Collins wrote: > [X] +1 Release this package > [ ] 0 I don't feel strongly about it, but don't object > [ ] -1 Do not release this package because... +1 (binding)
[VOTE] Release Apache Mynewt 0.9.0-incubating-rc2
Hello all, I am pleased to be calling this vote for the source release of Apache Mynewt 0.9.0. Given that it is version 0.x, it is still a bit of a beta. This is the second release candidate for Mynewt 0.9.0 (rc2); voting for rc1 was cancelled due to a packaging mishap involving the newt source. Apache Mynewt is a community-driven, permissively licensed open source initiative for constrained, embedded applications. Mynewt provides a real-time operating system, flash file system, network stacks, and support utilities for real-world embedded systems. For full release notes, please visit the Apache Mynewt Wiki: https://cwiki.apache.org/confluence/display/MYNEWT/Release+Notes. This release candidate was tested as follows: 1. Manual execution of the Mynewt test plan (https://cwiki.apache.org/confluence/display/MYNEWT/Apache+Mynewt+Test+Plan). 2. The full unit test suite for this release was executed via "newt test all" with no failures. This testing was performed on the following platforms: * OS X 10.10.5 * Linux 3.19.0 (Ubuntu 14.04) The release candidate to be voted on is available at: https://dist.apache.org/repos/dist/dev/incubator/mynewt/apache-mynewt-0.9.0-incubating/rc2/ The commits under consideration are as follows: blinky: repos: https://git-wip-us.apache.org/repos/asf/incubator-mynewt-blinky commit: 82f09fa2cc4c67fb30165ef6be0291aa76e6213e core: repos: https://git-wip-us.apache.org/repos/asf/incubator-mynewt-core commit: 48df9b088c50cfc97d2518a823294ace761633d6 newt: repos: https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt commit: 0afe655414bbefc922d2adfddf238479bedac5c0 In addition, the following newt convenience binaries are available: linux: https://dist.apache.org/repos/dist/dev/incubator/mynewt/apache-mynewt-0.9.0-incubating/rc2/apache-newt-bin-linux-0.9.0-incubating.tgz osx: https://dist.apache.org/repos/dist/dev/incubator/mynewt/apache-mynewt-0.9.0-incubating/rc2/apache-newt-bin-osx-0.9.0-incubating.tgz The release candidate is signed with a GPG key available at: https://dist.apache.org/repos/dist/dev/incubator/mynewt/KEYS The vote is open for at least 72 hours and passes if a majority of at least three +1 PPMC votes are cast. [ ] +1 Release this package [ ] 0 I don't feel strongly about it, but don't object [ ] -1 Do not release this package because... Anyone can participate in testing and voting, not just committers, please feel free to try out the release candidate and provide your votes. A separate [DISCUSS] thread will be opened to talk about this release candidate. Thanks, Chris