gettext 0.16.1
Charles Wilson
cygwin@cwilson.fastmail.fm
Fri Feb 15 08:56:00 GMT 2008
Larry Hall (Cygwin) wrote:
> Looks like for now you need to build your own 0.16.1 if you need it
> and can't wait for the maintainer to update it.
The maintainer of gettext would be a lot more willing to update gettext
if he wasn't still -- after 1 year, 3 months, and 23 days -- futilely
trying to get just the *preliminary* set of required patches accepted
into the cygport packaging tool. [*]
Then, the gettext maintainer could see about updating the now sadly
bit-rotted cygport patch for "relocatable" packages -- like gettext and
libiconv.
THEN, maybe the gettext maintainer would look into updating gettext.
But right now, the gettext maintainer is pretty d*** pissed off that he
ever adopted the cygport tool in the first place. The gettext
maintainer, in fits of momentary insanity, sometimes considers
/officially/ forking cygport -- as opposed to the unofficial fork
sitting on his hard drive for the last year+. Because that'd be a lot
easier -- and a lot less demeaning -- than begging for crumbs for months
and months and months. But then he realizes he's doing a poor-to-awful
job of maintaining the packages he has NOW, and has no business taking
on any more.
But then, the gettext maintainer is used to open-source development
where project leads actually like receiving honest-to-god patches
instead of the normal litany of PIBKAC bug reports and gimmee-gimmee
feature demands. The cygport development "process" is...different than
that.
Here endeth the rant -- which I realize is not likely to win friends or
influence people -- especially the cygport maintainer. But sometimes
you just gotta vent. I'm a fairly patient guy, but even I have my
limit; after more than a year, I'm getting close to mine.
--
Chuck
[*] To be sure, a few of my patches -- or usually, just *parts* of a few
of them -- have been incorporated. But it's very very very very very
very very very slow going. Plus, patches are never accepted as they
are; they are invariably re-coded completely according to some hidden
higher design -- which means I have to re-code the ignored bits
following these "hints" after every new release: the contents of these
directories are all substantially different:
old-patch-cygport-0.2.5/
old-patch-cygport-0.2.6/
patch-cygport-0.2.7/
patch-cygport-0.2.9/
patch-cygport-0.3.1/
patch-cygport-0.3.1-2/
patch-cygport-0.3.1-3/
patch-cygport-0.3.6-1/
patch-cygport-0.3.8-1/
relocatable/
So the burden of maintaining out-of-tree patches is even higher than
normal. If I hadn't spend so much effort converting all my packages
from g-b-s to cygport -- and developing my patches as a necessary
adjunct of that effort -- back in the fall of '06...
Most recent patchset (as of CVS cygport 0.3.8, Jan 4 2008), not
including the (bit-rotted) relocatable stuff:
cygport-mixedmode-and-cvs-topdir.patch:
bin/cygport.in (__src_fetch): add comment
lib/cvs.cygclass (cvs_fetch): allow cygports to specify
a "-d ${CVS_DIR}" argument by defining the CVS_DIR variable.
Otherwise, the module directory name is used, as previously.
This is useful if the desired source code is not a top-level
module in the cvs repository (e.g. libgeotiff).
cygport-multiple-postinstall.patch
bin/cygport.in (__prepetc): rework so that each (sub)package
in a cygport can have its own postinstall or preremove script.
${C}/${PN}.sh, ${C}/postinstall.sh, ${C}/${PN}.postinstall
are all associated with the "main" package ${pkg_name[0]},
but if more than one of these three exist, an error is
triggered. ${C}/preremove.sh and ${C}/${PN}.preremove
are both associated with the "main" package ${pkg_name[0]},
but if both exist an error is triggered. Otherwise, each
of ${C}/${pkg_name[1..N]}.postinstall and
${C}/${pkg_name[1..N]}.preremove are associated with the
specified package ${pkg_name[1..N]}, if the file(s) exist.
cygport-hooks.patch: adds support for
src_unpack_post_hook
src_prepinstalldirs_hook
src_postinst_hook
bin/cygport.in (__src_prep): after all other preparation,
call unstable function src_unpack_post_hook if it is
defined. This can be useful in the following cases:
(1) to change the permissions on files created by unpacking
tarfiles or applying patches earlier in __src_prep
(specifically, adding +x execute permissions)
(2) Other re-organizations of files extracted from tarballs
or generated by applying patches. See the gdbm and tiff
cygports for examples.
(__src_prepinstalldirs_hook_exec): call unstable function
src_prepinstalldirs_hook if it is defined. No examples of
current use, but included for symmetry.
(__src_postinst_hook_exec): call unstable function
src_postinst_hook if it is defined. This can be useful if,
for instance, the default docdir usr/share/doc/${PN}-${PV}
is not appropriate, and should be "corrected" prior to
packaging. See the rxvt-unicode-X cygport for an example.
(main command parsing case statement) [postinst*]: call
__src_postinst_hook_exec after __src_postinst.
(main command parsing case statement) [inst*]: call
__src_prepinstalldirs_hook_exec before __prepinstalldirs,
and __src_postinst_hook_exec after __src_postinst.
(main command parsing case statement) [almostall, all]:
ditto, as part of __stage Installing.
cygport-custom-cmds.patch
custom-show display a list of all functions callable via customN-*
customN-* where * is the name of an function declared by cygport,
and N is a digit, 0..9, that indicates the number
of additional arguments to remove from the command line,
and pass to the target function as its arguments. That is,
custom0-__show_help
will call __show_help() with no arguments, while
custom1-error "an error message"
will call error() with "an error message" as its argument.
Try experimenting with:
customN-custom_dummy <arg1> <arg2> ... <argN>
Used in conjunction with the (separable) testsuites in the cvs
cygport.
cygport.in (custom_dummy): public N-ary function that prints
all N arguments to stdout. Used for demonstration purposes.
(__custom_dummy_core): private support function for
custom_dummy. N-ary function that simply prints all N
arguments to stdout.
(__show_help): add documentation for custom-show and customN-*
commands.
(main command parsing case statement) [custom-show]: add new
command. Shows all public functions available in the current
cygport that can be called using the customN-* command.
(main command parsing case statement) [customN-*]: add new
command(s).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-cygport-0.3.8-1.tar.bz2
Type: application/octet-stream
Size: 3843 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20080215/a3e55739/attachment.obj>
-------------- next part --------------
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list