This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cygport patch: suppress some automatic diff excludes


As discussed in this subthread:
http://cygwin.com/ml/cygwin-apps/2010-07/msg00042.html

I think cygport needs a mechanism where you can override the default_excludes used when cygport creates the .src.patch. Right now, you can ADD files to the exclusion list using DIFF_EXCLUDES, but you can't remove any patterns that are already in that list.


So, I tried to create a generic facility where you could, for instance, do:


DIFF_NO_EXCLUDES="configure Makefile.in *.m4"

and then cygport would ensure that, even if it ordinarily would exclude a file from the diff, if that file name (or pattern) appears in $DIFF_NO_EXCLUDES then it would avoid doing so. But that got to be really hard -- and prone to error, it seemed to me -- what with all the word expansion and shell metacharacter worries that could show up in $DIFF_NO_EXCLUDES. (Plus, it would have slowed down ALL cygports in a pretty big way during __pkg_diff, for the benefit of only a few.)

So, instead, I whipped up a different patch to cygport which only tells cygport to avoid automatically adding the autoconf, automake, and aclocal-generated files to the diff excludes list. I think this is the most common instance where something like this is needed -- at least, in my experience with my packages:
(a) I run autoreconf manually, or use a specialized bootstrap
procedure, and
(b) I want to ship some or all of the results of that procedure,
so that during the build process the bootstrapping is not
(re)done.
In the past, what I've done is simply to have an empty (or missing) .src.patch, override src_compile() to not call cygautoreconf or any other bootstrap, and instead, provide a custom


   PATCH_URI="normal-.src.patch-like.path \
              results-of-bootstrap.patch"

But that quickly becomes rather awkward to maintain those two patches. I believe the attached patch would make this particular corner case a little less burdensome (and, in particular, would be useful to JonY currently packaging mingw64-gcc).

To use it, add this to your cygport:

RESTRICT+=" autoreconf-diff-excludes"

--
Chuck

Attachment: skip-autoreconf-diff-excludes.patch
Description: Text document

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]