This is the mail archive of the cygwin-apps@cygwin.com 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]

upset2 improvement for automatic /usr/info/dir generation


As hinted in the cygwin mailing list, I've added some functionality to
upset2 which I intend on using to automatically generate the
/usr/info/dir file.

I've added an 'autodep' field which introduces a regex.  The regex is
supposed to match a filename.  If the filename occurs in any package,
then the package which introduced the regex is automatically added to
the requires list for that package.

So, for instance, I've added a new update-info-dir package.  It only
contains a postinstall file which iterates over /usr/info/*.info.

The setup.hint file looks like this:

  sdesc: "Generate info/dir file automatically"
  category: PostInstall
  requires: texinfo ash
  autodep: usr/info/.*\.info
  incver_ifdep: yes

As you can see, there is another field in this file: 'incver_ifdep'.
This is used to autoincrement the version number if the file is found in
a dependency list, essentially renaming update-info-dir-00000-1.tar.bz2
to update-info-dir-00001-1.tar.bz2.  This will force setup.exe to
download the file and run the postinstall.sh script.

I'm not wild about the incver_ifdep but it seems like the only way to
accomplish what I want without making changes to setup.exe.  Possibly, I
could leave the filename alone and just increment the version number.  I
suspect that would confuse setup.exe, though.

Anyway, I'll be implementing this in the next couple of days.  This is
just a heads up.  This means that special "generate info file" logic
can safely be removed from setup, I think.

Btw, I tried to write a "update only changed info files" program to
avoid the overhead of running install-info on every single file but it
proved to be infeasible to do this due to irregularities in info file
packaging.

cgf


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