Wrong version number in PPA Debian packages

Bug #1019814 reported by Devid Antonio Filoni
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Audience
Fix Released
Low
Cody Garver
BeatBox
Fix Released
Medium
Scott Ringwelski
Camera
Fix Released
Low
Mario Guerriero
Cerbere
Fix Released
Low
Devid Antonio Filoni
Contractor
Fix Released
Low
Devid Antonio Filoni
Dexter Contacts
Fix Released
Undecided
Devid Antonio Filoni
Eidete
Fix Released
Undecided
Unassigned
Feedler
Fix Released
Low
Cody Garver
Files
Won't Fix
Low
Unassigned
Footnote
Fix Released
Low
Cody Garver
Gala
Won't Fix
Low
Unassigned
Granite
Fix Released
Low
Devid Antonio Filoni
Greeter
Won't Fix
Low
Unassigned
Marlin
New
Undecided
Unassigned
Maya
Fix Released
Low
Devid Antonio Filoni
Midori Web Browser
Confirmed
Undecided
Stéphane Marguet
Noise
Fix Released
Undecided
Devid Antonio Filoni
Pantheon Library
Fix Released
Undecided
Devid Antonio Filoni
Pantheon Notify
Fix Released
Low
Cody Garver
Pantheon Print
Won't Fix
Low
Unassigned
Pantheon Session Indicator
Invalid
Undecided
Unassigned
Pantheon Wallpaper
Fix Released
Low
Cody Garver
Scratch
Fix Released
Undecided
Devid Antonio Filoni
Slingshot
Fix Released
Undecided
Devid Antonio Filoni
Switchboard
Won't Fix
Low
Unassigned
Terminal
Won't Fix
Low
Unassigned
Wingpanel
Fix Released
Low
Sergey "Shnatsel" Davidoff
elementary Icons
Fix Released
Undecided
Sergey "Shnatsel" Davidoff
elementary Stylesheet
Fix Released
Undecided
Unassigned
exe-wrapper
Fix Released
Low
Cody Garver
varka
New
Undecided
Unassigned

Bug Description

Package version number is wrong, revision number is actually set after Debian revision number.

EXAMPLE:
granite - 0.2-0~r291+pkg30
{debupstream}-0~r{revno}+pkg{revno:packaging}

In this example granite version is "0.2" and Debian revision is "0~r291+pkg30" which is wrong. The recipe should be:

# bzr-builder format 0.3 deb-version {debupstream}~r{revno}-0
lp:granite
merge packaging lp:~elementary-os/granite/deb-packaging

So that the version is "0.2~r291" and Debian revision is "0".

NOTE:

If {debupstream} points to next release (like in granite) you should use:
{debupstream}~r{revno}-0
else ({debupstream} is an already released version like in scratch):
{debupstream}+r{revno}-0

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

I absolutely agree that this should be fixed.

tags: added: packaging ppa
Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

Oh, I forgot to tell that +pkg{revno:packaging} should be added after -0, so the right recipe for granite should be:

# bzr-builder format 0.3 deb-version {debupstream}~r{revno}-0+pkg{revno:packaging}
lp:granite
merge packaging lp:~elementary-os/granite/deb-packaging

Changed in midori:
assignee: nobody → Stéphane Marguet (stemp)
status: New → Fix Committed
Changed in beat-box:
importance: Undecided → Medium
status: New → Confirmed
Changed in beat-box:
assignee: nobody → Scott Ringwelski (sgringwe)
milestone: none → 0.6
status: Confirmed → Fix Committed
Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

Stéphane: in Midori {debupstream} points to 0.4.6 which *was already released*, you have to use "+". The right recipe is:
# bzr-builder format 0.3 deb-version {debupstream}+r{revno}-0+pkg{revno:packaging}

Changed in midori:
status: Fix Committed → Confirmed
Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

The same applies to BeatBox too. You have to use {debupstream}+r{revno}-0+pkg{revno:packaging} because you already released 0.5.

Changed in beat-box:
status: Fix Committed → Confirmed
Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

Scott, your recipe works fine now, it doesn't build in Quantal because you have to replace libsqlheavy0.1-dev with:
libsqlheavy0.1-dev | libsqlheavy-dev
(in debian/control file)

Changed in beat-box:
status: Confirmed → Fix Released
Changed in scratch:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: New → Fix Released
Changed in dexter-contacts:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: New → Fix Released
Changed in libpantheon:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: New → Fix Released
Changed in pantheon-plugs:
status: New → Invalid
Changed in slingshot:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: New → Fix Released
Changed in noise:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: New → Fix Released
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

Switching to a correct package-version isn't easily possible in the current condition. We want to keep the possibility that the next upstream release would actually have a greater version than an earlier ppa snapshot.

To preserve the upgrade path with existing packages I am suggestion to the common upstream-version structure MAJOR.MINOR.MICRO which results in upstream-versions like 0.2.0 rather than 0.2.

This will make an easy transition possible while changing package-versions like "0.2-0~r321" to "0.2.0~r321-0".

Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

Please note: Rico is talking about non-fixed packages. Midori can be fixed as I suggested and fixed packages, well they are fixed :)

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

We're just following Ubuntu/Launchpad convention here. If it's wrong, the convention should be fixed. See bug 1020983 for fixing the convention; if it's fixed, then we'll follow for Luna+1.

Changed in elementaryos:
status: New → Opinion
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

@Sergey: Following a bogus convention or waiting for it to change seems not reasonable. The resulting version is clearly wrong and we can define versions as we like to meet the debian-versioning-scheme. So there is no need to wait for any approval from bug 1020983

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

Either way, I don't want to change versioning convention so late in the cycle.

Changed in elementaryos:
status: Opinion → Confirmed
status: Confirmed → Triaged
tags: added: technical-debt
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

The best time to fix this is just after a stable release of an app in question; otherwise we may run into a situation when an old version will be greater than the new version and the daily builds will stagnate.

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

The packages currently marked as fixed will require a version bump in deb-packaging branch prior to next stable release.

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

...and a transition from the +bzrX to ~bzrX versioning in the recipe too.

Cody Garver (codygarver)
tags: added: future
Cody Garver (codygarver)
Changed in audience:
importance: Undecided → Low
milestone: none → 0.2
status: New → Confirmed
David Gomes (davidgomes)
Changed in pantheon-terminal:
importance: Undecided → Low
milestone: none → luna-beta1
status: New → Confirmed
Changed in pantheon-terminal:
milestone: luna-beta1 → none
Cody Garver (codygarver)
Changed in audience:
assignee: nobody → Cody Garver (codygarver)
status: Confirmed → Triaged
Changed in cerbere:
importance: Undecided → Low
status: New → Triaged
Changed in contractor:
importance: Undecided → Low
status: New → Triaged
Changed in feedler:
assignee: nobody → Cody Garver (codygarver)
importance: Undecided → Low
status: New → Triaged
Changed in pantheon-files:
importance: Undecided → Low
status: New → Triaged
Changed in gala:
importance: Undecided → Low
status: New → Triaged
Changed in granite:
importance: Undecided → Low
status: New → Triaged
Changed in pantheon-greeter:
importance: Undecided → Low
status: New → Triaged
Changed in maya:
importance: Undecided → Low
status: New → Triaged
Changed in pantheon-notify:
importance: Undecided → Low
status: New → Confirmed
Changed in pantheon-print:
importance: Undecided → Low
status: New → Triaged
Cody Garver (codygarver)
Changed in switchboard:
importance: Undecided → Low
status: New → Triaged
Changed in snap-elementary:
importance: Undecided → Low
status: New → Confirmed
Changed in pantheon-wallpaper:
importance: Undecided → Low
status: New → Confirmed
Changed in wingpanel:
importance: Undecided → Low
status: New → Triaged
Cody Garver (codygarver)
Changed in pantheon-terminal:
status: Confirmed → Triaged
Changed in snap-elementary:
milestone: none → 0.1
Changed in snap-elementary:
assignee: nobody → Mario Guerriero (mefrio-g)
status: Confirmed → Fix Committed
Cody Garver (codygarver)
Changed in exe-wrapper:
assignee: nobody → Cody Garver (codygarver)
importance: Undecided → Low
status: New → Fix Committed
Cody Garver (codygarver)
Changed in feedler:
status: Triaged → Fix Committed
Changed in footnote:
assignee: nobody → Cody Garver (codygarver)
importance: Undecided → Low
status: New → Fix Committed
Changed in pantheon-notify:
assignee: nobody → Cody Garver (codygarver)
status: Confirmed → Fix Committed
Cody Garver (codygarver)
Changed in pantheon-wallpaper:
assignee: nobody → Cody Garver (codygarver)
milestone: none → someday
status: Confirmed → Fix Committed
Cody Garver (codygarver)
Changed in exe-wrapper:
status: Fix Committed → Fix Released
Changed in feedler:
status: Fix Committed → Fix Released
Changed in footnote:
status: Fix Committed → Fix Released
Changed in pantheon-notify:
status: Fix Committed → Fix Released
Changed in pantheon-wallpaper:
status: Fix Committed → Fix Released
Changed in snap-elementary:
status: Fix Committed → Fix Released
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

It's not mentioned anywhere here, but apps which already use +revno instead of ~revno can already be transitioned because moving "+revno" produces a greater version. Proof:
$ dpkg --compare-versions '0.6-0+r261~precise1' '>>' '0.6+r261-0~precise1' && echo greater || echo lower
lower

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

Fixed in eGTK daily recipe

Changed in egtk:
status: New → Fix Released
Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

Fixed in cerbere-daily recipe.

Changed in cerbere:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: Triaged → Fix Released
Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

Fixed in granite-daily recipe.

Changed in granite:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: Triaged → Fix Released
Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

Fixed in contractor-daily recipe.

Changed in contractor:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: Triaged → Fix Released
Revision history for this message
Devid Antonio Filoni (d.filoni) wrote :

Fixed in maya-daily recipe.

Changed in maya:
assignee: nobody → Devid Antonio Filoni (d.filoni)
status: Triaged → Fix Released
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :
Changed in eidete:
status: New → Fix Released
Cody Garver (codygarver)
no longer affects: pantheon-plugs
Cody Garver (codygarver)
Changed in audience:
milestone: 0.2 → 0.1
status: Triaged → Fix Released
no longer affects: lingo-dictionary
Cody Garver (codygarver)
no longer affects: pantheon-session
Revision history for this message
Cody Garver (codygarver) wrote :

Looks correct already:

# bzr-builder format 0.3 deb-version {debupstream}+r{revno:icons}-0+pkg{revno:packaging}

Changed in elementaryicons:
status: New → Incomplete
Revision history for this message
Cody Garver (codygarver) wrote :

What can we do about this in OS project?

Changed in elementaryos:
status: Triaged → Incomplete
Revision history for this message
Cody Garver (codygarver) wrote :

What can we do about this in Pantheon Session Indicator project? It's inactive.

Changed in indicator-pantheon-session:
status: New → Incomplete
Changed in wingpanel:
status: Triaged → Fix Released
assignee: nobody → Sergey "Shnatsel" Davidoff (shnatsel)
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

I think I've fixed this in icons back when I was refactoring the deb-packaging branch.

Changed in elementaryicons:
assignee: nobody → Sergey "Shnatsel" Davidoff (shnatsel)
status: Incomplete → Fix Released
Cody Garver (codygarver)
Changed in pantheon-files:
status: Triaged → Won't Fix
Changed in gala:
status: Triaged → Won't Fix
Changed in pantheon-greeter:
status: Triaged → Won't Fix
Changed in pantheon-print:
status: Triaged → Won't Fix
Changed in indicator-pantheon-session:
status: Incomplete → Invalid
Changed in switchboard:
status: Triaged → Won't Fix
Changed in pantheon-terminal:
status: Triaged → Won't Fix
Changed in elementaryos:
status: Incomplete → Invalid
no longer affects: plank-theme-pantheon
no longer affects: elementaryos
no longer affects: elementaryos/0.3-isis
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.