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

wenchen pushed a commit to branch branch-3.5
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/branch-3.5 by this push:
     new e45dcebbb12a [SPARK-54371][SPARK-39959][INFRA][3.5] Pin roxygen2 and 
pkgdown versions for SparkR doc generation
e45dcebbb12a is described below

commit e45dcebbb12a5edca005d1a2e7754a1481a2f29b
Author: Wenchen Fan <[email protected]>
AuthorDate: Wed Jan 21 11:40:13 2026 +0800

    [SPARK-54371][SPARK-39959][INFRA][3.5] Pin roxygen2 and pkgdown versions 
for SparkR doc generation
    
    ### What changes were proposed in this pull request?
    
    This PR backports R package version pinning from master to branch-3.5:
    
    1. Pin `roxygen2` to version 7.2.0 (per SPARK-39959)
    2. Pin `lintr` to version 2.0.1 instead of installing from GitHub
    3. Install `pkgdown` at the end to prevent version upgrade (per SPARK-54371)
    
    ### Why are the changes needed?
    
    The SparkR documentation generated for v3.5.8 differs significantly from 
v4.2.0-preview1 despite no major API changes. Investigation revealed:
    
    1. **roxygen2 version issue**: The branch-3.5 Dockerfile uses 
`install.packages('roxygen2')` which installs the latest version from CRAN 
(7.3.x+), while master pins it to 7.2.0. Different roxygen2 versions generate 
`.Rd` files differently, affecting the final HTML output.
    
    2. **pkgdown version upgrade**: When `preferably` is installed after 
`pkgdown`, it can upgrade pkgdown from 2.0.1 to 2.2.0 due to dependency 
resolution. Installing pkgdown LAST prevents this.
    
    See:
    - 
https://dist.apache.org/repos/dist/release/spark/docs/3.5.8/api/R/reference/
    - 
https://dist.apache.org/repos/dist/release/spark/docs/4.2.0-preview1/api/R/reference/
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    This is a backport of fixes already validated on master branch.
    
    Closes #53878 from cloud-fan/fix-sparkr-docs-branch-3.5.
    
    Authored-by: Wenchen Fan <[email protected]>
    Signed-off-by: Wenchen Fan <[email protected]>
---
 dev/create-release/spark-rm/Dockerfile | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dev/create-release/spark-rm/Dockerfile 
b/dev/create-release/spark-rm/Dockerfile
index 1a51ade64155..7fb9c95bb0a3 100644
--- a/dev/create-release/spark-rm/Dockerfile
+++ b/dev/create-release/spark-rm/Dockerfile
@@ -82,10 +82,13 @@ RUN apt-get clean && apt-get update && $APT_INSTALL gnupg 
ca-certificates && \
   $APT_INSTALL libcurl4-openssl-dev libgit2-dev libssl-dev libxml2-dev && \
   $APT_INSTALL texlive-latex-base texlive texlive-fonts-extra texinfo qpdf 
texlive-latex-extra && \
   $APT_INSTALL libfontconfig1-dev libharfbuzz-dev libfribidi-dev 
libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev libwebp-dev && \
-  Rscript -e "install.packages(c('curl', 'xml2', 'httr', 'devtools', 
'testthat', 'knitr', 'rmarkdown', 'markdown', 'roxygen2', 'e1071', 'survival'), 
repos='https://cloud.r-project.org/')" && \
-  Rscript -e "devtools::install_github('jimhester/lintr')" && \
-  Rscript -e "devtools::install_version('pkgdown', version='2.0.1', 
repos='https://cloud.r-project.org')" && \
+  Rscript -e "install.packages(c('curl', 'xml2', 'httr', 'devtools', 
'testthat', 'knitr', 'rmarkdown', 'markdown', 'e1071', 'survival'), 
repos='https://cloud.r-project.org/')" && \
+  # See more in SPARK-39959, roxygen2 < 7.2.1
+  Rscript -e "devtools::install_version('roxygen2', version='7.2.0', 
repos='https://cloud.r-project.org')" && \
+  Rscript -e "devtools::install_version('lintr', version='2.0.1', 
repos='https://cloud.r-project.org')" && \
   Rscript -e "devtools::install_version('preferably', version='0.4', 
repos='https://cloud.r-project.org')" && \
+  # See more in SPARK-54371, pkgdown should be installed at the end to avoid 
version upgrade
+  Rscript -e "devtools::install_version('pkgdown', version='2.0.1', 
repos='https://cloud.r-project.org')" && \
   # Install tools needed to build the documentation.
   $APT_INSTALL ruby2.7 ruby2.7-dev && \
   gem install --no-document $GEM_PKGS


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to