[FFe] Please sync ecere-sdk 0.44.01-1 from Debian Experimental

Bug #394998 reported by Ryan Prior
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ecere
Fix Released
Critical
auto-jerstlouis
ecere-sdk (Ubuntu)
Fix Released
Wishlist
Jerome St-Louis

Bug Description

The Ecere software technologies form a cross-platform development toolkit, to build applications running at maximum native performance satisfying the most demanding markets.

The solution allows the developers to write software in an intuitive and efficient way. It is well integrated, and a complete software development solution.

URL: http://ecere.com
License: modified BSD

Ryan Prior (ryanprior)
Changed in ubuntu:
assignee: nobody → Ryan Prior (ryanprior)
status: New → In Progress
Changed in ecere:
status: New → In Progress
tags: added: needs-packaging
Revision history for this message
Brian Murray (brian-murray) wrote :

*** This is an automated message ***

This bug is tagged needs-packaging which identifies it as a request for a new package in Ubuntu. As a part of the managing needs-packaging bug reports specification, https://wiki.ubuntu.com/QATeam/Specs/NeedsPackagingBugs, all needs-packaging bug reports have Wishlist importance. Subsequently, I'm setting this bug's status to Wishlist.

Changed in ubuntu:
importance: Undecided → Wishlist
Changed in ecere:
milestone: none → 0.44pre1.5
Changed in ubuntu:
assignee: Ryan Prior (ryanprior) → Jerome St-Louis (jerstlouis)
Changed in ecere:
milestone: 0.44pre1.5 → 0.44pre1.4
Changed in ecere:
milestone: 0.44 → 0.44.1
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

* it should be a non-native package (format 3.0 (quilt))
* should use a released upstream version for easier support and maintainance, not a daily code snapshot
* it fails to build from source in current development release (quantal)
* the packages are marked for i386 architecture only, this is a mistake. They should either target any (C / C++ compiled programs) or all (architecture independant files e.g. documentation / shell scripts / python etc.)
* source package alone has many lintian warnings:
W: ecere source: native-package-with-dash-version
W: ecere source: debhelper-but-no-misc-depends ecere-doc
W: ecere source: debhelper-but-no-misc-depends libecere
W: ecere source: debhelper-but-no-misc-depends ecere-sdk
W: ecere source: debhelper-but-no-misc-depends ecere-samples
W: ecere source: debhelper-but-no-misc-depends ecere-extras
W: ecere source: ancient-standards-version 3.8.0 (current is 3.9.3)

* source package includes many, many source copies of libraries, these should be stripped and software *must* linked against system wide libpng, zlib and etc.

* debian/copyright looks incomplete. It should list the copyright and license of every single source file. Please see:
http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/

I couldn't review binaries.

This is just the beginning, but the PPA package is not ready for inclusion in Ubuntu or Debian. At least I will not sponsor this.

Regards,

Dmitrijs.

Revision history for this message
Jerome St-Louis (jerstlouis) wrote :
Download full text (4.1 KiB)

Many thanks Dmitrijs for reviewing the package and getting the ball rolling!

I believe I have addressed most if not all of the faults.

I attach to the upstream version, 0.44.01 to this message.

This should build on Quantal in 32 bit, verified on an i386.
We do not have support for 64 bit yet ( It's currently planned for https://launchpad.net/ecere/+milestone/0.44.8 )
I have however enabled the other 32 bit architectures. I have also fixed the architecture independent files to say 'all'

Lintian no longer provides warning on the source package.

The libraries source included are mostly under deps/ , and are provided to facilitate building the source package on Windows.
They are not linked against under Linux, with the exception of ungif.
An amalgamated SQLite is again provided for Windows users convenience.
We also have slightly modified version of harfbuzz within ecere/src/graphics/drivers which we require and is not available elsewhere. The entire source package fits in 11mb compressed, ~50 uncompressed, and the 3rd party source represents a reasonable percentage of the source archive size.

I have gone over the included source files and updated the debian/copyright accordingly

Lintian runs error free on the binary package, but with a few warnings:

W: ecere-sdk: package-name-doesnt-match-sonames libEDA0 libEDASQLite0 libec0 libecereCOM0
W: ecere-sdk: description-starts-with-leading-spaces
W: ecere-sdk: binary-without-manpage usr/bin/documentor
W: ecere-sdk: binary-without-manpage usr/bin/ear
W: ecere-sdk: binary-without-manpage usr/bin/ecc
W: ecere-sdk: binary-without-manpage usr/bin/ecp
W: ecere-sdk: binary-without-manpage usr/bin/ecs
W: ecere-sdk: binary-without-manpage usr/bin/epj2make
W: ecere-sdk: binary-without-manpage usr/bin/ide
W: ecere-sdk: non-dev-pkg-with-shlib-symlink usr/lib/libEDASQLite.so.0.44 usr/lib/libEDASQLite.so
W: ecere-sdk: non-dev-pkg-with-shlib-symlink usr/lib/libEDA.so.0.44 usr/lib/libEDA.so
W: ecere-sdk: non-dev-pkg-with-shlib-symlink usr/lib/libec.so.0.44 usr/lib/libec.so
W: ecere-sdk: non-dev-pkg-with-shlib-symlink usr/lib/libecereCOM.so.0.44 usr/lib/libecereCOM.so
W: ecere-extras: description-starts-with-leading-spaces
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/ecere.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/ffi.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/freetype.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/gpl.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/harfbuzz.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/jpg.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/openSSL.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/png.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/sqlcipher.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/sqlite.LICENSE
W: ecere-extras: extra-license-file usr/share/ecere/extras/res/licenses/tango.COPYING
W: ecere-extras: extra-license-file usr/share/ecere/extr...

Read more...

Revision history for this message
Jerome St-Louis (jerstlouis) wrote :
Revision history for this message
Jerome St-Louis (jerstlouis) wrote :
Changed in ecere:
milestone: 0.44.1 → none
Revision history for this message
Jerome St-Louis (jerstlouis) wrote :
Revision history for this message
Daniel Holbach (dholbach) wrote :

Here are a few things I noticed when reviewing this.

 - You could apply http://paste.ubuntu.com/1146539/ to make lintian's DEP5 check happy.
 - You could run 'update-maintainer' (ubuntu-dev-tools package) to adhere to https://wiki.ubuntu.com/DebianMaintainerField
 - You could add a debian/watch file to make maintenance of the package easier: http://wiki.debian.org/debian/watch/

More importantly does it fail to build for me on i386 quantal:
   debian/rules override_dh_install
make[1]: Entering directory `/tmp/buildd/ecere-sdk-0.44.01'
cp debian/libecere.install.in32 debian/libecere.install
cp debian/ecere-sdk.install.in32 debian/ecere-sdk.install
dh_install
dh_install: ecere-sdk missing files (usr/lib/libEDA.so*), aborting
make[1]: *** [override_dh_install] Error 2
make[1]: Leaving directory `/tmp/buildd/ecere-sdk-0.44.01'
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

Revision history for this message
Jerome St-Louis (jerstlouis) wrote :

Thank you Daniel!

I will apply the patch for the Copyright, I was not getting this here...
I will run the update-maintainer as well.
For the watch, I do not yet have a standard file location / tags so I will wait until next major update, if that's okay.

The i386 build on Quantal built fine before on the Launchpad PPA.
I'm going to set up a virtual machine and try it there.
Would you have the full failed build log? It looks as though it couldn't find ffi.h from libffi, which is in an architecture dependent include path.

Thanks!

Jerome

Revision history for this message
Jerome St-Louis (jerstlouis) wrote :

So we've identified that the build problem was caused by attempting to build in a 32 bit chroot on an amd64 host.

Because the tarball is made to build with just 'make' on amd64, there is a confusion between usr/lib32 and usr/lib that happens during the dh_install ( disagreement between dpkg-architecture -qDEB_HOST_ARCH and uname -m ).

That explains why it builds fine in a VM or actual i386.
To build the 32 bit executables on a 64 bit machine, one is meant to build/install with simply make / make install.

Regards,

Jerome

Revision history for this message
Jerome St-Louis (jerstlouis) wrote :

I've done quite a bit of cleaning in the Debian packaging, and uploaded it to mentors.debian.net:

http://mentors.debian.net/package/ecere-sdk

Lintian only has 3 complains left for which I believe overrides are justified ( see explanations ).

If you are interested in sponsoring and would like me to rebuild a Ubuntu flavor of it, please let me know!

It would be very nice if Quantal Quetzal spoke eC ;)

Thanks,

Jerome

Revision history for this message
Jerome St-Louis (jerstlouis) wrote :

Here are the new files with the Ubuntu packaging.

Revision history for this message
Jerome St-Louis (jerstlouis) wrote :
Revision history for this message
Jerome St-Louis (jerstlouis) wrote :
Revision history for this message
Jerome St-Louis (jerstlouis) wrote :
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

This package has been uploaded into Debian Experimental New queue.
If it accepted in the Debian archive, it will need a sync into Ubuntu Quantal.
I am unsubscribing ubuntu-sponsors for now.

When this package gets accepted into debian, please do following:
* retitle bug to "Please sync ecere-sdk (version-number) from Debian Experimental"
* subscribe ubuntu-sponsors once again.

Thank you for you contribution to Debian/Ubuntu.

summary: - [needs-packaging] ecere-sdk -- cross-platform developer toolkit
+ Please sync ecere-sdk 0.44.01-1 from Debian Experimental
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Synced, now in the New Queue, Unsubscribing sponsors.

Release team, the package was originally targeting Quantal, but got correctly re-directed to Debian.

summary: - Please sync ecere-sdk 0.44.01-1 from Debian Experimental
+ [FFe] Please sync ecere-sdk 0.44.01-1 from Debian Experimental
Changed in ubuntu:
status: In Progress → New
Revision history for this message
Jerome St-Louis (jerstlouis) wrote :

Release team, I was really hoping the Ecere SDK would make it into Quantal, but we went through the Debian path...

It was mentionned to me before on #ubuntu-motu that going through Debian would be a valid reason for a Feature Freeze Exception, so I'm wishing it can happen!

The Ecere SDK is an awesome compact package letting you write modern fast native object oriented code, with its own cross-platform light GUI toolkit, and as a new package it should not break anything :)

Many thanks!

-Jerome

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ecere-sdk (Ubuntu):
status: New → Confirmed
affects: ubuntu → ecere-sdk (Ubuntu)
Changed in ecere-sdk (Ubuntu):
status: New → Fix Released
Changed in ecere:
importance: Undecided → Critical
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

  • auto-jerstlouis Edit

Bug watches keep track of this bug in other bug trackers.