public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* [ANNOUNCEMENT] Updated: cygport-0.11.0-1
@ 2012-08-27 12:47 Yaakov (Cygwin/X)
  2012-08-29  4:33 ` Dr. Volker Zell
  0 siblings, 1 reply; 3+ messages in thread
From: Yaakov (Cygwin/X) @ 2012-08-27 12:47 UTC (permalink / raw)
  To: cygwin

I have just released cygport-0.11.0 for the Cygwin distribution and the 
Fedora Cygwin repository.  New features in this release:

* Vastly improved dependency detection (works only on Cygwin):
- commands called by unindented fully-qualified path in 
postinstall/preremove scripts
- script interpreters called via shebang
- DLLs corresponding to import libraries
- Link libraries listed in .la libtool libraries
- Link libraries listed in pkg-config Libs: and Libs.private: fields
- Other pkg-config modules listed in pkg-config Requires: and 
Requires.private: fields
- GObject Introspection module and DLL dependencies
- Java jar dependencies (via java-jdepend)
- OCaml dependencies on other OCaml libraries (via ocaml-findlib) and 
native-code link libraries required by .cmxa files
- Perl, PHP, PyPy, Python, Ruby, and Tcl module dependencies
- Third-party Vala API module dependencies

* Automatic setup.hint generation.  This allows a .cygport file to be a 
completely self-contained, single-file packaging solution.  The 
[PKG_]CATEGORY (for category:), [PKG_]SUMMARY (for sdesc:), and 
[PKG_]DESCRIPTION (for ldesc:) variables (as documented in the manual) 
must be defined in order to activate this feature.  The requires: line 
is written automatically (but may be added to via [PKG_]REQUIRES) and 
displayed at the end of the packaging stage for verification; 
inter-subpackage dependencies are also detected.  Handwritten setup.hint 
files still work as before, and override automatic generation.

* New cygclasses: pypy, pypy-distutils, rubygem, sugar.

* .gem files are unpacked with gem(1) (integrated in ruby-1.9.x) and the 
.gemspec file is recreated in order to be patchable.  Sugar Activity 
bundles (.xo) are now supported.

Changes in this release (100):
       spec: update changelog
       Post-branch version bump
       list_deps: avoid variable proliferation
       list_deps: generalize function for future use
       list_deps: add dependencies from implibs
       list_deps: add pkg-config dependencies
       list_deps: add perl module dependencies
       list_deps: add ruby module dependencies
       list_deps: add python module dependencies
       list_deps: add python3 module dependencies
       prepstrip: rename debug source list
       pkg_pkg: record package contents during creation
       pkg_pkgcheck: ignore debuginfo files in PKG_IGNORE
       pkg_list: list subpackage interdependencies
       list_deps: add libtool library dependencies
       pkg_dist: add support for setup.hint autogeneration
       bootstrap: switch to autogenerated setup.hint
       pkg_dist: allow setup.hint autogeneration on non-native platforms
       prepstrip: remove executable perms from split debuginfo files
       prepstrip: do not strip Perl Archive (PAR) binaries
       list_deps: add postinst/prerm command dependencies
       postinst: remove conditionals from some postinstall scripts
       postinst: drop support for gdk-pixbuf < 2.22
       debuginfo: add cygwin-debuginfo to requires
       list_deps: add PHP module dependencies
       pkg_binpkg: remove .lst files from previous run
       pkg_dist: generate toplevel setup.hint when not in PKG_NAMES
       prepstrip: do not rename .sfx executables
       list_deps: add Java jar dependencies
       pkg_srcpkg: do not package empty .cygwin.patch
       list_deps: add GIR module dependencies
       list_deps: fix pkg-config interpackage dependencies
       list_deps: optimize find(1) calls for perl/php/python/ruby
       list_deps: do not require cygclasses for perl/python/ruby deps
       list_deps: fix interpackage dependencies for python3 package
       list_deps: support python multi-module imports
       list_deps: add Lua module dependencies
       pypy: new cygclass for PyPy modules
       pypy-distutils: new cygclass for building PyPy modules with Distutils
       python: mention pypy in docs
       distutils: add support for pypy
       check_funcs: add check_pypy_module
       list_deps: add PyPy module dependencies
       sugar: new cygclass for Sugar Activity packages
       pkg_diff: ignore Sugar generated locale files
       unpack: add support for Sugar Activity Bundles (.xo)
       list_deps: add shebang interpreter dependencies
       list_deps: fix missing xargs -r flag
       list_deps: fix interpackage dependencies for pypy
       list_deps: add third-party Vala API dependencies
       prep_xsessions: remove "Desktop" from shortcut name
       doc: fix formatting of REQUIRES and PKG_REQUIRES
       R: provide CATEGORY and SUMMARY
       apache2: provide CATEGORY and SUMMARY
       berkdb: provide CATEGORY, SUMMARY, and DESCRIPTION
       claws-mail: provide CATEGORY and SUMMARY
       docbook: provide CATEGORY, SUMMARY, and DESCRIPTION
       ebook: provide CATEGORY and SUMMARY
       ggz: provide CATEGORY and SUMMARY
       gnustep: provide CATEGORY and SUMMARY
       gst-plugins: provide SUMMARY
       aspell-dict: provide CATEGORY, SUMMARY, and DESCRIPTION
       gtk2-perl: provide CATEGORY and SUMMARY
       gtkmm: provide CATEGORY and SUMMARY
       php: provide CATEGORY and SUMMARY
       pygtk: provide CATEGORY and SUMMARY
       rox: provide CATEGORY and SUMMARY
       ruby-gnome2: provide CATEGORY and SUMMARY
       ruby: provide CATEGORY and SUMMARY
       texlive: provide CATEGORY, SUMMARY, and DESCRIPTION
       xorg: provide CATEGORY and SUMMARY
       perl: provide CATEGORY and SUMMARY, tweak HOMEPAGE
       aspell-dict: document ASPELL_LANG_FULL
       list_deps: add Perl module inheritance dependencies
       qt4: new installation scheme for cross-qmake/moc/rcc/uic
       pkg_dist: avoid empty sdesc in autogenerated setup.hint
       autotools: fix COPYING/INSTALL protection in subdirs
       Remove unnecessary Cygwin README
       Restore compatibility with older coreutils
       bootstrap: remove duplicate bash dependency
       README: update Ports git URIs
       ruby: fix compatibility with Ruby 1.9.x
       debuginfo: handle illegal debug source filenames
       unpack: use gem to unpack .gem files
       rubygem: new cygclass for RubyGems packages
       list_deps: add RubyGems module dependencies
       list_deps: fix cross-compiled libtool library dependencies
       list_deps: empty subpackages have no dependencies
       list_deps: add pkg-config dependencies on ordinary libraries
       list_deps: add Tcl module dependencies
       rubygem: use unversioned gemspec for easier patching
       ruby-gnome2: deprecated in favour of rubygem.cygclass
       rubygem: do not install empty docs
       list_deps: fix Perl use base/parent with qw detection
       clang: fix cross-compiling with unprefixed clang
       pkg_diff: add ar-lib to automake-generated ignored files
       list_deps: allow dependencies on pypy/python/python3 in one package
       list_deps: add OCaml module and link dependencies
       Update gnuconfig
       cygport 0.11.0

-- 

Yaakov
Cygwin/X


CYGWIN-ANNOUNCE UNSUBSCRIBE INFO
================================

If you want to unsubscribe from the cygwin-announce mailing list, please
use the automated form at:

http://cygwin.com/lists.html#subscribe-unsubscribe

If this does not work, then look at the "List-Unsubscribe: " tag in the
email header of this message.  Send email to the address specified
there.  It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com@cygwin.com

If you need more information on unsubscribing, start reading here:

http://sourceware.org/lists.html#unsubscribe-simple

Please read *all* of the information on unsubscribing that is available
starting at this URL.


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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ANNOUNCEMENT] Updated: cygport-0.11.0-1
  2012-08-27 12:47 [ANNOUNCEMENT] Updated: cygport-0.11.0-1 Yaakov (Cygwin/X)
@ 2012-08-29  4:33 ` Dr. Volker Zell
  2012-08-29  6:16   ` Yaakov (Cygwin/X)
  0 siblings, 1 reply; 3+ messages in thread
From: Dr. Volker Zell @ 2012-08-29  4:33 UTC (permalink / raw)
  To: cygwin

>>>>> Yaakov  writes:

Hi Yaakow

    > I have just released cygport-0.11.0 for the Cygwin distribution and the Fedora
    > Cygwin repository.  New features in this release:

    > * Vastly improved dependency detection (works only on Cygwin):

When doing the packaging step with your latest cygport release on gnutls I get the following:
    
which: no KERNEL32.dll in (/misc/src/release/gnutls-2.12.20-1/inst/usr/bin:/usr/local/bin:/usr/bin:/usr/local/scripts:/usr/local/sbin:/usr/sbin:/usr/lib/lapack)
>>> gnutls requires: libgnutls26 libreadline7
which: no KERNEL32.dll in (/misc/src/release/gnutls-2.12.20-1/inst/usr/bin:/usr/local/bin:/usr/bin:/usr/local/scripts:/usr/local/sbin:/usr/sbin:/usr/lib/lapack)
>>> libgnutls26 requires: libgcc1 libgcrypt11 libintl8 liblzo2_2 libp11-kit0 libstdc++6 libtasn1_3 zlib0
>>> gnutls-devel requires: gettext libgcrypt-devel libgnutls26 libiconv liblzo2-devel libp11-kit-devel libtasn1-devel
>>> gnutls-doc requires:


When I call cygcheck directly on cyggnutls-26.dll I get the following:

10:31 PM [515]> cygcheck ./*.dll
G:\misc\src\release\gnutls-2.12.20-1\inst\usr\bin\cyggnutls-26.dll
  G:\bin\cygwin1.dll
    C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\ntdll.dll
  G:\bin\cyggcrypt-11.dll
    G:\bin\cyggcc_s-1.dll                               <-------------------- libgcc1
    G:\bin\cyggpg-error-0.dll
      G:\bin\cygintl-8.dll                              <-------------------- libintl8
        G:\bin\cygiconv-2.dll
    C:\WINDOWS\system32\ADVAPI32.DLL
      C:\WINDOWS\system32\RPCRT4.dll
        C:\WINDOWS\system32\Secur32.dll
    C:\WINDOWS\system32\USER32.dll
      C:\WINDOWS\system32\GDI32.dll
  G:\bin\cygp11-kit-0.dll
  G:\bin\cygtasn1-3.dll
  G:\bin\cygz.dll


So in the above requires line for libgnutls26, libggc1 and libintl8
shouldn't be included at all because libgcrypt11 already depends on
them. I'm I wrong here ? And what about the "which: no KERNEL32.dll"
stuff above ? Can it be suppressed without adding C:\WINDOWS\system32\
to the PATH ?

Ciao
  Volker
  

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ANNOUNCEMENT] Updated: cygport-0.11.0-1
  2012-08-29  4:33 ` Dr. Volker Zell
@ 2012-08-29  6:16   ` Yaakov (Cygwin/X)
  0 siblings, 0 replies; 3+ messages in thread
From: Yaakov (Cygwin/X) @ 2012-08-29  6:16 UTC (permalink / raw)
  To: cygwin

On Tue, 2012-08-28 at 22:58 +0200, Dr. Volker Zell wrote:
> When doing the packaging step with your latest cygport release on gnutls I get the following:
>     
> which: no KERNEL32.dll in (/misc/src/release/gnutls-2.12.20-1/inst/usr/bin:/usr/local/bin:/usr/bin:/usr/local/scripts:/usr/local/sbin:/usr/sbin:/usr/lib/lapack)
> >>> gnutls requires: libgnutls26 libreadline7
> which: no KERNEL32.dll in (/misc/src/release/gnutls-2.12.20-1/inst/usr/bin:/usr/local/bin:/usr/bin:/usr/local/scripts:/usr/local/sbin:/usr/sbin:/usr/lib/lapack)
> >>> libgnutls26 requires: libgcc1 libgcrypt11 libintl8 liblzo2_2 libp11-kit0 libstdc++6 libtasn1_3 zlib0
> >>> gnutls-devel requires: gettext libgcrypt-devel libgnutls26 libiconv liblzo2-devel libp11-kit-devel libtasn1-devel
> >>> gnutls-doc requires:
> 
> 
> When I call cygcheck directly on cyggnutls-26.dll I get the following:
[snip]
> So in the above requires line for libgnutls26, libggc1 and libintl8
> shouldn't be included at all because libgcrypt11 already depends on
> them. I'm I wrong here ?

cygport uses objdump to find binary dependencies, which unlike cygcheck,
lists direct dependencies only and doesn't worry about subdependencies:

$ objdump -p /usr/bin/cyggnutls-26.dll | grep "DLL Name"
	DLL Name: cygwin1.dll
	DLL Name: cyggcrypt-11.dll
	DLL Name: cygintl-8.dll
	DLL Name: cygtasn1-3.dll
	DLL Name: cygz.dll
	DLL Name: KERNEL32.dll

So libgnutls26 has a hard direct dependency on libintl8.  To understand
why this is done, let's say that a future release of gettext changes the
ABI version again, and then soon thereafter libgcrypt was rebuilt
against that new libintlX.  libgnutls26 would *still* require libintl8,
and can't rely on libgcrypt11 to provide that dep.

OTOH, note that libiconv2 is *not* listed as a dep, even though libintl8
depends on it.  That's because if in the future libiconv would get an
ABI version bump and the same gettext were rebuilt against that, even
though libintl8 would now depend on libiconvX, libgnutls would NOT need
to be rebuilt, and libiconv2 would no longer be necessary.

So for these purposes, objdump is a more precise means of dependency
detection than cygcheck.

> And what about the "which: no KERNEL32.dll" stuff above ? Can it be
> suppressed without adding C:\WINDOWS\system32\ to the PATH ?

Fixed in git master, commit a268dc3.


Yaakov



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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-08-29  0:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-27 12:47 [ANNOUNCEMENT] Updated: cygport-0.11.0-1 Yaakov (Cygwin/X)
2012-08-29  4:33 ` Dr. Volker Zell
2012-08-29  6:16   ` Yaakov (Cygwin/X)

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).