From 5e41c2b234086bb06585ba2236da7282cddaa448 Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Mon, 23 Jun 2025 09:10:56 +0800 Subject: [PATCH] add apr-util readme --- .../apr-util/1.6.3/24.03-lts-sp1/Dockerfile | 40 +++++++++ .../apr-util/1.7.6/24.03-lts-sp1/Dockerfile | 26 ------ Others/apr-util/README.md | 83 ++++++++++++++++++ Others/apr-util/doc/image-info.yml | 79 +++++++++++++++++ Others/apr-util/doc/picture/logo.png | Bin 0 -> 6425 bytes Others/apr-util/meta.yml | 4 +- 6 files changed, 204 insertions(+), 28 deletions(-) create mode 100644 Others/apr-util/1.6.3/24.03-lts-sp1/Dockerfile delete mode 100644 Others/apr-util/1.7.6/24.03-lts-sp1/Dockerfile create mode 100644 Others/apr-util/README.md create mode 100644 Others/apr-util/doc/image-info.yml create mode 100644 Others/apr-util/doc/picture/logo.png diff --git a/Others/apr-util/1.6.3/24.03-lts-sp1/Dockerfile b/Others/apr-util/1.6.3/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000..b64dfb9 --- /dev/null +++ b/Others/apr-util/1.6.3/24.03-lts-sp1/Dockerfile @@ -0,0 +1,40 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} as BUILDER +ARG VERSION=1.6.3 +ARG APR_VERSION=1.7.6 + +RUN dnf update -y && \ + dnf install -y \ + wget \ + gcc \ + make \ + libtool \ + pkg-config \ + expat-devel \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +WORKDIR /opt + +RUN wget https://dlcdn.apache.org/apr/apr-${APR_VERSION}.tar.gz \ + && tar -zxvf apr-${APR_VERSION}.tar.gz \ + && cd apr-${APR_VERSION} \ + && ./configure --prefix=/usr/local/apr \ + && make -j$(nproc) \ + && make install \ + && cd .. \ + && rm -rf apr-${APR_VERSION}* + +RUN wget https://dlcdn.apache.org/apr/apr-util-${VERSION}.tar.gz \ + && tar -zxvf apr-util-${VERSION}.tar.gz \ + && cd apr-util-${VERSION} \ + && ./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr \ + && make -j$(nproc) \ + && make install \ + && cd .. \ + && rm -rf apr-util-${VERSION}* + +ENV LD_LIBRARY_PATH=/usr/local/apr/lib:$LD_LIBRARY_PATH +ENV PKG_CONFIG_PATH=/usr/local/apr/lib/pkgconfig:$PKG_CONFIG_PATH + +CMD ["/usr/local/apr/bin/apu-1-config", "--version"] \ No newline at end of file diff --git a/Others/apr-util/1.7.6/24.03-lts-sp1/Dockerfile b/Others/apr-util/1.7.6/24.03-lts-sp1/Dockerfile deleted file mode 100644 index 75e67ae..0000000 --- a/Others/apr-util/1.7.6/24.03-lts-sp1/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -ARG BASE=openeuler/openeuler:24.03-lts-sp1 -FROM ${BASE} as BUILDER -ARG VERSION=1.7.6 - -RUN dnf update -y && \ - dnf install -y \ - wget \ - gcc \ - make \ - libtool \ - && dnf clean all \ - && rm -rf /var/cache/dnf/* - -WORKDIR /opt - -RUN wget https://dlcdn.apache.org/apr/apr-${VERSION}.tar.gz \ - && tar -zxvf apr-${VERSION}.tar.gz \ - && rm -f apr-${VERSION}.tar.gz - -WORKDIR /opt/apr-${VERSION} - -RUN ./configure \ - && make -j$(nproc) \ - && make install - -CMD ["/usr/local/apr/bin/apr-1-config"] diff --git a/Others/apr-util/README.md b/Others/apr-util/README.md new file mode 100644 index 0000000..e6ace33 --- /dev/null +++ b/Others/apr-util/README.md @@ -0,0 +1,83 @@ +# Quick reference + +- The official APR-util (Apache Portable Runtime Utilities) docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# APR-util (Apache Portable Runtime Utilities) | openEuler +Current APR-util (Apache Portable Runtime Utilities) docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +APR-util (Apache Portable Runtime Utilities) is an extension library for APR (Apache Portable Runtime), providing additional cross-platform utility functions to complement APR's core features. + +Learn more about APR-util on [APR-util Website](https://apr.apache.org/)⁠. + +# Supported tags and respective Dockerfile links +The tag of each `apr-util` docker image is consist of the version of `apr-util` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[1.6.3-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/apr-util/1.6.3/24.03-lts-sp1/Dockerfile)| APR-util 1.6.3 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/apr-util` image from docker + + ```bash + docker pull openeuler/apr-util:{Tag} + ``` + +- Run with an interactive shell + + You can start the container with an interactive shell to run your own code using APR-util. + ``` + docker run -it --rm openeuler/apr-util:{Tag} bash + ``` + +- Example: A minimal APR-util program + + Create a file named `parse.c` with the following content: + ``` + // parse.c + #include + #include + #include + + int main() { + apr_initialize(); + apr_pool_t *pool; + apr_pool_create(&pool, NULL); + + apr_uri_t uri; + const char *url = "http://example.com/path?key=value"; + + if (apr_uri_parse(pool, url, &uri) == APR_SUCCESS) { + printf("Host: %s\n", uri.hostname); + } else { + printf("Parse failed\n"); + } + + apr_pool_destroy(pool); + apr_terminate(); + return 0; + } + ``` + +- Compile the program: + ``` + gcc parse.c -o parse \ + -I/usr/local/apr/include/apr-1 \ + -I/usr/include/apr-util-1 \ + -L/usr/local/apr/lib \ + -lapr-1 -laprutil-1 + ``` + +- Run the program + ``` + $ ./parse + ``` + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Others/apr-util/doc/image-info.yml b/Others/apr-util/doc/image-info.yml new file mode 100644 index 0000000..6348fa2 --- /dev/null +++ b/Others/apr-util/doc/image-info.yml @@ -0,0 +1,79 @@ +name: apr-util +category: others +description: APR-util(Apache Portable Runtime Utility)是APR(Apache Portable Runtime)的扩展工具库。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + apr-util镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[1.6.3-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/apr-util/1.6.3/24.03-lts-sp1/Dockerfile)| APR-util 1.6.3 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/apr-util:{Tag} + ``` + +usage: | + - 使用交互式Shell运行: + + 启动一个带交互式Shell的容器,使用apr-util运行自己的代码。 + ``` + docker run -it --rm openeuler/apr-util:{Tag} bash + ``` + + - 一个简单的使用示例 + + 创建`parse.c`文件,内容如下: + ``` + // parse.c + #include + #include + #include + + int main() { + apr_initialize(); + apr_pool_t *pool; + apr_pool_create(&pool, NULL); + + apr_uri_t uri; + const char *url = "http://example.com/path?key=value"; + + if (apr_uri_parse(pool, url, &uri) == APR_SUCCESS) { + printf("Host: %s\n", uri.hostname); + } else { + printf("Parse failed\n"); + } + + apr_pool_destroy(pool); + apr_terminate(); + return 0; + } + ``` + + - 编译程序: + ``` + gcc parse.c -o parse \ + -I/usr/local/apr/include/apr-1 \ + -I/usr/include/apr-util-1 \ + -L/usr/local/apr/lib \ + -lapr-1 -laprutil-1 + ``` + + - 运行程序 + ``` + $ ./parse + ``` + +license: Apache-2.0 +similar_packages: + - N/A +dependency: + - apr + - expat + - openssl diff --git a/Others/apr-util/doc/picture/logo.png b/Others/apr-util/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ec63471a40420c026c41032817730e6787921739 GIT binary patch literal 6425 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 P-AP?d1C7sWHu(Pm9@Fq3 literal 0 HcmV?d00001 diff --git a/Others/apr-util/meta.yml b/Others/apr-util/meta.yml index a67abd7..a0e1fdc 100644 --- a/Others/apr-util/meta.yml +++ b/Others/apr-util/meta.yml @@ -1,2 +1,2 @@ -1.7.6-oe2403sp1: - path: 1.7.6/24.03-lts-sp1/Dockerfile +1.6.3-oe2403sp1: + path: 1.6.3/24.03-lts-sp1/Dockerfile -- Gitee