Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Getting Started
On Tue, 10 Jun 2014, William D. Jones wrote:
So far, I’ve checked out the sources from anoncvs, built the
tree once, then attempted to tag the build as successful, as per
http://www.netbsd.org/docs/current/, before getting errors such
as the following:
cvs [tag aborted]: could not open lock file
`/cvsroot/src/,BUILDING,': Permission denied
The first part of <http://www.netbsd.org/docs/current/>, up to
and including "Tracking NetBSD-current with anoncvs" should be
reasonably relevant to you, but the advice may be out of date.
The parts about "Importing and merging sources" and "Tagging a
successful build" are not aimed at ordinary people. They are
about maintaining your own private CVS repository, periodically
importing snapshots of NetBSD-current to your private repository,
and performing merges and tags in your private repository.
Companies who maintain products based on NetBSD might use a
workflow like that, but ordinary users probably would not.
Unfortunately, the document doesnt' make it clear who the target
audience is.
The last part, about "Getting the whole repository" can be ignored
at first, but if you later find that cvs operations are too slow
then a local mirror might be useful. Also, that part of the page
is sadly out of date: only the rsync method is useful today.
1. I’m not great with CVS, and learning it has been a
frustrating experience, to say the last. With regards to “tag
aborted”, I’m guessing that I’m mixing up portions of
the tracking NetBSD wiki page. from what I’ve gathered from
reading other sites, I cannot actually tag my local copy
of the source tree since anoncvs is read only (as CVS is
centralized).
Right. You can't tag against anoncvs.
I imagine there is a simple way to also revert
an update in case a daily update breaks the build, but I have
not found it yet. Do I understand this correctly?
You can update to a specified date and time, via "cvs
update -D${DATE_AND_TIME}". The automated build reports at
<http://releng.netbsd.org/> may help you to find an appropriate
date and time.
What is the purpose of importing and merging misc/cvsrep as far
as anonymous checkout is concerned (as mentioned on the tracking
current wiki page)?
The "Importing and merging sources" part of the document is
not useful to ordinary users.
And, for anoncvs, what is the recommended method to
revert a broken build after notifying netBSD-users via email?
Update to a working date, as I mentioned above.
2. While I couldn’t find any mention on the NetBSD
wiki, OpenBSD states on it’s website that all
bug reports should be against the generic kernel
(http://www.openbsd.org/faq/faq5.html#Why). Is that the case
here as well? My 486 cannot run the generic kernel reliably,
hence why I ask. If this also means a potential driver developed
using a custom kernel wouldn’t be accepted, then I will
happily buy more RAM .
Bug reports against any kernel are useful.
3. Most of the files I intend to submit will not have been
previously existing (need to create a number of source files
to add the new driver to the tree). Is it still recommended I
submit as a patch to PR? I haven’t actually “told” CVS
about the new files yet due to my woes with tagging, in fear
that I might break the tree... what is the best way to add
“new files” to the CVS tree for diff/local development
purposes and without the server choking when they don’t exist
server-side?
There's no easy way to manage that. You can't add branches or
tags to a tree that comes directly from anoncvs.netbsd.org.
Some people keep private CVS, git, fossil, mercurial, or other
repositories into which they import snapshots of NetBSD, and they
keep private branches in their private repositories.
You will eventually need to submit a PR with a patch that includes all
new and changed files.
4. After giving up on tagging, I updated my source tree
using CVS update –dP and built again successfully, as per
http://www.netbsd.org/docs/guide/en/chap-updating.html#updating-
procedure. Is running CVS update –dP and build.sh sufficient
for rebuilding a distribution without having to wait 3 hours for
userland to build (i.e. build only what changed). Specifically,
will the binaries be identical or close-to identical as if I ran
build.sh from the beginning (i.e. without –U)? I see a large
number of source files beyond those changed in 24 hours being
rebuilt, but I’m guessing this has to do with how build.sh
manages its dependencies.
I think you might be confusing -U and -u.
You should always run build.sh with the "-U" (unprivileged) flag.
I usually use "-u" (update), but there are sometimes changes
that cause that to fail. (See src/UPDATING for known problems
with update builds.) If an "update" build succeeds, then the
results should be effectively identical to the results from a
non-update build (except for things like timestamps embedded in
output files).
Sorry if this sounds too much like a “CVS questions” or
“documentation concerns” email, but I’d like to save some
frustration and get some actual code written, not fight with the
version control. If I should split this mail up, I’ll be happy
to do so.
It's easier to deal with one question at a time, unless the questions
are closely related.
--apb (Alan Barrett)
Home |
Main Index |
Thread Index |
Old Index