www.delorie.com/archives/browse.cgi | search |
DMARC-Filter: | OpenDMARC Filter v1.4.2 delorie.com 58HBmvKo1289439 |
Authentication-Results: | delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com |
Authentication-Results: | delorie.com; spf=pass smtp.mailfrom=cygwin.com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 delorie.com 58HBmvKo1289439 |
Authentication-Results: | delorie.com; |
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=Leqptd6k | |
X-Recipient: | archive-cygwin AT delorie DOT com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 3D1B4385843D |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; |
s=default; t=1758109735; | |
bh=8Q6v+xNZ8qTFVTLV6QW7AYMP6nU3FB094a2jwDwG+3c=; | |
h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: | |
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: | |
From; | |
b=Leqptd6kcjtSPb9tOKzfp5EfYtceI0fdDaFXX6Dvis8ivxVw22fTduwF0obdcb3H5 | |
jWeZOydc+1o6eg/9B3+0XLc5+gnH54LymNHk6bLv7kzSJ93IcVSRtD6Z4zPfaZIfl6 | |
UJCZQp4qTEoFV+M4O9sYCIVzlJY6KgnFSgyIDtU4= | |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DMARC-Filter: | OpenDMARC Filter v1.4.2 sourceware.org 946D53858C60 |
ARC-Filter: | OpenARC Filter v1.0.0 sourceware.org 946D53858C60 |
ARC-Seal: | i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1758109704; cv=none; |
b=wSgsEZkS6wymq6IvI5OOSXw7Y/yJDI9VinX0p651/KFFgXqZRN/UKbpgAsiPjddkpRj6ixqjg02uZxbZ6K4ss9wpZ5Rza3jmBzu5xs0nIDZENrnxCjUq8k1tMga+a2hTdLa36DF5u6RLTjUELs777GwcPndDv7DDlRPb6sLvGXY= | |
ARC-Message-Signature: | i=1; a=rsa-sha256; d=sourceware.org; s=key; |
t=1758109704; c=relaxed/simple; | |
bh=mvYvEmEV/W4OnAWajMFCBetUFXgAcnOCfzQEOwuQGy8=; | |
h=DKIM-Signature:Subject:To:From:Message-ID:Date:MIME-Version; | |
b=SZcN7g15QZS5ociuB6oKSigLdo1eT7BrNLoAhWOpZ5dPeEAp58oICigDdDgOeBEHOVmQmNGn4EsNt7k8e+gFovRR55nqyMD2aKi40exgNDht8lEPOMI5Xuh1e0yaFXzwAylBKa5QQGLV1bdjWPH5jupcaJHLeAxBqhiSIhONs1s= | |
ARC-Authentication-Results: | i=1; server2.sourceware.org |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 946D53858C60 |
Subject: | Re: cygport 0.37.2 keeps failing with patch will not apply |
To: | cygwin AT cygwin DOT com |
References: | <87a19a0c-c668-b195-e28e-d4dd7a069b9d AT wisemo DOT com> |
<95215312-b19a-44bb-a769-6e1faa591821 AT SystematicSW DOT ab DOT ca> | |
<c849e94b-1116-20db-10a2-adcaf02ace6b AT wisemo DOT com> | |
<476a235a-db54-4a0f-8917-d283a6df28c2 AT SystematicSW DOT ab DOT ca> | |
Organization: | WiseMo A/S |
Message-ID: | <76025dd8-49f1-cc95-8fa4-1d054c7ab5aa@wisemo.com> |
Date: | Wed, 17 Sep 2025 13:48:24 +0200 |
X-Mailer: | Epyrus/2.1.3 |
MIME-Version: | 1.0 |
In-Reply-To: | <476a235a-db54-4a0f-8917-d283a6df28c2@SystematicSW.ab.ca> |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.30 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Unsubscribe: | <https://cygwin.com/mailman/options/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> | |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
From: | Jakob Bohm via Cygwin <cygwin AT cygwin DOT com> |
Reply-To: | Jakob Bohm <jb-cygwin AT wisemo DOT com> |
Errors-To: | cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com |
Sender: | "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com> |
X-MIME-Autoconverted: | from base64 to 8bit by delorie.com id 58HBmvKo1289439 |
Hi List, Solution further down! On 9/17/2025 3:49 AM, Brian Inglis via Cygwin wrote: > On 2025-09-16 18:11, Jakob Bohm via Cygwin wrote: >> On 9/16/2025 8:49 PM, Brian Inglis via Cygwin wrote: >>> On 2025-09-16 03:20, Jakob Bohm via Cygwin wrote: >>>> I was looking into trying out some local modifications to a cygwin >>>> packaged program. Thus I installed the sources via setup.exe then >>>> copied /usr/src/* to a working directory and tried to rebuild the >>>> package with the cygport all command. But Even with different >>>> packages and unchanged sources, cygport keeps failing with an error >>>> that the first patch in the source will not apply. >>>> >>>> What should I do to get to a buildable state? >>>> >>>> Steps to reproduce (using bash as a simpler test example): >> Note that above line clarifies that bash was just used as a test example >> to show it was an issue in cygport, not the specific packageI am trying >> to build. Equivalently, any changes specific to the bash package are >> irrelevant, including your comments about redhat URL specifics. Reemphasizing this, as I kept getting replies highly specific to bash, when bash was just a random choice from the setup.exe menus. >>>> >>>> $ cd >>>> $ mkdir cygsrc >>>> $ cd cygsrc >>>> $ cp -par /usr/src/* . >>>> $ cd bash-5.2.21-1.src >>>> $ cygport bash.cygport all >>>> $ cygport --version >>>> >>>> Results: >>>> >>>> *** Info: Trying to enable case sensitivity on /home/me/cygsrc/ >>>> bash-5.2.21-1.src/bash-5.2.21-1.x86_64 >>>>  >>> Preparing bash-5.2.21-1.x86_64 >>>>  >>> Unpacking source bash-5.2.21.tar.gz >>>> *** ERROR: patch bash-2.03-profile.patch will not apply >>>> >>>> cygport 0.37.2 >>>> Copyright (C) 2020 Cygport authors >> . >>> >>> Without knowing the actual source package, version, and patch, it is >>> hard to help. >>> It is also easier to diagnose if we can see a verbatim transcript of >>> commands run and output shown. >> But here is a transcript of trying the undocumented (not in man >> cygport) --debug option (with username substituted by "me") > > It is in `man cygport` for me: > > $ man cygport | grep debug >       --debug >              enable debugging messages > OK, admitted, it was on the manpage, I just overlooked it. Also the debug output seems to be both too verbose and too incomplete for anyone but the cygport author to understand. > Try `cygport --help` for better info: we should probably use > `help2man` to update man pages, if there are mismatches. > >> $ cygport --debug bash.cygport all >> + shift >> + true >> + case ${1} in >> + break >> + argv=('/usr/bin/cygport' 'bash.cygport' 'all') >> + declare -ar argv >> + declare -ir argc=3 >> + defined 'argv[1]' >> + (( 1 != 1 )) >> + '[' -n bash.cygport ']' >> + return 0 >> + defined 'argv[2]' >> + (( 1 != 1 )) >> + '[' -n all ']' >> + return 0 >> + source /usr/share/cygport/lib/check_funcs.cygpart >> + echo -e '\e[1;39m>>> Preparing bash-5.2.21-1.x86_64\e[0;0m' >>  >>> Preparing bash-5.2.21-1.x86_64 > >> /home/me/cygsrc/bash-5.2.21-1.src/bash-5.2.21.tar.gz ']' > >> + '[' -f /home/me/cygsrc/bash-5.2.21-1.src/bash-2.03-profile.patch -a >> '!' -f bash-2.03-profile.patch ']' > >> + cd /home/me/cygsrc/bash-5.2.21-1.src/bash-5.2.21-1.x86_64/origsrc > >> + unpack_cmd='tar xf' >> + __step 'Unpacking source bash-5.2.21.tar.gz' >> + echo -e '>>> Unpacking source bash-5.2.21.tar.gz' >>  >>> Unpacking source bash-5.2.21.tar.gz > >> + tar xf /home/me/cygsrc/bash-5.2.21-1.src/bash-5.2.21.tar.gz >> + '[' '!' -d >> /home/me/cygsrc/bash-5.2.21-1.src/bash-5.2.21-1.x86_64/origsrc/ >> bash-5.2.21 ']' >> + chmod +x >> /home/me/cygsrc/bash-5.2.21-1.src/bash-5.2.21-1.x86_64/origsrc/ >> bash-5.2.21 >> + cd >> /home/me/cygsrc/bash-5.2.21-1.src/bash-5.2.21-1.x86_64/origsrc/bash-5.2.21 > >> + cygpatch /home/me/cygsrc/bash-5.2.21-1.src/bash-2.03-profile.patch > >> + patch -N -s --dry-run -p1 -i >> /home/me/cygsrc/bash-5.2.21-1.src/bash-2.03- profile.patch > >> + error 'patch bash-2.03-profile.patch will not apply' >> + case $? in >> + local errorcode=1 >> + echo -e '\e[1;31m*** ERROR:\e[0;0m patch bash-2.03-profile.patch >> will not apply' >> *** ERROR: patch bash-2.03-profile.patch will not apply >> + exit 1 >> >> me AT MACHINE ~/cygsrc/bash-5.2.21-1.src > > Try running: > > $ cd > /home/me/cygsrc/bash-5.2.21-1.src/bash-5.2.21-1.x86_64/origsrc/bash-5.2.21 > $ patch --verbose -N -s --dry-run -p1 -i > /home/me/cygsrc/bash-5.2.21-1.src/bash-2.03-profile.patch Again, a suggestion specific to bash, but I can try. And patch --verbose gave a meaningful error message suppressed by cygport, even in debug mode: the CYGWIN tmp dir was still mounted to the cygwin64\tmp default location, thus writable only by admins/wheel, not developers or other non-wheel users. Fix was to add this comment and line to /etc/fstab as root, then restarting all processes that access cygwin1.dll shared memory. These lines really should be the sane default. ###### Solution!!!!!! # Map Windows per user temp dir to CYGWIN /tmp dir none   /tmp   usertemp binary,posix=1,noacl,dos,user  0      0 (noacl needed because the cygwin core code uses a broken old algorithm that adds NTACL entries for user NONE and generally causes ACL corruption) . > >>> You are expected to run cygport from within the directory where the >>> package sources including the <PACKAGE>.cygport were downloaded or >>> installed (often / usr/src/<PACKAGE>). >> >> Not sure how the statements below applies to an already populated >> complete src directory for the test package (which happens to be bash). >> >>> By default, if you use download/fetch/wget/get/...all cygport will >>> re-download any sources or patches which are not local or in its >>> upstream cache defined as ${DISTDIR:-$HOME/Downloads}, and they may >>> have changed. >>> Also incorrect versions of unlabelled/unversioned sources or patches >>> may be found in its upstream cache and used. > > If anything is not found locally, and what that means may vary by > source, it will be checked for in the upstream source cache > ${DISTDIR:-$HOME/Downloads}, and what is available locally or in the > upstream source cache may not be the same file used in the original > build! > > I have no idea where your sources originated without seeing the whole > transcript, including downloadall or equivalent, but wcurl/tar/prep > works for me: As I wrote repeatedly, these are the sources installed by setup.exe when checking the "src" box for a package, nothing exotic or manual. > > $ wcurl > https://mirror.cpsc.ucalgary.ca/mirror/cygwin.com/x86_64/release/bash/bash-5.2.21-1-src.tar.xz >  % Total   % Received % Xferd Average Speed  Time Time    Time > Current >                                 Dload Upload  Total Spent   Left > Speed > 100 10.4M 100 10.4M   0    0 19.8M     0 --:--:-- --:--:-- > --:--:-- 19.9M > $ tar -xf bash-5.2.21-1-src.tar.xz > $ cd bash-5.2.21-1.src > $ cygport --version > cygport 0.37.2 > Copyright (C) 2020 Cygport authors   # -> needs updated! > ... > $ cygport bash.cygport prep > *** Info: Trying to enable case sensitivity on > /usr/src/bash/bash-5.2.21-1.src/bash-5.2.21-1.x86_64 > >>> Preparing bash-5.2.21-1.x86_64 > >>> Unpacking source bash-5.2.21.tar.gz > *** Info: applying patch bash-2.03-profile.patch (-p1): > patching file config-top.h > Hunk #1 succeeded at 23 (offset -3 lines). > *** Info: applying patch bash-2.05a-interpreter.patch (-p1): > ... > >>> Preparing working source directory > *** Info: applying patch bash-5.2.21-1.src.patch (-p2): > patching file doc/man.pages > patching file support/bashbug.sh > > I also built a bunch of updated packages from sources last weekend > with no issues, and got nearly identical results on our CI system, > from which the updated packages were deployed to the mirrors. > > Perhaps check no other instances of required utilities are prior to > Cygwin's on your PATH: PATH in cygwin console has /usr/local/bin and /usr/bin as first elements, so that was not the issue. Issue is that cygport does a bunch of unrelated things before invoking patch in a way that requires write access to /tmp which failsdue to cygwin defaulting to a root-owned /tmp . Then cygport further adds to the confusion by claiming that it is an issue withpatching, not /tmp/ access. > (snip long example of using which to check PATH of lots of tools) And mounts were subtly wrong (/tmp implicitly included in the root mount to a root-owned software dir) Enjoy Jakob -- Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10 This public discussion message is non-binding and may contain errors. WiseMo - Remote Service Management for PCs, Phones and Embedded -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |