You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2023/06/16 18:10:14 UTC

[tomcat] branch main updated: Drop 32-bit Windows support

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

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


The following commit(s) were added to refs/heads/main by this push:
     new f5140a9536 Drop 32-bit Windows support
f5140a9536 is described below

commit f5140a9536277562353299c5158291fdc72724c6
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Fri Jun 16 19:10:07 2023 +0100

    Drop 32-bit Windows support
---
 build.xml                  | 52 ++-------------------------
 res/install-win/tomcat.nsi | 90 +++-------------------------------------------
 res/maven/mvn-pub.xml      |  8 -----
 webapps/docs/changelog.xml |  4 +++
 4 files changed, 12 insertions(+), 142 deletions(-)

diff --git a/build.xml b/build.xml
index c14e94a939..41b65ab191 100644
--- a/build.xml
+++ b/build.xml
@@ -2172,19 +2172,15 @@
     <chmod      dir="${tomcat.dist}/bin" includes="*.sh"  perm="+x"/>
 
     <!-- Windows binaries -->
-    <!-- 32 bit -->
-    <copy file="${commons-daemon.home}/windows/prunsrv.exe"
-        tofile="${tomcat.dist}/bin/tomcat${version.major}.exe" />
+    <!-- 64 bit amd -->
     <copy file="${commons-daemon.home}/windows/prunmgr.exe"
         tofile="${tomcat.dist}/bin/tomcat${version.major}w.exe" />
-    <!-- 64 bit amd -->
     <copy file="${commons-daemon.home}/windows/amd64/prunsrv.exe"
-        tofile="${tomcat.dist}/bin/x64/tomcat${version.major}.exe" />
+        tofile="${tomcat.dist}/bin/tomcat${version.major}.exe" />
     <!-- tc native -->
     <copy todir="${tomcat.dist}/bin">
-      <fileset dir="${tomcat-native.home}/bin">
+      <fileset dir="${tomcat-native.home}/bin/x64">
         <include name="*.dll"/>
-        <include name="**/*.dll"/>
       </fileset>
     </copy>
 
@@ -2194,11 +2190,6 @@
     <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
             file="${commons-daemon.native.src.tgz}" />
 
-    <!-- platform README files -->
-    <echo append="false" file="${tomcat.dist}/bin/x64/README">
-Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
-    </echo>
-
   </target>
 
   <target name="javadoc" depends="dist-source,download-compile"
@@ -2821,7 +2812,6 @@ asf.ldap.username=${release.asfusername}
         <include name="BUILDING.txt" />
         <include name="CONTRIBUTING.md"/>
         <exclude name="bin/service.bat"/>
-        <exclude name="bin/x64/"/>
         <exclude name="bin/*.exe"/>
         <exclude name="bin/*.dll"/>
       </zipfileset>
@@ -2837,34 +2827,6 @@ asf.ldap.username=${release.asfusername}
       <patternset refid="text.files" />
     </fixcrlf>
 
-    <!-- Windows x86 package -->
-    <zip zipfile="${tomcat.release}/v${version}/bin/${final.name}-windows-x86.zip"
-         modificationtime="${tstamp.iso.release}"
-         encoding="UTF8">
-      <zipfileset file="${tomcat.dist}" fullpath="${final.name}"/>
-      <zipfileset dir="${tomcat.dist}" prefix="${final.name}">
-        <include name="bin/**"/>
-        <include name="conf/**"/>
-        <include name="logs/**"/>
-        <include name="lib/**"/>
-        <include name="webapps/**"/>
-        <include name="work/**"/>
-        <include name="temp/**"/>
-        <include name="LICENSE"/>
-        <include name="NOTICE"/>
-        <include name="README.md"/>
-        <include name="RELEASE-NOTES"/>
-        <include name="RUNNING.txt"/>
-        <include name="BUILDING.txt" />
-        <include name="CONTRIBUTING.md"/>
-        <exclude name="bin/x64/"/>
-        <exclude name="bin/commons-daemon-native.tar.gz"/>
-        <exclude name="bin/tomcat-native.tar.gz"/>
-      </zipfileset>
-
-    </zip>
-    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}-windows-x86.zip" />
-
     <!-- Windows x64 package -->
     <zip zipfile="${tomcat.release}/v${version}/bin/${final.name}-windows-x64.zip"
          modificationtime="${tstamp.iso.release}"
@@ -2885,16 +2847,9 @@ asf.ldap.username=${release.asfusername}
         <include name="RUNNING.txt"/>
         <include name="BUILDING.txt" />
         <include name="CONTRIBUTING.md"/>
-        <exclude name="bin/x64/"/>
-        <exclude name="bin/*.dll"/>
-        <exclude name="bin/tomcat${version.major}.exe"/>
         <exclude name="bin/commons-daemon-native.tar.gz"/>
         <exclude name="bin/tomcat-native.tar.gz"/>
       </zipfileset>
-      <zipfileset dir="${tomcat.dist}/bin/x64" prefix="${final.name}/bin">
-        <include name="*.dll"/>
-        <include name="*.exe"/>
-      </zipfileset>
     </zip>
     <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}-windows-x64.zip" />
   </target>
@@ -2959,7 +2914,6 @@ asf.ldap.username=${release.asfusername}
         <exclude name="src/**" />
         <exclude name="bin/service.bat"/>
         <exclude name="bin/*.sh"/>
-        <exclude name="bin/x64/"/>
         <exclude name="bin/*.exe"/>
         <exclude name="bin/*.dll"/>
       </tarfileset>
diff --git a/res/install-win/tomcat.nsi b/res/install-win/tomcat.nsi
index fe16505799..db033fd733 100644
--- a/res/install-win/tomcat.nsi
+++ b/res/install-win/tomcat.nsi
@@ -211,13 +211,7 @@ Section "Core" SecTomcatCore
 
   SetOutPath $INSTDIR\bin
   File /oname=$TomcatServiceManagerFileName bin\tomcat@VERSION_MAJOR@w.exe
-
-  ; Get the current platform x86 / AMD64 / IA64
-  ${If} $Arch == "x86"
-    File /oname=$TomcatServiceFileName bin\tomcat@VERSION_MAJOR@.exe
-  ${ElseIf} $Arch == "x64"
-    File /oname=$TomcatServiceFileName bin\x64\tomcat@VERSION_MAJOR@.exe
-  ${EndIf}
+  File /oname=$TomcatServiceFileName bin\tomcat@VERSION_MAJOR@.exe
 
   FileOpen $ServiceInstallLog "$INSTDIR\logs\service-install.log" a
   FileSeek $ServiceInstallLog 0 END
@@ -264,11 +258,7 @@ Section "Native" SecTomcatNative
 
   SetOutPath $INSTDIR\bin
 
-  ${If} $Arch == "x86"
-    File bin\tcnative-1.dll
-  ${ElseIf} $Arch == "x64"
-    File /oname=tcnative-1.dll bin\x64\tcnative-1.dll
-  ${EndIf}
+  File bin\tcnative-1.dll
 
   ClearErrors
 
@@ -791,8 +781,6 @@ FunctionEnd
 ;
 ; Checks that a valid JVM has been specified or a suitable default is available
 ; Sets $JavaHome, $JavaExe and $JvmDll accordingly
-; Determines if the JVM is 32-bit or 64-bit and sets $Arch accordingly. For
-; 64-bit JVMs, also determines if it is x64 or ia64
 Function checkJava
 
   ${If} $JavaHome == ""
@@ -823,81 +811,13 @@ Function checkJava
 
   StrCpy "$JvmDll" $5
 
-  ; Read PE header of JvmDll to check for architecture
-  ; 1. Jump to 0x3c and read offset of PE header
-  ; 2. Jump to offset. Read PE header signature. It must be 'PE'\0\0 (50 45 00 00).
-  ; 3. The next word gives the machine type.
-  ; 0x014c: x86
-  ; 0x8664: x64
-  ; 0x0200: i64
-  ClearErrors
-  FileOpen $R1 "$JvmDll" r
-  IfErrors WrongPEHeader
-
-  FileSeek $R1 0x3c SET
-  FileReadByte $R1 $R2
-  FileReadByte $R1 $R3
-  IntOp $R3 $R3 << 8
-  IntOp $R2 $R2 + $R3
-
-  FileSeek $R1 $R2 SET
-  FileReadByte $R1 $R2
-  IntCmp $R2 0x50 +1 WrongPEHeader WrongPEHeader
-  FileReadByte $R1 $R2
-  IntCmp $R2 0x45 +1 WrongPEHeader WrongPEHeader
-  FileReadByte $R1 $R2
-  IntCmp $R2 0 +1 WrongPEHeader WrongPEHeader
-  FileReadByte $R1 $R2
-  IntCmp $R2 0 +1 WrongPEHeader WrongPEHeader
-
-  FileReadByte $R1 $R2
-  FileReadByte $R1 $R3
-  IntOp $R3 $R3 << 8
-  IntOp $R2 $R2 + $R3
-
-  IntCmp $R2 0x014c +1 +4 +4
-  StrCpy "$Arch" "x86"
-  SetRegView 32
-  Goto DonePEHeader
-
-  IntCmp $R2 0x8664 +1 +4 +4
-  StrCpy "$Arch" "x64"
-  SetRegView 64
-  Goto DonePEHeader
-
-  IntCmp $R2 0x0200 +1 +4 +4
-  StrCpy "$Arch" "i64"
-  SetRegView 64
-  Goto DonePEHeader
-
-WrongPEHeader:
-  IfSilent +2
-  MessageBox MB_OK|MB_ICONEXCLAMATION 'Cannot read PE header from "$JvmDll"$\r$\nWill assume that the architecture is x86.'
-  DetailPrint 'Cannot read PE header from "$JvmDll". Assuming the architecture is x86.'
-  SetRegView 32
-  StrCpy "$Arch" "x86"
-
-DonePEHeader:
-  FileClose $R1
-
-  DetailPrint 'Architecture: "$Arch"'
-
   StrCpy $INSTDIR "$ResetInstDir"
 
-  ; The default varies depending on 32-bit or 64-bit
   ${If} "$INSTDIR" == ""
-    ${If} $Arch == "x86"
-      ${If} $TomcatServiceName == $TomcatServiceDefaultName
-        StrCpy $INSTDIR "$PROGRAMFILES32\Apache Software Foundation\Tomcat @VERSION_MAJOR_MINOR@"
-      ${Else}
-        StrCpy $INSTDIR "$PROGRAMFILES32\Apache Software Foundation\Tomcat @VERSION_MAJOR_MINOR@_$TomcatServiceName"
-      ${EndIf}
+    ${If} $TomcatServiceName == $TomcatServiceDefaultName
+      StrCpy $INSTDIR "$PROGRAMFILES64\Apache Software Foundation\Tomcat @VERSION_MAJOR_MINOR@"
     ${Else}
-      ${If} $TomcatServiceName == $TomcatServiceDefaultName
-        StrCpy $INSTDIR "$PROGRAMFILES64\Apache Software Foundation\Tomcat @VERSION_MAJOR_MINOR@"
-      ${Else}
-        StrCpy $INSTDIR "$PROGRAMFILES64\Apache Software Foundation\Tomcat @VERSION_MAJOR_MINOR@_$TomcatServiceName"
-      ${EndIf}
+      StrCpy $INSTDIR "$PROGRAMFILES64\Apache Software Foundation\Tomcat @VERSION_MAJOR_MINOR@_$TomcatServiceName"
     ${EndIf}
   ${EndIf}
 
diff --git a/res/maven/mvn-pub.xml b/res/maven/mvn-pub.xml
index f9717cd9c8..2fec8ffc72 100644
--- a/res/maven/mvn-pub.xml
+++ b/res/maven/mvn-pub.xml
@@ -213,7 +213,6 @@
     <delete file="${pom}.tmp"/>
     <delete file="${pom}.asc"/>
     <delete file="${file}.zip.asc"/>
-    <delete file="${file}-windows-x86.zip.asc"/>
     <delete file="${file}-windows-x64.zip.asc"/>
     <delete file="${file}.tar.gz.asc"/>
 
@@ -228,10 +227,6 @@
     <antcall target="-sign" >
       <param name="file.in" value="${file}.zip" />
       <param name="file.out" value="${file}.zip.asc" />
-    </antcall>
-    <antcall target="-sign" >
-      <param name="file.in" value="${file}-windows-x86.zip" />
-      <param name="file.out" value="${file}-windows-x86.zip.asc" />
     </antcall>
       <antcall target="-sign" >
         <param name="file.in" value="${file}-windows-x64.zip" />
@@ -255,8 +250,6 @@
       </remoterepo>
       <artifact file="${file}.zip" type="zip"/>
       <artifact file="${file}.zip.asc" type="zip.asc" if:set="gpg.passphrase"/>
-      <artifact file="${file}-windows-x86.zip" type="zip" classifier="windows-x86"/>
-      <artifact file="${file}-windows-x86.zip.asc" type="zip.asc" classifier="windows-x86" if:set="gpg.passphrase"/>
       <artifact file="${file}-windows-x64.zip" type="zip" classifier="windows-x64"/>
       <artifact file="${file}-windows-x64.zip.asc" type="zip.asc" classifier="windows-x64" if:set="gpg.passphrase"/>
       <artifact file="${file}.tar.gz" type="tar.gz"/>
@@ -267,7 +260,6 @@
     <delete file="${pom}.tmp"/>
     <delete file="${pom}.asc"/>
     <delete file="${file}.zip.asc"/>
-    <delete file="${file}-windows-x86.zip.asc"/>
     <delete file="${file}-windows-x64.zip.asc"/>
     <delete file="${file}.tar.gz.asc"/>
   </target>
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index d62963f0fd..880e0fc70d 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -166,6 +166,10 @@
         Include the Windows specific binary distributions in the files uploaded
         to Maven Central. (markt)
       </add>
+      <update>
+        Remove support for running Tomcat on 32-bit Windows operating systems as
+        Java 21 is not available for that platform. (markt)
+      </update>
     </changelog>
   </subsection>
 </section>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org