This is an automated email from the ASF dual-hosted git repository.

raulcd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 656ae38e55 GH-45436: [Docs][Packaging][Linux] Update how to build 
.deb/.rpm (#45481)
656ae38e55 is described below

commit 656ae38e550fc787a861330ecf32edd61db816c2
Author: Sutou Kouhei <[email protected]>
AuthorDate: Tue Feb 11 00:45:26 2025 +0900

    GH-45436: [Docs][Packaging][Linux] Update how to build .deb/.rpm (#45481)
    
    ### Rationale for this change
    
    If we can build .deb/.rpm, we can debug .deb/.rpm build easily.
    
    ### What changes are included in this PR?
    
    Update `dev/tasks/linux-packages/README.md`.
    
    ### Are these changes tested?
    
    Yes.
    
    ### Are there any user-facing changes?
    
    No.
    * GitHub Issue: #45436
    
    Lead-authored-by: Sutou Kouhei <[email protected]>
    Co-authored-by: Sutou Kouhei <[email protected]>
    Co-authored-by: Raúl Cumplido <[email protected]>
    Signed-off-by: Raúl Cumplido <[email protected]>
---
 dev/tasks/linux-packages/README.md | 85 +++++++++++++++++++++++++++++++++++---
 1 file changed, 79 insertions(+), 6 deletions(-)

diff --git a/dev/tasks/linux-packages/README.md 
b/dev/tasks/linux-packages/README.md
index cafcc04ed0..f884674643 100644
--- a/dev/tasks/linux-packages/README.md
+++ b/dev/tasks/linux-packages/README.md
@@ -25,16 +25,89 @@
   * Docker
   * Tools to build tar.gz for Apache Arrow C++ and GLib
 
-## How to build .deb packages
+## How to build .deb packages for all supported platforms
+
+```bash
+cd dev/tasks/linux-packages/apache-arrow
+rake version:update
+rake apt:build
+```
+
+## How to build only specific .deb packages for supported platforms
+
+The following command line shows all supported platforms, bear in mind
+to execute this command from your root `arrow` clone folder:
+
+```bash
+for x in dev/tasks/linux-packages/apache-arrow/apt/{debian,ubuntu}*; do 
basename $x; done
+```
+
+You can specify target platforms by setting `APT_TARGETS`:
+
+```bash
+cd dev/tasks/linux-packages/apache-arrow
+rake version:update
+rake apt:build APT_TARGETS=debian-bookworm,ubuntu-noble
+```
+
+## How to debug .deb packages build
+
+You can use `apt:build:console` task to debug .deb packages build:
+
+```bash
+cd dev/tasks/linux-packages/apache-arrow
+rake version:update
+rake apt:build:console APT_TARGETS=debian-bookworm
+```
+
+It will show a Bash prompt. You can start .deb build by `/host/build.sh`:
 
 ```console
-% rake version:update
-% rake apt
+host$ rake apt:build:console APT_TARGETS=debian-bookworm
+container$ /host/build.sh
+```
+
+You can keep the Bash session even when the .deb build failed. You can
+debug in the Bash session.
+
+## How to build .rpm packages for all supported platforms
+
+```bash
+cd dev/tasks/linux-packages/apache-arrow
+rake yum:build
+```
+
+## How to build only specific .rpm packages for supported platforms
+
+The following command line shows all supported platforms, bear in mind
+to execute this command from your root `arrow` clone folder:
+
+```bash
+for x in dev/tasks/linux-packages/apache-arrow/yum/{alma,amazon,centos}*; do 
basename $x; done
 ```
 
-## How to build .rpm packages
+You can specify target platforms by setting `YUM_TARGETS`:
+
+```bash
+cd dev/tasks/linux-packages/apache-arrow
+rake yum:build YUM_TARGETS=almalinux-9,amazon-linux-2023
+```
+
+## How to debug .rpm packages build
+
+You can use `yum:build:console` task to debug .rpm packages build:
+
+```bash
+cd dev/tasks/linux-packages/apache-arrow
+rake yum:build:console YUM_TARGETS=almalinux-9
+```
+
+It will show a Bash prompt. You can start .rpm build by `/host/build.sh`:
 
 ```console
-% rake version:update
-% rake yum
+host$ rake yum:build:console YUM_TARGETS=almalinux-9
+container$ /host/build.sh
 ```
+
+You can keep the Bash session even when the .rpm build failed. You can
+debug in the Bash session.

Reply via email to