Please attach the cygport so we can be sure it is all there and read it without any MUA artifacts!

On 2026-02-26 03:28, xumouren225588--- via Cygwin-apps wrote:
I edited the nginx.cygport, and then run these command:
cygport nginx.cygport download
cygport nginx.cygport all

Checking packages for unexpected, missing or duplicate files
*** Warning: Packages are missing files:
-usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/auto/nginx/nginx.dll
-usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/nginx.pm
*** ERROR: Packages are missing files:

Normal build run is `cygport nginx get all check`

This is my nginx.cygport:
NAME="nginx"
VERSION=1.28.2
RELEASE=1

You need to add back *here*:

        inherit perl

as it can set variables already defined below, as it assumes you *ONLY* want to build a perl CPAN module, which is not all this package does; it also sets the PERL_{{,ARCH,SITE,VENDOR}LIB,VENDORARCH} and other variables which you need;
that avoids the later *missing packages* messages.

You also need to provide access to the contents of the package dist directory by uploading to a public file sharing site, as previously stated:

nginx-1.28.2-1.x86_64/dist/nginx/...
        .../nginx-1.28.2-1-src.tar.xz
        .../nginx-1.28.2-1-src.hint
        .../nginx-1.28.2-1-x86_64.tar.xz
        .../nginx-1.28.2-1-x86_64.hint
        
.../nginx-mod_http_image_filter/nginx-mod_http_image_filter-1.28.2-1-x86_64.tar.xz
        
.../nginx-mod_http_image_filter/nginx-mod_http_image_filter-1.28.2-1-x86_64.hint
        .../nginx-mod_http_perl/nginx-mod_http_perl-1.28.2-1-x86_64.tar.xz
        .../nginx-mod_http_perl/nginx-mod_http_perl-1.28.2-1-x86_64.hint
        
.../nginx-mod_http_xslt_filter/nginx-mod_http_xslt_filter-1.28.2-1-x86_64.tar.xz
        
.../nginx-mod_http_xslt_filter/nginx-mod_http_xslt_filter-1.28.2-1-x86_64.hint
        .../nginx-mod_mail/nginx-mod_mail-1.28.2-1-x86_64.tar.xz
        .../nginx-mod_mail/nginx-mod_mail-1.28.2-1-x86_64.hint
        .../nginx-mod_stream/nginx-mod_stream-1.28.2-1-x86_64.tar.xz
        .../nginx-mod_stream/nginx-mod_stream-1.28.2-1-x86_64.hint

the same as cygport nginx upload but to a site where you have upload access!

CATEGORY="Web"
SUMMARY="Web and mail proxy server"
DESCRIPTION="nginx [engine x] is an HTTP and reverse proxy server, a mail proxy
server, and a generic TCP/UDP proxy server."
HOMEPAGE="https://nginx.org/";
LICENSE="BSD-2-Clause"
>
SRC_URI="http://nginx.org/download/${NAME}-${VERSION}.tar.gz";
SRC_URI+=" nginx.init"
PATCH_URI="
      1.10.0-auto-os-cygwin.patch
      1.10.0-conf-modules.patch
      1.12.1-module-deps.patch
      1.10.0-perl.patch
"
BUILD_REQUIRES="libcrypt-devel libgd-devel libpcre2-devel libssl-devel libxslt-devel 
perl zlib-devel"

PKG_NAMES="nginx"
nginx_OBSOLETES="nginx-mod_http_geoip nginx-mod_stream_geoip" # GeoIP Legacy
nginx_CONTENTS="
      etc/defaults/etc/nginx/
      etc/p*/*
      etc/rc.d/init.d/nginx
      usr/sbin/nginx.exe
      usr/share/doc/${NAME}
      usr/share/man/
      usr/share/nginx/html/
      var/lib/nginx/tmp
      var/log/nginx
"

modules=(http_image_filter http_perl http_xslt_filter mail stream)
for mod in ${modules[*]}
do
      PKG_NAMES+=" nginx-mod_${mod}"
      declare nginx_mod_${mod}_CONTENTS="
                  usr/lib/nginx/modules/ngx_${mod}_module.so
                  usr/share/nginx/modules/mod_${mod}.conf
      "
done
nginx_mod_http_perl_CONTENTS+=" ${PERL_VENDORARCH#/}"

DEPS_PATH="/usr/sbin:/usr/lib/nginx/modules"

src_compile() {
      lndirs
      cd ${B}
      ./configure \
            --prefix=/usr/share/nginx \
            --sbin-path=/usr/sbin/nginx.exe \
            --modules-path=/usr/lib/nginx/modules \
            --conf-path=/etc/nginx/nginx.conf \
            --lock-path=/var/run/nginx.lock \
            --pid-path=/var/run/nginx.pid \
            --error-log-path=/var/log/nginx/error.log \
            --http-log-path=/var/log/nginx/access.log \
            --http-client-body-temp-path=/var/lib/nginx/tmp/client_body \
            --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi \
            --http-proxy-temp-path=/var/lib/nginx/tmp/proxy \
            --http-scgi-temp-path=/var/lib/nginx/tmp/scgi \
            --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-http_realip_module \
            --with-http_addition_module \
            --with-http_xslt_module=dynamic \
            --with-http_image_filter_module=dynamic \
            --with-http_sub_module \
            --with-http_dav_module \
            --with-http_flv_module \
            --with-http_mp4_module \
            --with-http_gunzip_module \
            --with-http_gzip_static_module \
            --with-http_auth_request_module \
            --with-http_random_index_module \
            --with-http_secure_link_module \
            --with-http_degradation_module \
            --with-http_slice_module \
            --with-http_stub_status_module \
            --with-http_perl_module=dynamic \
            --with-mail=dynamic \
            --with-mail_ssl_module \
            --with-pcre \
            --with-pcre-jit \
            --with-stream=dynamic \
            --with-stream_realip_module \
            --with-stream_ssl_module \
            --with-stream_ssl_preread_module \
            --with-ipv6 \
            --with-cc-opt="-DFD_SETSIZE=2048 -D_GNU_SOURCE"

      cygmake -f objs/Makefile binary
      cygmake -f objs/Makefile
      cygmake -f objs/Makefile 
objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.dll
}

src_install() {
      cd ${B}
      cyginstall
      doman objs/nginx.8

      rm ${D}/etc/nginx/*.default
      make_etc_defaults /etc/nginx

      exeinto /etc/rc.d/init.d
      newexe ${S}/nginx.init nginx

      dodir /usr/share/nginx/modules
      for mod in ${modules[*]}
      do
            echo "load_module \"/usr/lib/nginx/modules/ngx_${mod}_module.so\";" 
\
                  > ${D}/usr/share/nginx/modules/mod_${mod}.conf
      done
}

src_test() {
      :
}

KEEPDIRS="/var/lib/nginx/tmp /var/log/nginx"


--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                -- Antoine de Saint-Exupéry

Reply via email to