FFe: Sync fpc and lazarus (universe) from Debian (unstable)

Bug #525523 reported by Matthias Klumpp
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
fpc (Ubuntu)
Fix Released
Undecided
Unassigned
lazarus (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Cause Ubuntu Lucid will become LTS, it would be great if you could grant an FFe for FPC and Lazarus. The new version of the Free Pascal Compiler will improve the speed of many applications which depend on it and it also fixes some nasty bugs we had in the old version.
I checked rdepends, everything seems to compile fine with the new version. The new version entered Debian testing only a few days after import freeze, and the versions in universe fix some more old bugs.

Changes in FPC since Debian import freeze:

fpc (2.4.0-2) unstable; urgency=low

   [ Abou Al Montacir ]
   * Fixed build dependencies on fp-compiler (>= 2.2.4-5). (Closes:Bug#570591)
   * Added dependency on ${misc:Depends} as required for packages using
     debhelper.
   * Removed pre-dependency on dpkg (>= 1.10.24).
   * Fixed spell errors removing lintian warning.
   * Fixed dependencies of fp-units-math package. (Closes:Bug#567574)
   * Bumped standard version to 3.8.4.
   * Updated lintian override files.
   [ Stefan Kisdaroczi ]
   * Fixed Pred and Succ functions. (Closes: Bug#569023)

 -- Abou Al Montacir <email address hidden> Mon, 03 Feb 2010 22:48:00 +0100

fpc (2.4.0-1) unstable; urgency=low

   * New upstream release with many fixes and new features offering a nice
   collection of new functionality and bug fixes.
   * New platforms:
     - Mac OS X/PowerPC64
     - Mac OS X/x86_64
     - Mac OS X/ARM (iPhone)
   * Compiler changes:
     - Support for Delphi-style resource handling
     - Whole-program optimization infrastructure, which initially supports
   program devirtualization and unused virtual method removal
     - Much faster compilation of units containing many type-sections
     - The ability to suppress individual hints/warnings/notes
     - Several improvements to the DWARF debug information generation
     - Fixes to the generics support
     - Fixes to the interface delegation (implements) support
     - Improved cpu register allocation
     - Improved ARM/EABI support
   * RTL changes:
     - Linearly scaling multi-threaded memory manager
     - Support for (advisory) file locking on Unix-based platforms
     - when using the SysUtils file creation/opening routines
     - Support for ANSI ISO Extended Pascal ReadStr/WriteStr
     - A UnicodeString type that, while not yet equivalent to Delphi 2009's
     UnicodeString type, offers reference counted UnicodeString support on
     the Windows, Linux, Mac OS X, FreeBSD and Beos/Haiku platforms.
   * Packages changes:
     - Many improvements to the XML units
     - Many improvements to the database units
     - Updated the common Mac OS X Pascal interfaces to r241, including
     header a translation of the CFNetwork framework
     - The zipper unit now works correctly on big endian platforms
   * Added a patch fixing building documentation on Debian systems.
   * Included quilt.make in rules file. (Closes: Bug#538552)
   * Packaged news utility program (fpclasschart) poducing a class tree from
     source files.
   * Removed duplicate section field.
   * Fixed fp-units-i386 package short description.
   * Removed unneeded override rule.
   * Added doc-base file for fp-compiler package.
   * Fixed lintian warnings related to spell errors.
   * Fixed upgrade breakage from 2.2.4-3 caused by moving files from fp-units-gfx
     to fp-units-multimedia. (Closes: Bug#565167)

 -- Abou Al Montacir <email address hidden> Sun, 13 Dec 2009 22:25:00 +0100

Changes in Lazarus since Debian import freeze:
 lazarus (0.9.28.2-8) unstable; urgency=low

   * Added dependency on ${misc:Depends} as required for packages using
     debhelper.
   * Removed pre-dependency on dpkg (>= 1.10.24).

 -- Abou Al Montacir <email address hidden> Mon, 25 Jan 2010 23:48:00 +0100

Tags: lucid

Related branches

Matthias Klumpp (ximion)
affects: ubuntu → fpc (Ubuntu)
Matthias Klumpp (ximion)
summary: - Sync fpc and lazarus (universe) from Debian (unstable)
+ FFe: Sync fpc and lazarus (universe) from Debian (unstable)
Revision history for this message
Paul Gevers (paul-climbing) wrote :

Please consider bug 529469 when fixing this bug.

Revision history for this message
Steve Langasek (vorlon) wrote :

Is there an upstream changelog detailing any non-bugfix changes we should be aware of?

Why are fpc and lazarus part of the same freeze exception request - do they have interdependencies that require them to be synced together (or in a certain order)?

Changed in fpc (Ubuntu):
status: New → Incomplete
Changed in lazarus (Ubuntu):
status: New → Incomplete
Revision history for this message
Matthias Klumpp (ximion) wrote :

Yes, Lazarus depends on FPC. They should be synced together to fix several bugs. (While FPC is a new upstream version, Lazarus contains just debian changes, which are mentioned in the changelog of lazarus.)

Revision history for this message
Matthias Klumpp (ximion) wrote :

Here's the FPC upstream changelog:

******************************************************************************
                              What's New in 2.4.0
******************************************************************************

Free Pascal 2.4.0 contains many fixes and new features. While we did not
manage to incorporate all planned additions, we believe this release offers a
nice collection of new functionality and bug fixes.

Please also see http://wiki.freepascal.org/User_Changes_2.4.0 for a list
of changes which may affect the behaviour of previously working code, and
how to cope with these changes.

Some highlights are:

Platforms:
  * New platform: Mac OS X/PowerPC64
  * New platform: Mac OS X/x86_64
  * New platform: Mac OS X/ARM (iPhone)
  * New platform: Haiku/i386

Compiler:
  * Support for Delphi-style resource handling
  * Whole-program optimization infrastructure, which initially supports
    program devirtualization and unused virtual method removal
  * Much faster compilation of units containing many type-sections
  * The ability to suppress individual hints/warnings/notes
  * Several improvements to the DWARF debug information generation
  * Fixes to the generics support
  * Fixes to the interface delegation (implements) support
  * Improved cpu register allocation
  * Improved ARM/EABI support

RTL:
  * Linearly scaling multi-threaded memory manager
  * Support for (advisory) file locking on Unix-based platforms
    when using the SysUtils file creation/opening routines
  * Support for ANSI ISO Extended Pascal ReadStr/WriteStr
  * A UnicodeString type that, while not yet equivalent to Delphi 2009's
    UnicodeString type, offers reference counted UnicodeString support on
    the Windows, Linux, Mac OS X, FreeBSD and Beos/Haiku platforms.

Packages:
  * Many improvements to the XML units
  * Many improvements to the database units
  * Updated the common Mac OS X Pascal interfaces to r241, including
    header a translation of the CFNetwork framework
  * The zipper unit now works correctly on big endian platforms

See http://bugs.freepascal.org/changelog_page.php for the list of reported
bugs which have been fixed in this release.

Revision history for this message
Steve Langasek (vorlon) wrote :

FFe granted for fpc and lazarus.

Changed in fpc (Ubuntu):
status: Incomplete → Confirmed
Changed in lazarus (Ubuntu):
status: Incomplete → Confirmed
Matthias Klumpp (ximion)
tags: added: lucid
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

[Updating] fpc (2.2.4-5 [Ubuntu] < 2.4.0-2 [Debian])
 * Trying to add fpc...
2010-03-05 22:45:19 INFO - <fpc_2.4.0-2.dsc: downloading from http://ftp.debian.org/debian/>
2010-03-05 22:45:19 INFO - <fpc_2.4.0.orig.tar.gz: downloading from http://ftp.debian.org/debian/>
2010-03-05 22:45:23 INFO - <fpc_2.4.0-2.diff.gz: downloading from http://ftp.debian.org/debian/>
I: fpc [universe] -> fpc_2.2.4-5 [universe].
I: fpc [universe] -> fpc-source_2.2.4-5 [universe].
I: fpc [universe] -> fp-compiler_2.2.4-5 [universe].
I: fpc [universe] -> fp-ide_2.2.4-5 [universe].
I: fpc [universe] -> fp-utils_2.2.4-5 [universe].
I: fpc [universe] -> fp-docs_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-rtl_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-base_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-fcl_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-fv_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-gtk_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-gtk2_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-gnome1_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-db_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-gfx_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-net_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-math_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-misc_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-multimedia_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-i386_2.2.4-5 [universe].

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

2010-03-05 22:50:28 INFO - <fpc_2.4.0-2.dsc: cached>
2010-03-05 22:50:28 INFO - <fpc_2.4.0.orig.tar.gz: cached>
2010-03-05 22:50:28 INFO - <fpc_2.4.0-2.diff.gz: cached>
[Updating] fpc (2.2.4-5 [Ubuntu] < 2.4.0-2 [Debian])
 * Trying to add fpc...
I: fpc [universe] -> fpc_2.2.4-5 [universe].
I: fpc [universe] -> fpc-source_2.2.4-5 [universe].
I: fpc [universe] -> fp-compiler_2.2.4-5 [universe].
I: fpc [universe] -> fp-ide_2.2.4-5 [universe].
I: fpc [universe] -> fp-utils_2.2.4-5 [universe].
I: fpc [universe] -> fp-docs_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-rtl_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-base_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-fcl_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-fv_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-gtk_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-gtk2_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-gnome1_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-db_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-gfx_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-net_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-math_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-misc_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-multimedia_2.2.4-5 [universe].
I: fpc [universe] -> fp-units-i386_2.2.4-5 [universe].

Revision history for this message
Matthias Klumpp (ximion) wrote :

Hmm... Build failed on sparc, and on armel the package "fp-compiler" is missing to initiate the build-cycle.
Is it possible to sync binary packages at least once from Debian to make FPC able to compile on armel? (It is not that important to have FPC on armel, but it may be useful to someone. On Debian buildds FPC compiles successfull on all supported platforms)

Revision history for this message
StefanPotyra (sistpoty) wrote :

no, we can't sync binary packages, however the buildd admins can do bootstrapping on the buildds.
The sparc build failure is strange (a patch not applying correctly), I've given back the build, let's see if that works.

Revision history for this message
Matthias Klumpp (ximion) wrote :

I had this failure (patch unable to apply) with another deb-package on powerpc one time. Just rebuilding fixed the issue.
Thanks for your help with those packages!

Revision history for this message
Matthias Klumpp (ximion) wrote :

Weird... The patch again failed to apply... But applying patches does not depend on the used architecture...

Revision history for this message
Niall Creech (sevenmachines-deactivatedaccount) wrote :

It seems strange that fpc build-depends on fp-compiler, which is needed to build and so get a fp-compiler binary! It also build-depends on a number of fpc binaries, a bit "chicken and egg". I take it gpc wouldnt work as a replacement build-depends.

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 525523] Re: FFe: Sync fpc and lazarus (universe) from Debian (unstable)

SevenMachines [2010-03-08 8:19 -0000]:
> It seems strange that fpc build-depends on fp-compiler, which is needed
> to build and so get a fp-compiler binary!

That's standard compiler design. Many compilers are written in their
own language and thus need (an earlier version of).

  http://en.wikipedia.org/wiki/Bootstrapping_(compilers)

--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)

Revision history for this message
StefanPotyra (sistpoty) wrote :

since the sparc buildds are ilde anyways atm, I've given it back again. If that won't work, I'll check it in a sparc chroot.

Revision history for this message
Matthias Klumpp (ximion) wrote :

@SevenMachines: As self-hosting compiler, FPC needs a copy of itself to compile. Every platform needs an initial FPC build to make the build cycle work. Buildd-Admins can do this.
Unfortunately the sparc-build failed again (!), I checked it in a chroot on my Debian machine and everything compiled fine.
The Lazarus-Version has to be pulled from Debian too or just needs to be rebuild to work properly. (merge with Debian would be better cause of the bugfixes)

Revision history for this message
StefanPotyra (sistpoty) wrote :

hm, I can reproduce the build failure in an Ubuntu chroot on sparc. I very much believe the difference between sparc and other architectures is that the new version of the patch packaged FTBFS'd on sparc (and still dies with bus errors in the test-cases, as I just found out :/)

Revision history for this message
Paul Gevers (paul-climbing) wrote :

I think there is a problem with the clean rule in debian/rules. I get the same issue on my i386 when I try do do it at home. I gave up trying to understand. Some rules wizard should look at it.

In the mean time, could lazarus be merged, so that we at least have an installable version of it on i386/amd64 etc.... Now, it is not installable. We can rebuild when the issue with sparc for fpc is solved.

Revision history for this message
Matthias Klumpp (ximion) wrote :

Why does it work for me, but not for you?
After I did some upgrades, it now fails on my chroot on sparc too, but I don't get this failure on i386... Which problems with the clean rule do you mean?
If there are problems, I'll forward them to Debian.

Revision history for this message
Paul Gevers (paul-climbing) wrote :

On 03/11/10 22:48, Matthias Klumpp wrote:
> Why does it work for me, but not for you?
> After I did some upgrades, it now fails on my chroot on sparc too, but I don't get this failure on i386... Which problems with the clean rule do you mean?
> If there are problems, I'll forward them to Debian.

From the top of my head, the main thing is that it sort-of fail to build
twice in a row, because of the massive things it does during clean.
Sometimes I can change something in the package (for uploads to my PPA)
sometimes I can not even change the changelog alone. I don't understand
why it fails SOMETIMES. Because I don't understand what they are doing
in the rules file, I can not really tell what my problem with the file
is, or else I would have done so myself, as I follow the debian
packaging as well.

I just wanted to yet you know, when I tried some time ago to build the
package on my i386 I get the same failure of the man page fpc.1 patch.
Because I couldn't fix it (didn't try long) I let it be and uploaded the
debian package straight to my PPA instead of my usual changes to the
maintainer and such.

Sorry that I am a little vague on this one, it is just a too complicated
package for me to understand.

Paul

Revision history for this message
StefanPotyra (sistpoty) wrote :

Hi,

red herring. The problem is the outdated patch package on sparc, see bug
#534459
for details.

However while the patches applied fine using a local patch package (with a
hammer), it still failed with a bus error later. Not too sure if that's still
present though, since toolchain changed a little bit in the mean time.

Cheers,
   Stefan.

Revision history for this message
Matthias Klumpp (ximion) wrote :

On Debian, the build works.

Revision history for this message
Matthias Klumpp (ximion) wrote :

... this means Debian does something the Ubuntu Buildds don't do to make the package compile. Does it compile for armel, if the initial compiler build is provided?
(And please sync Lazarus, cause it's not usable in the current version)

Revision history for this message
StefanPotyra (sistpoty) wrote :

nothing specially comes to my mind apart from stack-protector. Last time I tried that guess I was totally wrong though. No idea really.

sync request for lazaruse ack'd (sponsoring ack).

Revision history for this message
Paul Gevers (paul-climbing) wrote :

> sync request for lazaruse ack'd (sponsoring ack).

Don't forget the last ubuntu patch (bug 529469). If nobody beats me to
it I will try to prepare a debdiff late today.

Paul

Revision history for this message
Paul Gevers (paul-climbing) wrote :

Attached is the debdiff against the debian version of lazarus. For comparison I will upload a debdiff against the current version is Ubuntu shortly.

Revision history for this message
Paul Gevers (paul-climbing) wrote :
Revision history for this message
StefanPotyra (sistpoty) wrote :

argh, right, thanks for the reminder.

Looking at the debdiff:
- please keep old Ubuntu changelog entries for a merge
- might make sense to close this bug

I've just adjusted both, and will upload it (once the test-build is done).

Revision history for this message
Paul Gevers (paul-climbing) wrote :

> - please keep old Ubuntu changelog entries for a merge

Will do next time, but I thought that that happened automatically. Or is
that only the case with syncs? Or not at all?

> - might make sense to close this bug

Right, forgot about that.

Paul

Revision history for this message
StefanPotyra (sistpoty) wrote :

Hi,

Am Sunday 14 March 2010 15:45:16 schrieb Paul Gevers:
> > - please keep old Ubuntu changelog entries for a merge
>
> Will do next time, but I thought that that happened automatically. Or is
> that only the case with syncs? Or not at all?

no, that doesn't happen automatically at all. (and for syncs the ubuntu
changelog changes are indeed dropped).

Cheers,
   Stefan.

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

This bug was fixed in the package lazarus - 0.9.28.2-8ubuntu1

---------------
lazarus (0.9.28.2-8ubuntu1) lucid; urgency=low

  * Merged Debian and Ubuntu version, keeping previous changes (LP: #525523).

lazarus (0.9.28.2-8) unstable; urgency=low

  * Added dependency on ${misc:Depends} as required for packages using
    debhelper.
  * Removed pre-dependency on dpkg (>= 1.10.24).
 -- Paul Gevers <email address hidden> Sat, 13 Mar 2010 19:25:33 +0100

Changed in lazarus (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Matthias Klumpp (ximion) wrote :

Thank you for the Debian-merge!

Changed in fpc (Ubuntu):
status: Confirmed → 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

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