Difference between revisions of "Packaging"

From GalliumOS Wiki
Jump to: navigation, search
Line 68: Line 68:
 
|-
 
|-
 
! scope="col"| package
 
! scope="col"| package
! scope="col"| upstream forked at
+
! scope="col"| upstream fork point
 
! scope="col"| upstream current
 
! scope="col"| upstream current
! scope="col"| galliumos current
+
! scope="col"| galliumos uncorrected
! scope="col"| should be
+
! scope="col"| galliumos corrected
 
|-
 
|-
 
| xfce4-settings
 
| xfce4-settings
| 4.12.0ubuntu1
+
| 4.12.0-ubuntu1
| TBD
+
| 4.12.0-0ubuntu1
 
| 4.12.9-0ubuntu1
 
| 4.12.9-0ubuntu1
 
| 4.12.0-0ubuntu1-galliumos7
 
| 4.12.0-0ubuntu1-galliumos7
Line 81: Line 81:
 
| slim
 
| slim
 
| 1.3.6-4
 
| 1.3.6-4
| TBD
+
| 1.3.6-4
 
| 1.3.7.4-1
 
| 1.3.7.4-1
 
| 1.3.6-4-galliumos13
 
| 1.3.6-4-galliumos13
Line 87: Line 87:
 
| xfwm4
 
| xfwm4
 
| 4.12.1-1ubuntu1
 
| 4.12.1-1ubuntu1
| TBD
+
| 4.12.3-1ubuntu1~ubuntu15.04.1
 
| 4.12.2-1ubuntu6
 
| 4.12.2-1ubuntu6
 
| 4.12.2-1ubuntu1-galliumos5
 
| 4.12.2-1ubuntu1-galliumos5
Line 93: Line 93:
 
| pasystray
 
| pasystray
 
| 0.4.0-1
 
| 0.4.0-1
| TBD
+
| 0.4.0-1
 
| 0.4.0.3-2
 
| 0.4.0.3-2
 
| 0.4.0-1-galliumos1
 
| 0.4.0-1-galliumos1
Line 105: Line 105:
 
| xfce4-panel
 
| xfce4-panel
 
| 4.12.0-0ubuntu1
 
| 4.12.0-0ubuntu1
| TBD
+
| 4.12.0-0ubuntu1
 
| 4.12.1-0ubuntu1
 
| 4.12.1-0ubuntu1
 
| 4.12.0-0ubuntu1-galliumos1
 
| 4.12.0-0ubuntu1-galliumos1
Line 111: Line 111:
 
| xubuntu-default-settings
 
| xubuntu-default-settings
 
| 15.04.5
 
| 15.04.5
| TBD
+
| 15.04.5
 
| 15.04.22
 
| 15.04.22
 
| 15.04.5-galliumos16
 
| 15.04.5-galliumos16
Line 117: Line 117:
 
| dmz-cursor-theme
 
| dmz-cursor-theme
 
| 0.4.4ubuntu1
 
| 0.4.4ubuntu1
| TBD
+
| 0.4.4ubuntu1
 
| 0.4.5ubuntu1
 
| 0.4.5ubuntu1
 
| 0.4.4ubuntu1-galliumos1
 
| 0.4.4ubuntu1-galliumos1
Line 129: Line 129:
 
| xfce4-session
 
| xfce4-session
 
| 4.12.1-1ubuntu2
 
| 4.12.1-1ubuntu2
| TBD
+
| 4.12.1-1ubuntu2
 
| 4.12.1-1ubuntu9
 
| 4.12.1-1ubuntu9
 
| 4.12.1-1ubuntu2-galliumos5
 
| 4.12.1-1ubuntu2-galliumos5
Line 135: Line 135:
 
| cups-filters
 
| cups-filters
 
| 1.0.67-0ubuntu2.4
 
| 1.0.67-0ubuntu2.4
| TBD
+
| 1.0.67-0ubuntu2.5 (!)
 
| 1.0.67-0ubuntu2.5
 
| 1.0.67-0ubuntu2.5
 
| 1.0.67-0ubuntu2.4-galliumos1
 
| 1.0.67-0ubuntu2.4-galliumos1
Line 141: Line 141:
 
| ubiquity
 
| ubiquity
 
| 2.21.26
 
| 2.21.26
| TBD
+
| 2.21.26
 
| 2.21.31
 
| 2.21.31
 
| 2.21.26-galliumos4
 
| 2.21.26-galliumos4
Line 147: Line 147:
 
| casper
 
| casper
 
| 1.360
 
| 1.360
| TBD
+
| 1.360
 
| 1.360-2
 
| 1.360-2
 
| 1.360-galliumos2
 
| 1.360-galliumos2
Line 153: Line 153:
 
| zram-config
 
| zram-config
 
| 0.3.1
 
| 0.3.1
| TBD
+
| 0.3.1
 
| 0.3.2-1
 
| 0.3.2-1
 
| 0.3.1-galliumos3
 
| 0.3.1-galliumos3
Line 159: Line 159:
 
| xubuntu-artwork
 
| xubuntu-artwork
 
| 15.04.4
 
| 15.04.4
| TBD
+
| 15.04.4
 
| 15.04.18
 
| 15.04.18
 
| 15.04.4-galliumos13
 
| 15.04.4-galliumos13
Line 171: Line 171:
 
| xfce4-panel
 
| xfce4-panel
 
| 4.12.0-0ubuntu1
 
| 4.12.0-0ubuntu1
| TBD
+
| 4.12.0-0ubuntu1
 
| 4.12.1-0ubuntu1
 
| 4.12.1-0ubuntu1
 
| 4.12.0-0ubuntu1-galliumos1
 
| 4.12.0-0ubuntu1-galliumos1
Line 189: Line 189:
 
| systemd
 
| systemd
 
| 219-7ubuntu6
 
| 219-7ubuntu6
| TBD
+
| 219-7ubuntu6
 
| 219-7ubuntu29
 
| 219-7ubuntu29
 
| 219-7ubuntu6-galliumos3
 
| 219-7ubuntu6-galliumos3
Line 195: Line 195:
 
| procps
 
| procps
 
| 1:3.3.9-1ubuntu8
 
| 1:3.3.9-1ubuntu8
| TBD
+
| 1:3.3.9-1ubuntu8
 
| 1:3.3.9.3-1ubuntu9
 
| 1:3.3.9.3-1ubuntu9
 
| 1:3.3.9-1ubuntu8-galliumos3
 
| 1:3.3.9-1ubuntu8-galliumos3
Line 207: Line 207:
 
| kmod
 
| kmod
 
| 18-3ubuntu1
 
| 18-3ubuntu1
| TBD
+
| 18-3ubuntu1
 
| 18-3ubuntu2
 
| 18-3ubuntu2
 
| 18-3ubuntu1-galliumos1
 
| 18-3ubuntu1-galliumos1
Line 213: Line 213:
 
| hexchat
 
| hexchat
 
| 2.10.1-2
 
| 2.10.1-2
| TBD
+
| 2.10.1-2
 
| 2.10.1-5
 
| 2.10.1-5
 
| 2.10.1-2-galliumos1
 
| 2.10.1-2-galliumos1
Line 219: Line 219:
 
| deadbeef
 
| deadbeef
 
| 0.6.2-1
 
| 0.6.2-1
| TBD
+
| 0.6.2-1
| 0.6.2-1 (no mods)
+
| 0.6.2-1<br>(no mods, this is correct!)
| 0.6.2-1-galliumos1 (future!)
+
| 0.6.2-1-galliumos1<br>(if we patch in the future!)
 
|-
 
|-
 
| xfce4-power-manager
 
| xfce4-power-manager
 
| 1.4.3-0ubuntu1
 
| 1.4.3-0ubuntu1
| TBD
+
| 1.4.3-0ubuntu1
 
| 1.4.8-0ubuntu11
 
| 1.4.8-0ubuntu11
 
| 1.4.3-0ubuntu1-galliumos12
 
| 1.4.3-0ubuntu1-galliumos12
Line 231: Line 231:
 
| base-files
 
| base-files
 
| 7.2ubuntu9
 
| 7.2ubuntu9
| TBD
+
| 7.2ubuntu9
 
| 7.2ubuntu10
 
| 7.2ubuntu10
 
| 7.2ubuntu9-galliumos1
 
| 7.2ubuntu9-galliumos1
Line 237: Line 237:
 
| compton
 
| compton
 
| 0.1~beta2-1
 
| 0.1~beta2-1
| TBD
+
| 0.1~beta2-1
 
| 0.1~beta3-git-9.22.15-9
 
| 0.1~beta3-git-9.22.15-9
 
| 0.1~beta2-1-galliumos11
 
| 0.1~beta2-1-galliumos11
Line 243: Line 243:
 
| xorg
 
| xorg
 
| 1:7.7+7ubuntu4
 
| 1:7.7+7ubuntu4
| TBD
+
| 1:7.7+7ubuntu4
 
| 1:7.7+7ubuntu5
 
| 1:7.7+7ubuntu5
 
| 1:7.7+7ubuntu4-galliumos1
 
| 1:7.7+7ubuntu4-galliumos1
Line 249: Line 249:
 
| shimmer-themes
 
| shimmer-themes
 
| 1.9.4-0ubuntu2
 
| 1.9.4-0ubuntu2
| TBD
+
| 1.9.4-0ubuntu2
 
| 1.9.4-1ubuntu1
 
| 1.9.4-1ubuntu1
 
| 1.9.4-0ubuntu2-galliumos1
 
| 1.9.4-0ubuntu2-galliumos1
 
|-
 
|-
 
|}
 
|}

Revision as of 19:25, 14 December 2015

Current State of Packaging

For documentation and discussion. Design is still in flux.

Repositories and Distributions

We have one apt repository at https://apt.galliumos.org/ which serves three "distributions" (confusing name, but there it is).

We have a second apt repository at https://apt-dev.galliumos.org/ which will be retired.

The current distributions are:

vivid-galliumos
STABLE / RELEASE (default)
priority pinned at 9999, will trump Canonical's vivid repo for all package versions
vivid-galliumos-prerelease
prerelease / staging / unstable
priority pinned at 10050, will also trump our vivid-galliumos repo for all package versions
vivid-galliumos-testing
testing / experimental / current / development / etc
priority pinned at 10090, will also trump our vivid-galliumos-prerelease repo for all package versions

General users will only have our vivid-galliumos distribution enabled (and Canonical's vivid distribution, of course).

Packages

Our package version naming convention descends from upstream Ubuntu packages, where applicable.

e.g. for packagename (1.2.3-0ubuntu1), our patches should be packaged as packagename (1.2.3-0ubuntu1-galliumos1). Some upstream packages will not have an -ubuntuX suffix, which means that they are unchanged from the Debian up-upstream. We still need to add our -galliumosX suffix.

Package Version Discrepancies!

We have some existing packages which do not follow this naming convention, and are versioned ahead of their upstreams (e.g. 1.2.3 in upstream to our 1.2.4). This causes a few issues:

  1. It's confusing for us and gives users the impression that our code is a release ahead of the upstream.
  2. When the upstream releases a 1.2.4, it will have different code than our 1.2.4.
  3. debootstrap builds will fail to update to our pkgs when version numbers collide.

Package Version Corrections!

There are a couple ways to fix this issue:

Make a hard break sometime before current (BETA1) and 1.0 (simple, guaranteed to work)
Update packages with corrected version numbers, existing systems will not update to new packages. All users have to reinstall to move forward. :(
Add a new "pkgversionfix" repodist for all users, via inclusion in a required package (more complex, needs testing)
Populate new repodist with corrected packages, populate primary (stable) repodist with corrected packages+1. Force a "downgrade" via "pkgversionfix" repodist to the corrected packages, then disable the new repodist. This could be done with a few manual steps, or automated by a startup script (or maybe a pkg postinstall script?). Automated is more user-friendly, but might be surprising.

Manual steps would look something like this:

 ## Add new repodist
 apt-get install galliumos-distselect-pkgversionfix
 ## "downgrade" packages
 apt-get update && apt-get -y --force-yes dist-upgrade
 ## Remove new repodist
 apt-get purge galliumos-distselect-pkgversionfix
 ## Get corrected+1 pkgs from the main repo
 apt-get udpate && apt-get dist-upgrade


This needs testing, but I think it will work. Any better ideas?


Deviant package versions

These packages are currently problematically versioned:

package upstream fork point upstream current galliumos uncorrected galliumos corrected
xfce4-settings 4.12.0-ubuntu1 4.12.0-0ubuntu1 4.12.9-0ubuntu1 4.12.0-0ubuntu1-galliumos7
slim 1.3.6-4 1.3.6-4 1.3.7.4-1 1.3.6-4-galliumos13
xfwm4 4.12.1-1ubuntu1 4.12.3-1ubuntu1~ubuntu15.04.1 4.12.2-1ubuntu6 4.12.2-1ubuntu1-galliumos5
pasystray 0.4.0-1 0.4.0-1 0.4.0.3-2 0.4.0-1-galliumos1
xorg-server 2:1.17.1-0ubuntu3.1 TBD 2:1.17.1-0ubuntu4 2:1.17.1-0ubuntu3.1-galliumos1
xfce4-panel 4.12.0-0ubuntu1 4.12.0-0ubuntu1 4.12.1-0ubuntu1 4.12.0-0ubuntu1-galliumos1
xubuntu-default-settings 15.04.5 15.04.5 15.04.22 15.04.5-galliumos16
dmz-cursor-theme 0.4.4ubuntu1 0.4.4ubuntu1 0.4.5ubuntu1 0.4.4ubuntu1-galliumos1
galliumos-meta xubuntu-meta 2.190 TBD 2.201 2.190-galliumos11
xfce4-session 4.12.1-1ubuntu2 4.12.1-1ubuntu2 4.12.1-1ubuntu9 4.12.1-1ubuntu2-galliumos5
cups-filters 1.0.67-0ubuntu2.4 1.0.67-0ubuntu2.5 (!) 1.0.67-0ubuntu2.5 1.0.67-0ubuntu2.4-galliumos1
ubiquity 2.21.26 2.21.26 2.21.31 2.21.26-galliumos4
casper 1.360 1.360 1.360-2 1.360-galliumos2
zram-config 0.3.1 0.3.1 0.3.2-1 0.3.1-galliumos3
xubuntu-artwork 15.04.4 15.04.4 15.04.18 15.04.4-galliumos13
xkeyboard-config 2.12-1ubuntu1 TBD 2.12.1-1ubuntu1 2.12-1ubuntu1-galliumos1
xfce4-panel 4.12.0-0ubuntu1 4.12.0-0ubuntu1 4.12.1-0ubuntu1 4.12.0-0ubuntu1-galliumos1
libnotify 0.7.6-2svn1 TBD 0.7.7-1 0.7.6-2svn1-galliumos1
ubuntu-meta 1.334 TBD 1.336 1.334-galliumos2
systemd 219-7ubuntu6 219-7ubuntu6 219-7ubuntu29 219-7ubuntu6-galliumos3
procps 1:3.3.9-1ubuntu8 1:3.3.9-1ubuntu8 1:3.3.9.3-1ubuntu9 1:3.3.9-1ubuntu8-galliumos3
libdrm 2.4.60-2 TBD 2.4.65-1-9.22.15.git-1 2.4.60-2-galliumos2
kmod 18-3ubuntu1 18-3ubuntu1 18-3ubuntu2 18-3ubuntu1-galliumos1
hexchat 2.10.1-2 2.10.1-2 2.10.1-5 2.10.1-2-galliumos1
deadbeef 0.6.2-1 0.6.2-1 0.6.2-1
(no mods, this is correct!)
0.6.2-1-galliumos1
(if we patch in the future!)
xfce4-power-manager 1.4.3-0ubuntu1 1.4.3-0ubuntu1 1.4.8-0ubuntu11 1.4.3-0ubuntu1-galliumos12
base-files 7.2ubuntu9 7.2ubuntu9 7.2ubuntu10 7.2ubuntu9-galliumos1
compton 0.1~beta2-1 0.1~beta2-1 0.1~beta3-git-9.22.15-9 0.1~beta2-1-galliumos11
xorg 1:7.7+7ubuntu4 1:7.7+7ubuntu4 1:7.7+7ubuntu5 1:7.7+7ubuntu4-galliumos1
shimmer-themes 1.9.4-0ubuntu2 1.9.4-0ubuntu2 1.9.4-1ubuntu1 1.9.4-0ubuntu2-galliumos1