[SRU] Update to vala 0.40.17 in bionic

Bug #1803136 reported by Rico Tzschichholz
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
vala (Ubuntu)
Fix Released
Low
Unassigned
Bionic
Fix Released
Low
Unassigned

Bug Description

The 0.40.x series is maintained as LTS release and will receive further bug fix releases in the future. See https://wiki.gnome.org/Projects/Vala

Previous 0.40.8 SRU https://bugs.launchpad.net/bugs/1782122

Falls under the standing GNOME SRU execption
https://wiki.ubuntu.com/StableReleaseUpdates#GNOME

Upstream changes since 0.40.8:

Vala 0.40.17
============
 * Various improvements and bug fixes:
  - vala:
    + Allow direct access to the integer constants of an error-domain [#732]
    + Support static methods in error-domains [#829]
    + vala: Init formal_target_type of built ArrayCreationExpression from
      InitializerList [#835]
    + Add missing closing brace/bracket in to_string() of
      ArrayCreationExpression and InitializerList
    + Reject unary operations on nullable integer/floating/boolean type [#772]
    + Report dedicated error message for params-array parameter mismatch
    + Output "params" qualifier of parameters
    + Fix compatible/disposable check between structs and their subtypes
    + Don't issue a warning for non-public struct fields in bindings
    + No-accessor struct properties in GLib.Object class must be owned
    + Trust "value_owned" when writing property getter and regenerate
      GIDL/GIR-based bindings fix getter ownership of struct properties
  - codegen:
    + Don't cause double-free due append_local_free() in uncaught-errors [#838]
    + Directly use "memmove()" while g_memmove() is deprecated
    + Accept children after generating type specific declarations
    + Preserve full access to delegate variables and its target/destroy cvalues
    + Initialize delegate temp-var which is assigned by property getter
    + Use gtype-boxed API for structs with "g_boxed_free" attribute [#863]
  - ccode: Implicitly register declaration for added CCodeFunction
  - codewriter: Write "weak" modifier for properties
  - girparser/gidlparser: "value_owned = true" by default for property types
  - girparser: Add required copy/free attributes for gtype-boxed structs
    and regenerate GIR-based bindings to pick up copy/free attributes [#863]
  - libvaladoc: Don't traverse into close circles with parent [#829]
  - genie: Creation methods should not be static
  - valadoc: Explicitly pass --pkg libvala@PACKAGE_SUFFIX@ and --pkg libgvc

 * Bindings:
  - avahi-client: Fix "use of possibly unassigned parameter" warnings
  - cairo: Add 1.16 symbols
  - glib-2.0: Fix MutexLocker binding
  - glib-2.0: Use 'GStatBuf' as ctype for 'Stat'
  - glib-2.0: DateTime.from_iso8601() can take a null TimeZone
  - glib-2.0: Set default_value attribute for GLib.pointer
  - gio-2.0: Drop metadata for NativeSocketAddress
  - gio-unix-2.0: Fix DesktopAppInfo.get_string(), UnixFDMessage.steal_fds()
  - gnutls: Fix "use of possibly unassigned parameter" warnings
  - gobject-2.0: Some cherry-picking from GIR generated binding
  - gtk+-3.0: Ownership mismatch of ColorButton.rgba property-accessor [#844]
  - json-glib-1.0: Change abstract methods of Serializable to virtual [#840]
  - libsoup-2.4: soup_auth_new is not a constructor but a factory method [#791]
  - linux: Add more Input and update UserspaceInput bindings [#830]
  - posix: Add *at() calls and related constants [#823]
  - sqlite3: Bind sqlite3_expanded_sql() and sqlite3_normalised_sql()
  - sqlite3: Fix use of possibly unassigned parameter `errmsg'
  - tokyocabinet: Fix deprecation warnings
  - xcb: Fix "missing return statement at end of subroutine body" errors

Vala 0.40.16
============
 * Various improvements and bug fixes:
  - codegen:
    + Always use G_TYPE_CHECK_INSTANCE_TYPE for external symbols
    + When freeing local variables don't stop at "switch" on "continue" [#799]
    + Use array_length of collection variable instead of expression
    + Assign GValue result of function calls to temp-var on copy_value [#819]
    + Real structs are allowed by simple generics and passed as reference [#819]
    + Use G_TYPE_CHECK_INSTANCE_CAST for comparisons with interfaces
    + Include required type-definition when casting from generic pointer [#828]
  - girwriter:
    + Mention that this file is generated and not meant to be modified
    + Properly resolve GLib.TypeInterface instead of hardcoding it
    + Multiple improvements and fixes for e.g. GType classes
  - girparser:
    + Add support for string "ctype" metadata [#793]
    + Skip 'attribute' elements
    + Handle "function-macro" by skipping them [gi#159]
  - parser: Multiple corrections for source-location of code-nodes
  - compiler: Add OptionFlags.NO_ARG to deprecated "--thread" option
  - build: Pass -no-undefined when linking libvalaccodegen [#820]
  - tests: Null-terminate arrays for compatibility test of uint8 / uchar [#809]

 * Bindings:
  - clutter-1.0: Bind Margin, PaintVolume, Point, Rect and Size as struct [#795]
  - cogl-1.0: Fix out-params in Cogl.get_modelview_matrix/projection_matrix/
    bitmasks [#794]
  - glib-2.0: Bind strcmp0 as GLib.CompareFunc<string?> [#810]
  - glib-2.0: Add MappedFile.from_fd constructor [#824]
  - gtk+-3.0: Update to 3.24.9~18177388
  - posix: Fix return-value of mknod() and c-include for tcgetsid()
  - webkit2gtk-4.0: Fix WebContext.initialize_notification_permissions()
  - x11: Fix return type of XInternAtoms and XGetAtomNames bindings
  - xtst: Fix signature of XTest.fake_relative_motion_event()

Vala 0.40.15
============
 * Various improvements and bug fixes:
  - Mark defined constructors of abstract classes as protected
  - codegen:
    + Use guint to represent flags-enum in custom GMarshalFunc
    + Move disconnect error from signal-module to semantic-analyzer pass
    + Use unsigned default value for flags-enum
    + Always assign original variable when consuming instance to destroy [#781]
    + Resolve generics in sizeof-expression of parameter initializer
    + Move implicit GValue cast for comparison to BinaryExpression [#585063]
  - girparser: Create correct output in get_default_lower_case_suffix() [#778]
  - parser: Improve source_reference of expressions and statements
  - vala: Variadic parameters are not supported for async methods
  - vala: Allow assignment of 0U to enum types
  - vala: Use global CodeContext to retrieve root_symbol
  - libvaladoc:
    + Don't try to create a Content.ListItem when there is none
    + Handle missing Content.List.Bullet.ORDERED in switch
    + Handle missing Run.Style.NONE in switch

 * Bindings:
  - libgvc: Some additions and ownership/return-type fixes
  - glib-2.0: Don't annotate dedicated GLib.assert_*() with [Assert] [#769]
  - pango: Fix StringBuilder parameter of scan_word()
  - gobject-introspection-1.0: Fix TypeInfo and TypeTag method references [#778]
  - gstreamer-1.0: Fix TypeFind and TypeFindFactory method references [#778]

Vala 0.40.14
============
 * Various improvements and bug fixes:
  - codegen:
    + Replace some unfortunate asserts with internal error reports
    + Properly handle and catch inner-error of finally-block (#742)
    + Pass lambda expression of variable initializer to signal connect
    + Respect array_length_cname attribute for global fields
  - vala:
 + Check inferred variable_type of LocalVariables
 + Parser doesn't ensure "protected" to be applied on TypeSymbol members
  - girparser: Correctly set array_length_type for delegates returning an array
  - girwriter:
    + Support transfer-ownership="container" for arrays
    + Always use get_gir_name() for TypeSymbols
  - libvaladoc:
    + Don't change the size of an array in-parameter
    + Properly support the output of async constructors (#753)
  - valadoc: Report warning if resources for doclet could not be copied
  - g-i: Fix return value on error in start_discriminator()

 * Bindings:
  - clutter-1.0: Drop deprecated from Actor.pick() (#625)
  - gdk-3.0: Update to 3.24.4+a0129f55
  - gtk+-unix-print-*.0: Fix PrintJob.get_page_ranges(),
    Printer.get_hard_margins()
  - gobject-2.0: Add SignalHandler.disconnect_by_data()
  - poppler-glib: Update to 0.74

Vala 0.40.13
============
 * Various improvements and bug fixes:
  - codegen:
    + Use temp-var for MethodCall with out/ref arguments (#722)
    + Use temp-vars for ellipsis out-arguments to fix memory management (#722)
    + Add default_value for CType to initialize variables if needed (#724)
    + Cast instance parameter for property access in object-initializer
    + Don't check boolean values for (in)equality in GTask API (#726)
    + Properly set annotations field of GDBus*Info struct to NULL
    + Cast instance and result of g_async_initable_new_finish() call
    + Use a parameter-map for creation of delegate declaration [#728]
    + Emit struct declaration typedef before resolving its fields [#318]
    + Don't apply address-of operator on literals when casting to array
  - vala: Report invalid instance member access to property (#605)
  - girparser: Async methods don't allow out-parameters before in-parameters
  - libvaladoc: Build backing Vala.SourceFile for GIRs processed by importer
  - libvaladoc/girimporter: Skip "source-position" elements
  - valadoc: Specify that the "--driver" option is deprecated [#736]
  - compiler: Report deprecated command-line option "--thread"
  - build: Don't leak libvalaccode symbols to libvaladoc
  - Add a basic CONTRIBUTING.md file that links to the relevant Wiki page
  - tests: Fix try_parse() tests to not compare to already free'd memory

 * Bindings:
  - clutter-1.0: Fix BindingPool.override_action()
  - gdk-3.0,gtk+-3.0: Update to 3.24.3+9c8f1478
  - glib-2.0: Use correct array-length-type for returned arrays (#171)
  - gio-2.0: Fix File.replace_contents_bytes_async() (!37)
  - gobject-2.0: Minor syncing from GIR
  - gobject-2.0: Use correct array-length-type for returned arrays
  - gtk+-4.0: Update to 3.94.0+9b15c690
  - libsoup-2.4: Fix Message.add_*_handler() [#731]
  - sqlite3: Correct return C type of Statement.column_text & Value.to_text

Vala 0.40.12
============
 * Various improvements and bug fixes:
  - codegen:
    + Fix method pointer cast if instance isn't at first position
    + Transfer ownership of compact class to DestroysInstance method [#645]
    + Make sure to include declarations for delegate typed parameters
    + Don't emit type_id for enum in non GOBJECT profile
    + Don't emit unused temp variable for element access assignments
    + Actually create method cast for base interface method as needed
    + Mark needle parameter of internal array-contains methods as const [#504]
    + Emit initializer for enum-value into wanted declaration space [#167]
    + Add void to delegate typedef declarations without parameters
    + Emit delegate/enum typedefs to type-declaration section [#318]
    + Always emit constants with initializer-list [#81]
    + Handle non-default AsyncResult parameter position [#709]
  - vala:
    + Copy instance_pos argument from virtual/abstract base methods [#540483]
    + Compact classes don't allow private/class fields and to lock fields
    + Use comment which was already retrieved in parse_declaration()
    + Add missing re-check guards for Do/For/WhileStatement and SwitchLabel
    + Type check for errors require an error expression [#362]
    + Make check_arguments() more verbose and don't bail on first error [#438]
    + Don't emit member access of assignments on static properties [#573]
    + Use clearer error message for automatic properties in interfaces [#656]
    + Break possible endless loop in SymbolResolver.get_type_for_struct() [#444]
  - girwriter: Write glib-type attributes for Enums/Structs with type_id
  - girparser: Skip "source-position" elements and docs in transparent union
  - valadoc:
    + Match property signature with vala's codewriter
    + Sort symbols and members where possible
    + Actually assign type_id of Api.Structs
    + Add type_id to Api.Enum/Interface
    + Skip package dependency if target directory already exists
    + Fix a few errors and warnings in stylesheet
    + Adjust stylesheet to unbreak Epiphany [#644]
  - docs: Use Markdown for README and include build instructions
  - testrunner: Pass buildsystem's CC through to valac

 * Bindings:
  - gio-2.0: Add missing File.new_build_filename()
  - glib-2.0: Add missing Array.set_clear_func() binding
  - glib-2.0: Avoid double-free in GLib.Array if clear_func is set
  - glib-2.0: Add GLib.pointer aka gpointer binding
  - gobject-2.0: Attribute all symbols with cheader_filename = "glib-object.h"
  - gobject-introspection-1.0: Pick up version attribute fixes
  - gdk-x11-3.0,gtk+-3.0: Update to 3.24.2+eb821cb8
  - gtk+-4.0: Update to 3.94.0+a99bd2a4
  - poppler-glib: Update to 0.71

Vala 0.40.11
============
 * Various improvements and bug fixes:
  - codegen:
    + Initialize internal temp-variables used as reference parameter
    + Improve ccode for fixed-length array parameters (#163)
    + Fix regex literal compile flags
    + Add prototype for *_register_type() function
    + Don't emit *_free() of derived compact classes
    + Add prototype for *_new() of abstact compact classes
  - girwriter: Fix ctype of out/ref and array parameters
  - ccode: Fix typo and actually check "end_decls" (#672)
  - abstract syntax tree:
    + Always analyze nodes after they are inserted into the AST
    + Add source_reference to local variable of catch-clause
    + Add missing replace_expression() implementations
    + Fix several construction/parenting issues
    + DataType for GLib.Error should be should resolved as ErrorType
  - testrunner: Reset $run_prefix before generating next test script
  - build: Unconditionally add conditional VALAFLAGS to make bootstrap
  - manual: Update from wiki.gnome.org

 * Bindings:
  - glib-2.0: Computing length once is enough in string.to_utf8()/splice()
  - glib-2.0: Add binding for g_test_add()
  - glib-2.0: Add array length to string.skip (#695)
  - gio-2.0: Result of DBusMessage.get_header() is unowned
  - gobject-2.0,gtk+-*.0: Fix some GLib.Value out/ref parameters
  - gtk+-4.0: Update to 3.94.0+b4b30b49

Vala 0.40.10
============
 * Various improvements and bug fixes:
  - codewriter: Prepend "yield" if is_yield_expression is set on
    MethodCall and ObjectCreationExpression
  - codegen: Fix typo in is_pure_ccode_expression() [#673]
  - gobject-introspection: Fix use after free in scanner [#674]
  - vala: Check if ArrayType supports its given element-type in analyzer pass
  - valadoc: Fix some string escaping which gettext complains about

 * Bindings:
  - Update GIDL-based bindings to fix unsupported type-arguments
  - Add gnome-desktop-3.0 bindings [#668]
  - glib-2.0: Add feature_test_macro details for Time struct's methods
  - glib-2.0: Set DateTime.now () to use local time zone as the default
  - gstreamer: Cherry-pick some fixes from 0.42
  - gtk+-3.0: Update to 3.24.0
  - gtk+-4.0: Update to 3.94.0+d90e2733
  - libxml-2.0: Add missing context parameter in OutputWriteCallback
  - pango: Update to 1.42.3
  - x11: Add binding for XCreateSimpleWindow

Vala 0.40.9
===========
 * Various improvements and bug fixes:
  - girparser: Actually resolve type-arguments to be able to box them if needed
  - girparser: Handle unsupported aliases which could not be fully processed
  - codegen: Free errors after returning them on GDBusMethodInvocation [#657]
  - codegen: Fix invocation of abstract/virtual methods with NoWrapper in
    compact classes
  - vala: Allow read-only properties
  - manual: Update from wiki.gnome.org

 * Bindings:
  - glib-2.0: Add Array.remove*() wrapper to avoid leaking generic elements
  - glib-2.0: Add (u)long.parse/try_parse() and float.parse/try_parse() [#649]
  - glib-2.0: Add return-type of Queue.remove*(), add HashTable.foreach_steal()
  - gtk+-3.0: Update to 3.23.2+6b6e53fd
  - gtk+-4.0: Update to 3.94.0+4e868584
  - webkit2gtk-4.0: Update to 2.20.5

[Impact]
 * Affects all valac reverse-dependency on buildtime

[Test Case]
 * Mass-rebuild of rdepends can be found here
   https://launchpad.net/~ricotz/+archive/ubuntu/vala-sru/+packages?batch=200&memo=0&start=0

[Regression Potential]
 * Not immediately while it requires an rdepend rebuild to manifest.

[Other Info]
 * Regular upstream maintenance releases are likely to happen every 1-2 months

summary: - [SRU] Update to vala 0.40.11
+ [SRU] Update to vala 0.40.11 in bionic
summary: - [SRU] Update to vala 0.40.11 in bionic
+ [SRU] Update to vala 0.40.12 in bionic
description: updated
summary: - [SRU] Update to vala 0.40.12 in bionic
+ [SRU] Update to vala 0.40.13 in bionic
description: updated
description: updated
Mathew Hodson (mhodson)
Changed in vala (Ubuntu):
importance: Undecided → Low
Mathew Hodson (mhodson)
tags: added: upgrade-software-version
Jeremy Bícha (jbicha)
tags: added: rls-bb-incoming
Revision history for this message
Sebastien Bacher (seb128) wrote : Re: [SRU] Update to vala 0.40.13 in bionic

Updating to current bugfix version is worth doing, that's not a rls goal/something the desktop team was to own though, tagging rls-bb-notfixing (it doesn't prevent the SRU to be worked on still)

tags: added: rls-bb-notfixing
removed: rls-bb-incoming
Mathew Hodson (mhodson)
Changed in vala (Ubuntu):
status: New → Fix Released
Changed in vala (Ubuntu Bionic):
importance: Undecided → Low
description: updated
summary: - [SRU] Update to vala 0.40.13 in bionic
+ [SRU] Update to vala 0.40.14 in bionic
description: updated
summary: - [SRU] Update to vala 0.40.14 in bionic
+ [SRU] Update to vala 0.40.15 in bionic
Revision history for this message
Launchpad Janitor (janitor) wrote : Re: [SRU] Update to vala 0.40.15 in bionic

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

Changed in vala (Ubuntu Bionic):
status: New → Confirmed
Revision history for this message
Simon Quigley (tsimonq2) wrote :

Unsubscribing the Ubuntu Sponsors Team as there is nothing to sponsor; could you please attach a debdiff and resubscribe?

Thanks!

summary: - [SRU] Update to vala 0.40.15 in bionic
+ [SRU] Update to vala 0.40.16 in bionic
description: updated
Revision history for this message
Rico Tzschichholz (ricotz) wrote : Re: [SRU] Update to vala 0.40.16 in bionic
description: updated
summary: - [SRU] Update to vala 0.40.16 in bionic
+ [SRU] Update to vala 0.40.17 in bionic
Revision history for this message
Rico Tzschichholz (ricotz) wrote :
Revision history for this message
Chris Halse Rogers (raof) wrote :

This looks like there's a bit more than only bugfixes in here.

I'm not averse to accepting it, but what testing will be/has been done on this vala? Vala is the sort of package where we'd only see a problem caused by this upload when updating something else, and it would not be obvious what caused it.

For a start, have you rebuilt and tested the reverse-depends in Bionic against this?

Revision history for this message
Rico Tzschichholz (ricotz) wrote :

I have done mass-rebuild (with 0.40.11) as can be seen in the bug description. (I have deleted the dedicated PPA some time ago). Of course this was outdated given the age of this bug report. I can trigger another one, this will also show many unrelated build issues though.

description: updated
Revision history for this message
Chris Halse Rogers (raof) wrote : Please test proposed package

Hello Rico, or anyone else affected,

Accepted vala into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/vala/0.40.17-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in vala (Ubuntu Bionic):
status: Confirmed → Fix Committed
tags: added: verification-needed verification-needed-bionic
Revision history for this message
Sebastien Bacher (seb128) wrote :

Seems the SRU makes gnome-calculator fail to rebuild. The fix is
https://gitlab.gnome.org/GNOME/gnome-calculator/merge_requests/17
but it seems problematic that a SRU update leads to source no being rebuildable...

Revision history for this message
Rico Tzschichholz (ricotz) wrote :
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

I have been running a few applications (simple-scan, gnome-calculator and plank) compiled with vala 0.40.17 from -proposed without issues for the last weeks.

Therefore I consider with update verified.

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Ok, I see that there is a new gnome-calculator in the archive, so I assume the build failure was some red herring? The package aged sufficiently long for it to be releasable, but I'd like to know how we stand with the build failure situation before proceeding.

Revision history for this message
Sebastien Bacher (seb128) wrote :

The gnome-calculator new SRU is including the fix needed to build with the new vala. It's a bit unfortunate that a stable vala update is leading to build failures but seems it's the wait it is and that one has been handled so the SRU seems fine to be released now

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

This bug was fixed in the package vala - 0.40.17-0ubuntu1

---------------
vala (0.40.17-0ubuntu1) bionic; urgency=medium

  * New upstream release (LP: #1803136)
  * debian/ibvala-0.40-0.symbols,debian/libvaladoc-0.40-0.symbols:
    - Add new symbols

 -- Rico Tzschichholz <email address hidden> Mon, 14 Oct 2019 15:36:42 +0200

Changed in vala (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for vala has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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.