21020: Introduce BaseDirectory classes to arvados.util
[arvados.git] / build / README
index f31d39a21f8b175a52ce77339fba037086a0c827..219b7791bfdac8fc698c8ccc554fea98d84aab71 100644 (file)
@@ -11,15 +11,18 @@ In order to build packages, you will need:
 Quickstart
 ==========
 
-Build and test all the packages for debian10 on your architecture by
+Build and test all the packages for a distribution on your architecture by
 running:
 
-    ./run-build-test-packages-one-target.sh --arch "$(arch)"
+    ./run-build-test-packages-one-target.sh --target DISTRO
 
-This will build package build and test Docker images for debian10, build all
-packages in a build container, then test all packages in a test container.
+This will build package build and test Docker images for the named target
+distribution, build all packages in a build container, then test all
+packages in a test container.
 
-Use a different distro by adding the `--target TARGET` option.
+Limit the build to a single architecture by adding the `--arch ARCH`
+option. Supported architectures are amd64 and arm64. Note cross-compilation
+from amd64 to arm64 is currently only supported on Debian 11+.
 
 Limit the build to a single package by adding the `--only-build
 PACKAGE_NAME` option. This is helpful when a build is mostly in good shape
@@ -77,12 +80,11 @@ In order to build packages on a new distribution, you MUST:
 * Add the new `TARGET/generated` rule to the `all` target in
   `package-build-dockerfiles/Makefile`.
 * Write `package-build-dockerfiles/TARGET/Dockerfile`.
-* Add a rule for `TARGET/generated` to `package-test-dockerfiles/Makefile`.
-* Add the new `TARGET/generated` rule to the `all` target in
-  `package-test-dockerfiles/Makefile`.
 * Write `package-test-dockerfiles/TARGET/Dockerfile`.
 * Create `package-testing/test-packages-TARGET.sh`, ideally by making it a
   symlink to `FORMAT-common-test-packages.sh`.
+* Update the package download code near the bottom of `test_package_presence`
+  in `run-library.sh` so it can download packages for the new distribution.
 
 Of course, any part of our package build or test infrastructure may need to
 be updated to accommodate the process for new distributions. If you're