$ more repository.yml
repo.name: apache-mynewt-core
repo.versions:
"0.0.0": "develop"
"0-latest": "0.0.0"
There is one version of the apache-mynewt-core operating system available, which is 0.0.0
(we haven't released yet! :-) This version corresponds to the "develop"
branch in this repository.
Given we have released a version why isn’t that being used? Also I’d feel more
conformable if the the branch was the release tag rather than develop there
less chance of user using un voted / un released code that way.
The v0.8b1 version we've released is not compatible with the new newt,
due to the fairly significant changes we've made to how the package
management system works.
I totally agree with the branch, it's just on develop for the moment so
that everyone can test it. When we cut the release, this will look like:
$ more repository.yml
<snip>
repo.name: apache-mynewt-core
repo.versions:
"0.8.0": "apache-mynewt-tag-v-0-8-0",
"0-latest": "0.8.0"
With apache-mynewt-tag-v-0-8-0 representing whatever we choose to call
the tag.
NOTE: One key part of this scheme is the the repository.yml must reside
in the master branch on git. In our current branching scheme, we are
going to keep this branch stable.
I was on two minds of this:
- If we keep the repository.yml on master, it's going to be easy to keep
it up to date, and easy for people to know where it is. And we want
people to distribute tons of these packages on GH, therefore making this
simple is good.
- However, there is a risk that you mess up the repository.yml on
master. Forcing people to put this on a special branch
"repository-yml"? Would make this activity a bit more protected then
messing with the master branch.
- That said, I think our current approach is more consistent with other
package systems that work with git. Which is probably the way we want
to go.
In order to upgrade a previously installed repository, the "newt upgrade"
command should be issued:
$ newt upgrade
Perhaps “update” rather than upgrade? Would it be useful to have a "newt
outdated” to tell you what it will update?
I prefer newt upgrade, because I'm more familiar with aptitude (Debian
apt-get.) "update" used to update the package repository descriptions,
and upgrade "upgraded" the packages. In newt, we update the package
repositories every time we do an operation (at least for now.)
Bandwidth is cheaper these days. :)
newt outdated would be super useful. I will add this prior to the next
release checkpoint (after the current one.) There are a bunch of
package management helper functions we need to add. But I wrote the
current system _very_ quickly, so I want to take some time to think
about it prior to adding too many functions to it.
I'll do this prior to the next (subsequent) release.
- Not 100% sure if packages/repositories shouldn't be rename to
libraries/packages.
May be some confusion with repositories as it also refer to the github repo
where the code lives.
Yes. Although, that's also a nice thing with calling it repository: we
have a 1-1 relationship between our notion of a repository, and git's
notion of a repository.
Sterling