public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Christian Franke <Christian.Franke@t-online.de>
To: cygwin-apps@cygwin.com
Subject: [PATCH cygport] dodoc: Skip a file if a compressed version already exists
Date: Fri, 1 Mar 2024 14:13:03 +0100	[thread overview]
Message-ID: <44df31e7-793e-83a1-2ba7-a77612b22653@t-online.de> (raw)

[-- Attachment #1: Type: text/plain, Size: 420 bytes --]

It IMO makes sense to compress large and rarely viewed doc files like 
change logs. This seems to be common practice on Debian etc.

With current cygport, the following results in ChangeLog and 
ChangeLog.gz in the docdir:

src_install()
{
   ...
   dodoc ChangeLog
   gzip -9 -n "${D}/usr/share/doc/${PN}/ChangeLog"
}

The attached patch fixes this and also adds some missing documentation.

-- 
Regards,
Christian


[-- Attachment #2: 0001-dodoc-Skip-a-file-if-a-compressed-version-already-ex.patch --]
[-- Type: text/plain, Size: 1561 bytes --]

From 1934651b93cda92207429ac91b964cff220c76d5 Mon Sep 17 00:00:00 2001
From: Christian Franke <christian.franke@t-online.de>
Date: Fri, 1 Mar 2024 13:56:45 +0100
Subject: [PATCH] dodoc: Skip a file if a compressed version already exists

This prevents that __prepdoc() also adds the uncompressed version
of a default doc file if src_install() installed the compressed
version.  Also add missing documentation about the handling of
FILE.md, FILE.rst and FILE.txt.
---
 lib/src_install.cygpart | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/src_install.cygpart b/lib/src_install.cygpart
index 481457dc..7aca673c 100644
--- a/lib/src_install.cygpart
+++ b/lib/src_install.cygpart
@@ -162,9 +162,12 @@ docinto() {
 #  DESCRIPTION
 #  Installs the given files or directories into $D/usr/share/doc/PN/, or a
 #  subdirectory thereof specified by the previous call to docinto.
+#  If a FILE does not exist, FILE.md, FILE.rst and FILE.txt are also
+#  considered.  A FILE is skipped if the destination file or a compressed
+#  version (.bz2, .gz, .xz, .zstd) of it already exists.
 #****
 dodoc() {
-	local docdir d f i x
+	local docdir d e f i x
 
 	case "${_docinto_dir}" in
 		'')	docdir=/usr/share/doc/${PN} ;;
@@ -191,6 +194,10 @@ dodoc() {
 			do
 				if [ -s "${i}${x}" -a ! -f "${D}${docdir}/${i}${x}" ]
 				then
+					for e in bz2 gz xz zst
+					do
+						! [ -f "${D}${docdir}/${i}${x}.${e}" ] || continue 2
+					done
 					__doinstall 0644 "${i}${x}" ${docdir} || error "dodoc ${i} failed"
 					break
 				fi
-- 
2.43.0


             reply	other threads:[~2024-03-01 13:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-01 13:13 Christian Franke [this message]
2024-03-10 15:29 ` Jon Turney
2024-03-10 15:44   ` Christian Franke
2024-04-29 19:31     ` Jon Turney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44df31e7-793e-83a1-2ba7-a77612b22653@t-online.de \
    --to=christian.franke@t-online.de \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).