Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F177560397
D59879.1794724307.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
4 KB
Referenced Files
None
Subscribers
None
D59879.1794724307.diff
View Options
diff --git a/contrib/atf/FREEBSD-upgrade b/contrib/atf/FREEBSD-upgrade
--- a/contrib/atf/FREEBSD-upgrade
+++ b/contrib/atf/FREEBSD-upgrade
@@ -1,45 +1,89 @@
-This document contains a collection of notes specific to the import
-of atf into head. These notes are built on the instructions in
-the FreeBSD Subversion Primer that detail how to deal with vendor
-branches and you are supposed to follow those:
+# atf
- http://www.freebsd.org/doc/en/articles/committers-guide/subversion-primer.html
+## Introduction
-The ATF source code is hosted on GitHub:
+This document contains a collection of notes specific to the import of atf into
+`:main`. These notes are loosely based on instructions available in the
+[FreeBSD Committer's Guide][vendor-import-git-page].
- https://github.com/jmmv/atf
+[vendor-import-git-page]: https://docs.freebsd.org/en/articles/committers-guide/#vendor-import-git
-and is imported into the atf vendor branch (see base/vendor/atf/).
+## Project Release Information
-To merge the vendor branch into head do something like this:
+The ATF source code is hosted on [GitHub][github-project-page]. See the
+[project releases][github-project-releases] page for the latest release.
- cd .../base/head/contrib/atf
- svn merge --accept=postpone \
- svn+ssh://svn.freebsd.org/base/vendor/atf/dist .
- svn remove --force $(cat FREEBSD-Xlist)
+[github-project-page]: https://github.com/freebsd/atf/
+[github-project-releases]: https://github.com/freebsd/atf/releases
-and resolve any conflicts that may arise at this point.
+## Importing New Releases Into the Vendor Branch
-Once this is done, you must regenerate bconfig.h. The recommended way
+The latest ATF version is imported into the vendor branch, [vendor/atf][vendor-atf-branch].
+
+[vendor-atf-branch]: https://cgit.freebsd.org/src/tree/?h=vendor/atf
+
+## Preparing the Sources for Commit
+
+### The "Merge From Vendor" (MFV) Process
+
+To merge the vendor branch into head, do something like this:
+
+```
+% cd "${SRCTOP}/contrib/atf"
+% git subtree merge -P contrib/atf freebsd/vendor/atf/<release-tag>
+% git rm --force $(cat FREEBSD-Xlist)
+```
+Resolve any conflicts that may arise after running `git rm`.
+
+### Regenerating Generated Files
+
+Once the initial MFV is done, all generated files (headers, manpages) must be
+regenerated and committed in to the source tree. The recommended way
of doing so is by using the release files already imported into the
-vendor branch (which is a good justification for importing the verbatim
-sources in the first place so that this step is reproducible). You can
-use a set of commands similar to the following:
-
- mkdir /tmp/atf
- cd /tmp/atf
- .../vendor/atf/dist/configure \
- --prefix=/ \
- --exec-prefix=/usr \
- --datarootdir=/usr/share
- cp bconfig.h .../base/head/contrib/atf/
-
-Please do NOT run './configure' straight from the 'dist' directory of
-the vendor branch as you easily risk committing build products into the
-tree.
-
-Lastly, with the list of old and new files in this import, make sure
-to update the reachover Makefiles accordingly.
-
-Test the build (keeping in mind the WITH_TESTS/WITHOUT_TESTS knobs) and,
-if all looks good, you are ready to commit all the changes in one go.
+vendor branch, where possible. You can use a set of commands similar to the
+following:
+
+```
+% mkdir /tmp/atf
+% cd /tmp/atf
+% .../vendor/atf/dist/configure \
+ --prefix=/ \
+ --exec-prefix=/usr \
+ --datarootdir=/usr/share
+% cp config.h .../base/head/contrib/atf/
+```
+XXX: this process needs adjusting as there are more files other than `config.h`
+which need updating in each release!
+
+Please do NOT run './configure' straight from the `dist` directory of the vendor
+branch: this risks committing unwanted build products into the source tree.
+
+### Updating Makefiles
+
+Finally, make sure to update the reachover Makefiles accordingly. Here are some
+directories/ and `Makefile`s of interest at time of writing:
+
+- `lib/atf/`
+- `libexec/atf/`
+- `share/examples/atf/`
+- `share/man/man7/Makefile`
+
+## Pruning Unnecessary Files
+
+Files and directories under `contrib/atf` were pruned using the following example
+command:
+
+```
+% cd "${SRCTOP}/contrib/atf"
+% sh -c 'for F in `grep -v FreeBSD FREEBSD-Xlist`; do rm -Rf ./${F} ; done'
+```
+
+## Contributing Changes
+
+To make local changes to atf, simply patch and commit to the :main
+branch. Never make local changes on the vendor branch.
+
+## Testing Changes
+
+Test the build (keeping in mind the `WITH_TESTS`/`WITHOUT_TESTS` knobs). If
+all looks good, you are ready to commit!
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Nov 15, 6:31 AM (12 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
39439920
Default Alt Text
D59879.1794724307.diff (4 KB)
Attached To
Mode
D59879: atf/FREEBSD-upgrade: update document/rewrite in Markdown
Attached
Detach File
Event Timeline