Four different patchsets. They should all apply independently with only minor fuzz. I know you're too busy at the moment, Yaakov (congrats!), to review these patches -- I just wanted to update them to latest cygport CVS so they don't bitrot.

Short summary:
(1) Updated mixed download protocol patch
(2) split out the portion of the relocatable patch that deals
    with packages having postinstall/preremove scripts that "go with"
    packages other than the main.
(3) relocation part of relocatable patch (new: dorelsym script)
(4) autoconf-2.61 support

--
Chuck


=====================================================================

(1) Updated mixed download protocol patch (original here:
    http://cygwin.com/ml/cygwin/2006-11/msg00137.html )
    against CVS latest.

2006-11-28 Charles Wilson <...>
        
        * bin/cygport.in (src_fetch_auto): new function. Autodetects
        protocol of passed-in URI (mirror|http|ftp) and errors if
        no recognized protocol detected
        (src_fetch_auto_warn): new function. Autodetects protocol
        of passed-in URI (mirror|http|ftp) and issues a warning if
        no recognized protocol detected
        (src_fetch): call src_fetch_auto_warn for 2nd..Nth SRC_URI
        regardless of download method (cvs|svn|git|mirror|http|ftp)
        of first SRC_URI.  If !(cvs|svn|git), call src_fetch_auto
        for first SRC_URI -- which will error if first SRC_URI's
        protocol is unrecognized.
        (src_prep_init_hook): new function. no-op.
        (src_prep_fini_hook): new function. no-op.
        (src_prep): call src_prep_init_hook and src_prep_fini_hook.


        * lib/cvs.cygclass: extract first name from SRC_URI and use that
        to generate tarball name. Ensure that working directory is
        unchanged by a call to cvs_fetch.
        * lib/svn.cygclass: extract first name from SRC_URI and use that
        to generate tarball name. Ensure that working directory is
        unchanged by a call to svn_fetch.
        * lib/git.cygclass: extract first name from SRC_URI and use that
        to generate tarball name. Ensure that working directory is
        unchanged by a call to git_fetch.

=====================================================================

(2) split out the portion of the relocatable patch (original here:
    http://cygwin.com/ml/cygwin/2006-10/msg00743.html ) that deals
    with packages having postinstall/preremove scripts that "go with"
    packages other than the main.  (e.g. gettext has no postinstall,
    but gettext-devel does)

2006-11-28 Charles Wilson <...>

        * bin/prep_gnu_info.sh: allow cygport client to suppress
        automatic install-info (useful if: subpackages each have own
        explicit postinstall scripts, and each subpackage "owns"
        certain info files.  To activate *suppression*, set
        SUPPRESS_AUTOMATIC_INSTALLINFO to non-empty.  Default behavior
        is unchanged from current.
        * bin/cygport.in (__prepetc): allow ${C}/${PN}.postinstall
        and ${C}/${PN}.sh as synonyms for ${C}/postinstall.sh (however,
        presence of more than one of these causes error message).
        Allow ${C}/${PN}.preremove as synonym for ${C}/preremove.sh
        (but presence of both causes error message).  Allow for
        ${C}/${pkg_name[${n}]}.postinstall and/or
        ${C}/${pkg_name[${n}]}.preremove [n > 1].

=====================================================================

(3) relocation part of relocatable patch (original...see link above)

NEW FILE: bin/prep_relocated_libtool_la.sh
   make sure that .la files don't have references to their
   temporary --prefix.

NEW FILE: lib/relocatable.cygclass
   mainly just "turns on" the relocation support (and "turns off"
   /usr/lib/cygports/bin/<SCRIPTS> that don't have appropriate support.

NEW FILE: bin/dorelsym
   automagically computes relative path between two absolute paths
   and creates a relative symlink.  That is:
       dorelsym ${D}/usr/share/terminfo ${D}/usr/lib/terminfo
   will do
       (cd ${D}/usr/lib && ln -fs ../share/terminfo terminfo)
   This is important when variables appear in the target and symlink
   names, and you don't know the true relative path a priori.

2006-11-28 Charles Wilson <...>

        * bin/Makefile.am: add new files prep_relocated_libtool_la.sh
        and dorelsym
        * bin/prep_relocated_libtool_la.sh: new file
        * lib/Makefile.am: add new file relocatable.cygclass
        * lib/relocatable.cygclass: new file
        * bin/cygport.in (_ENABLE_RELOCATION): new global variable
        (_RELOCDIR): new global variable
        (__init_relocation): new function
        (__check_relocation): new function
        (__maybe_relocate): new function (main hook for relocatation
        support, called by other cygport functions)
        (cygconf): Add support for ${_RELOCDIR} and --enable-relocatable
        (docinto): Add support for ${_RELOCDIR}
        (exeinto): Add support for ${_RELOCDIR}
        (insinto): Add support for ${_RELOCDIR}
        (__prepare_relocation_ins): new function sets up top level of
        ${D} to point to ${D}${_RELOCDIR}
        (cyginstall): Add support for ${_RELOCDIR}.  Optionally call
        __prepare_relocation_ins.
        (__prepstrip): Add support for ${_RELOCDIR}. Also if relocation
        is enabled, call prep_relocated_libtool_la.sh
        (pkg_binpkg): add support for ${_RELOCDIR}
        (pkg_pkgcheck): add support for ${_RELOCDIR}
        (finish): don't forget to clean up /tmp/temporary-prefix
        directory (even though we never actually install anything there;
        instead we install into ${D}/tmp/temporary-prefix)

=====================================================================

(4) support for autoconf-2.61

2006-11-28 Charles Wilson <...>

        * bin/cygport.in (cygautoreconf): add extensible support for
        autoconf-2.61, patterned after gentoo autoconf wrapper.
        (cygconf): also supply --datarootdir if ac-2.61.

=====================================================================

Contents of attached tarball:
[1]  cygport-mixedmode.patch
[2]  cygport-multiple-postinstall.patch
[3]  cygport-relocatable.patch
[3]* prep_relocated_libtool_la.sh
[3]* relocatable.cygclass
[3]* dorelsym
[4] cygport-ac2.61.patch

* must be copied into appropriate directory, and 'cvs add'ed.

Attachment: cygport-patchset.tar.gz
Description: GNU Zip compressed data

--
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/

Reply via email to