Re: [VOTE] Release Apache Tomcat Native 1.2.37

2023-05-31 Thread Igal Sapir
Chris,

On Wed, May 31, 2023 at 6:42 AM Christopher Schultz <
ch...@christopherschultz.net> wrote:

> Igal,
>
> On 5/31/23 02:23, Igal Sapir wrote:
> > On Tue, May 30, 2023 at 3:22 PM Mark Thomas  wrote:
> >
> >> Version 1.2.36 includes the following changes compared to 1.2.36
> >>
> >> - The windows binaries in this release have been built with OpenSSL
> >> 1.1.1u and APR 1.7.4
> >>
> >> The proposed release artifacts can be found at [1],
> >> and the build was done using tag [2].
> >>
> >> The Apache Tomcat Native 1.2.37 release is
> >>[X] Stable, go ahead and release
> >>[ ] Broken because of ...
> >>
> >
> > +1
> >
> > APR unit tests passed.  Posting here my steps to ensure I've done it
> > correctly:
> >
> > 1. Build Tomcat Native 1.2.37 from source
> > 2. Point `test.apr.loc` to the output directory
> > 3. Make sure that `execute.test.apr` is set to true
> > 4. Run `ant clean test` on the 9.0.x branch (APR tests were removed from
> > the 10.1.x and the main branches?)
>
>
> You can have a look here for how I perform a completely automated build
> and test for a given Tomcat release. It includes building tcnative from
> source, but it uses the source packaged with the Tomcat source. I could
> easily extend it to allow you to override the location of the tcnative
> source to somewhere outside the tomcat-source package.
>
>
> https://github.com/ChristopherSchultz/apache-tomcat-stuff/blob/master/bin/test-tomcat-release.sh#L262
>
> Once built, tcnative is used for all of the unit tests.
>

Thanks for that!  I see there many valuable sections that I can adopt :-)

My script for building Tomcat Native ATM is rather simple, pasted below
(has room for improvement, I know):

❯ cat build-tcnative-2.sh
VERSION=2.0.4

# download and untar
curl
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/${VERSION}/source/tomcat-native-${VERSION}-src.tar
.
gz | tar -xz

SOURCE_DIR=/workspace/src/tomcat/tomcat-native/tomcat-native-$VERSION-src
TARGET_DIR=/workspace/build/tomcat/tomcat-native/tomcat-native-$VERSION

JAVA_HOME=/opt/java/zulu11.54.23-ca-jdk11.0.14-linux_x64

### see also tomcat-native-2.0.0-src/native/BUILDING
##  https://github.com/apache/tomcat-native/blob/main/native/BUILDING

### Download source of apache/apr and run ./configure && make
APR_HOME=/workspace/src/tomcat/apr-1.7.0
APR_HOME=/workspace/build/tomcat/apr-1.7.0

SSL_LIB=/workspace/src/openssl

### Build static version of OpenSSL 3.0.0 or later at $SSL_LIB
# git clone https://github.com/openssl/openssl.git $SSL_LIB && \
#   cd $SSL_LIB && \
#   ./Configure enable-fips && \
#   make

cd $SOURCE_DIR/native
echo Building to $TARGET_DIR

./configure \
   --with-java-home=$JAVA_HOME \
   --with-apr=$APR_HOME\
   --with-ssl=$SSL_LIB \
   --prefix=$TARGET_DIR\
   && make \
   && make install





>
> -chris
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


Re: [VOTE] Release Apache Tomcat Native 1.2.37

2023-05-31 Thread Mark Thomas

On 31/05/2023 14:34, Christopher Schultz wrote:

Mark,

Thanks for RMing

On 5/30/23 18:21, Mark Thomas wrote:

Version 1.2.36 includes the following changes compared to 1.2.36

- The windows binaries in this release have been built with OpenSSL
   1.1.1u and APR 1.7.4

The proposed release artifacts can be found at [1],
and the build was done using tag [2].

The Apache Tomcat Native 1.2.37 release is
  [ ] Stable, go ahead and release
  [ ] Broken because of ...


+1 for stable release.

Understanding that the only change was the new Windows statically-linked 
binaries... the native code builds cleanly and Java unit tests pass on 
x86-84 MacOS using clang 12.0.5.


Some notes:

1. Tomcat builds automatically download dependencies, while the Java 
tests require a separate "ant download". I think the tcnative build 
should also have the automatic dependency download that the Tomcat build 
does.


Seems reasonable.

2. There is a native "check" target in the Makefile which fails because 
the "test" directory does not exist. Creating that directory and 
re-running "make check" fails because "check" isn't found as a make 
target (which is a little weird). What are the expectations here?


Sorry, no clue.

3. The Echo server doesn't seem to work in any obvious way. For example, 
it does not accept TLS connections (which it does not look like it was 
designed to do, so, okay), it does not seem to echo anything back to a 
client, and it seems to hang when the client tries to end the input. For 
example, run "ant run-echo" in a terminal window and then run "echo 'Hi 
there' | nc localhost [port]" in another terminal and watch the two of 
them spew garbage to stdout.


No clue here either. Sorry.

Mark

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



Re: [VOTE] Release Apache Tomcat Native 1.2.37

2023-05-31 Thread Rémy Maucherat
On Wed, May 31, 2023 at 12:21 AM Mark Thomas  wrote:
>
> Version 1.2.36 includes the following changes compared to 1.2.36
>
> - The windows binaries in this release have been built with OpenSSL
>1.1.1u and APR 1.7.4
>
> The proposed release artifacts can be found at [1],
> and the build was done using tag [2].
>
> The Apache Tomcat Native 1.2.37 release is
>   [X] Stable, go ahead and release
>   [ ] Broken because of ...

Rémy

> Thanks,
>
> Mark
>
>
> [1]
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.37
> [2]
> https://gitbox.apache.org/repos/asf?p=tomcat-native.git;a=commit;h=48ece4be765f5ff5f553b27bd278079ddb124bb7
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>

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



Re: [VOTE] Release Apache Tomcat Native 1.2.37

2023-05-31 Thread Christopher Schultz

Igal,

On 5/31/23 02:23, Igal Sapir wrote:

On Tue, May 30, 2023 at 3:22 PM Mark Thomas  wrote:


Version 1.2.36 includes the following changes compared to 1.2.36

- The windows binaries in this release have been built with OpenSSL
1.1.1u and APR 1.7.4

The proposed release artifacts can be found at [1],
and the build was done using tag [2].

The Apache Tomcat Native 1.2.37 release is
   [X] Stable, go ahead and release
   [ ] Broken because of ...



+1

APR unit tests passed.  Posting here my steps to ensure I've done it
correctly:

1. Build Tomcat Native 1.2.37 from source
2. Point `test.apr.loc` to the output directory
3. Make sure that `execute.test.apr` is set to true
4. Run `ant clean test` on the 9.0.x branch (APR tests were removed from
the 10.1.x and the main branches?)



You can have a look here for how I perform a completely automated build 
and test for a given Tomcat release. It includes building tcnative from 
source, but it uses the source packaged with the Tomcat source. I could 
easily extend it to allow you to override the location of the tcnative 
source to somewhere outside the tomcat-source package.


https://github.com/ChristopherSchultz/apache-tomcat-stuff/blob/master/bin/test-tomcat-release.sh#L262

Once built, tcnative is used for all of the unit tests.

-chris

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



Re: [VOTE] Release Apache Tomcat Native 1.2.37

2023-05-31 Thread Christopher Schultz

Mark,

Thanks for RMing

On 5/30/23 18:21, Mark Thomas wrote:

Version 1.2.36 includes the following changes compared to 1.2.36

- The windows binaries in this release have been built with OpenSSL
   1.1.1u and APR 1.7.4

The proposed release artifacts can be found at [1],
and the build was done using tag [2].

The Apache Tomcat Native 1.2.37 release is
  [ ] Stable, go ahead and release
  [ ] Broken because of ...


+1 for stable release.

Understanding that the only change was the new Windows statically-linked 
binaries... the native code builds cleanly and Java unit tests pass on 
x86-84 MacOS using clang 12.0.5.


Some notes:

1. Tomcat builds automatically download dependencies, while the Java 
tests require a separate "ant download". I think the tcnative build 
should also have the automatic dependency download that the Tomcat build 
does.


2. There is a native "check" target in the Makefile which fails because 
the "test" directory does not exist. Creating that directory and 
re-running "make check" fails because "check" isn't found as a make 
target (which is a little weird). What are the expectations here?


3. The Echo server doesn't seem to work in any obvious way. For example, 
it does not accept TLS connections (which it does not look like it was 
designed to do, so, okay), it does not seem to echo anything back to a 
client, and it seems to hang when the client tries to end the input. For 
example, run "ant run-echo" in a terminal window and then run "echo 'Hi 
there' | nc localhost [port]" in another terminal and watch the two of 
them spew garbage to stdout.


-chris

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



Re: [VOTE] Release Apache Tomcat Native 1.2.37

2023-05-31 Thread Mark Thomas

On 30/05/2023 23:21, Mark Thomas wrote:


The Apache Tomcat Native 1.2.37 release is
  [X] Stable, go ahead and release
  [ ] Broken because of ...


Tested using:
- Windows binary with Tomcat 11.0.x
- Windows binary with Tomcat 9.0.x
- Ubuntu (built from source OpenSSL 1.1.1u) with Tomcat 11.0.x
- Ubuntu (built from source OpenSSL 1.1.1u) with Tomcat 9.0.x

All tests passed.

Mark

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



Re: [VOTE] Release Apache Tomcat Native 1.2.37

2023-05-30 Thread Mark Thomas

On 31/05/2023 07:23, Igal Sapir wrote:

On Tue, May 30, 2023 at 3:22 PM Mark Thomas  wrote:


Version 1.2.36 includes the following changes compared to 1.2.36

- The windows binaries in this release have been built with OpenSSL
1.1.1u and APR 1.7.4

The proposed release artifacts can be found at [1],
and the build was done using tag [2].

The Apache Tomcat Native 1.2.37 release is
   [X] Stable, go ahead and release
   [ ] Broken because of ...



+1

APR unit tests passed.  Posting here my steps to ensure I've done it
correctly:

1. Build Tomcat Native 1.2.37 from source
2. Point `test.apr.loc` to the output directory
3. Make sure that `execute.test.apr` is set to true
4. Run `ant clean test` on the 9.0.x branch (APR tests were removed from
the 10.1.x and the main branches?)


Yes, that is the correct way to test Tomcat Native with the APR 
connector and it can only be done with 9.0.x and earlier.


You can also run the 10.1.x and 11.0.x tests with Tomcat Native 1.2.x 
but that only tests the OpenSSL replacement for JSSE with NIO and NIO2.


Mark

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



Re: [VOTE] Release Apache Tomcat Native 1.2.37

2023-05-30 Thread Igal Sapir
On Tue, May 30, 2023 at 3:22 PM Mark Thomas  wrote:

> Version 1.2.36 includes the following changes compared to 1.2.36
>
> - The windows binaries in this release have been built with OpenSSL
>1.1.1u and APR 1.7.4
>
> The proposed release artifacts can be found at [1],
> and the build was done using tag [2].
>
> The Apache Tomcat Native 1.2.37 release is
>   [X] Stable, go ahead and release
>   [ ] Broken because of ...
>

+1

APR unit tests passed.  Posting here my steps to ensure I've done it
correctly:

1. Build Tomcat Native 1.2.37 from source
2. Point `test.apr.loc` to the output directory
3. Make sure that `execute.test.apr` is set to true
4. Run `ant clean test` on the 9.0.x branch (APR tests were removed from
the 10.1.x and the main branches?)

Igal



>
> Thanks,
>
> Mark
>
>
> [1]
>
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.37
> [2]
>
> https://gitbox.apache.org/repos/asf?p=tomcat-native.git;a=commit;h=48ece4be765f5ff5f553b27bd278079ddb124bb7
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


[VOTE] Release Apache Tomcat Native 1.2.37

2023-05-30 Thread Mark Thomas

Version 1.2.36 includes the following changes compared to 1.2.36

- The windows binaries in this release have been built with OpenSSL
  1.1.1u and APR 1.7.4

The proposed release artifacts can be found at [1],
and the build was done using tag [2].

The Apache Tomcat Native 1.2.37 release is
 [ ] Stable, go ahead and release
 [ ] Broken because of ...

Thanks,

Mark


[1]
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.37
[2] 
https://gitbox.apache.org/repos/asf?p=tomcat-native.git;a=commit;h=48ece4be765f5ff5f553b27bd278079ddb124bb7


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