Merge lp:~adam-stokes/ubuntu/quantal/gnome-vfs/lp977940-multiarch into lp:ubuntu/quantal/gnome-vfs
- Quantal (12.10)
- lp977940-multiarch
- Merge into quantal
Status: | Merged |
---|---|
Merge reported by: | Stéphane Graber |
Merged at revision: | not available |
Proposed branch: | lp:~adam-stokes/ubuntu/quantal/gnome-vfs/lp977940-multiarch |
Merge into: | lp:ubuntu/quantal/gnome-vfs |
Diff against target: |
223 lines (+50/-17) 7 files modified
debian/changelog (+13/-0) debian/control (+11/-3) debian/control.in (+13/-4) debian/libgnomevfs2-0.install (+3/-3) debian/libgnomevfs2-dev.install (+5/-5) debian/libgnomevfs2-extra.install (+1/-1) debian/rules (+4/-1) |
To merge this branch: | bzr merge lp:~adam-stokes/ubuntu/quantal/gnome-vfs/lp977940-multiarch |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Adam Stokes (community) | Needs Information | ||
Jamie Strandboge | Needs Information | ||
Ubuntu branches | Pending | ||
Review via email: mp+114258@code.launchpad.net |
Commit message
Description of the change
- Forces libgnomevfs2-common to be replaced in order to clean out older files from libgnomevfs2-extra in a previous non multiarch package.
- Rebuilt with multi-arch support (LP: #977940)
Adam Stokes (adam-stokes) wrote : | # |
> While I have not done multiarch transitions myself, I read through the various
> documentation and wonder why libgnomevfs2-bin uses 'Multi-Arch: foreign'.
> Shouldn't this be 'Multi-Arch: same' because libgnomevfs2-bin provides
> binaries in /usr/bin (and in debian/control* uses 'Architecture: any' as
> opposed to 'all') and therfore does not meet the "one copy of this package, of
> any architecture, is sufficient to satisfy the needs of the runtime library
> package of every architecture" as per http://
> ntation#
>
> Otherwise, it looks like there is an approporiate use of Breaks, Replaces,
> Pre-Depends, etc. The files install to the correct places and the pc files
> look ok by visual inspection.
I'm still a little unclear behind the Multi-Arch: same vs. foreign. As I see it we mark the binary package as foreign stating that "The package is not co-installable with itself, but should be allowed to satisfy the dependencies of a package of a different arch from itself."
I'm probably mis-reading the documentation but if someone could verify Jamie's question I can make modifications if necessary.
Stéphane Graber (stgraber) wrote : | # |
From the wiki:
Multi-Arch: same
This package is co-installable with itself, but it must not be used to satisfy the dependency of any package of a different architecture from itself.
Multi-Arch: foreign
The package is not co-installable with itself, but should be allowed to satisfy the dependencies of a package of a different arch from itself.
If a package is declared Multi-Arch: foreign, preference should be given to a package for the native architecture if available; if it is not available, the package manager may automatically install any available package, regardless of architecture, or it may choose to make this an option controlled by user configuration.
Multi-Arch: allowed
This permits the reverse-
Multi-Arch: same should only be used when the package is co-installable with itself from another architecture, so it'd be wrong to use it for a package shipping stuff in /usr/bin.
Multi-Arch: foreign is however the right choice for a package shipping binaries in /usr/bin and that doesn't contain any library.
Adam Stokes (adam-stokes) wrote : | # |
Waiting on rdepends testing to finish, it is suggested to wait for those results before ack.
Adam Stokes (adam-stokes) wrote : | # |
rdeps tests:
./gnome-
./gst-plugins-
./shotwell_
./gnome-
./inkscape_
./libgnomeui_
./libgnome_
./libgsf_
Stéphane Graber (stgraber) wrote : | # |
Can you make sure all changes are covered in the changelog?
The Breaks/Replaces change isn't currently covered and neither is the versioned dependency on cdbs and dh (thouh these might have been required for the multi-arch pre-depends?)
- 36. By Adam Stokes
-
* Add breaks for libgnomevfs2-common << 2.24.4
* In addition to breaking on earlier versions we
force libgnomevfs2-common to be reinstalled
this ensures all library locations are properly created and files
exist in their architecture specific installation.
* Update build deps version to receive the full support of multi-arch
processing.
Preview Diff
1 | === modified file 'debian/changelog' | |||
2 | --- debian/changelog 2011-10-18 16:34:00 +0000 | |||
3 | +++ debian/changelog 2012-08-10 13:20:34 +0000 | |||
4 | @@ -1,3 +1,16 @@ | |||
5 | 1 | gnome-vfs (1:2.24.4-1ubuntu3) quantal; urgency=low | ||
6 | 2 | |||
7 | 3 | * Add breaks for libgnomevfs2-common << 2.24.4 | ||
8 | 4 | * In addition to breaking on earlier versions we | ||
9 | 5 | force libgnomevfs2-common to be reinstalled | ||
10 | 6 | this ensures all library locations are properly created and files | ||
11 | 7 | exist in their architecture specific installation. | ||
12 | 8 | * Update build deps version to receive the full support of multi-arch | ||
13 | 9 | processing. | ||
14 | 10 | * Rebuilt with multi-arch support (LP: #977940) | ||
15 | 11 | |||
16 | 12 | -- Adam Stokes <adam.stokes@canonical.com> Tue, 10 Jul 2012 14:19:59 -0400 | ||
17 | 13 | |||
18 | 1 | gnome-vfs (1:2.24.4-1ubuntu2) precise; urgency=low | 14 | gnome-vfs (1:2.24.4-1ubuntu2) precise; urgency=low |
19 | 2 | 15 | ||
20 | 3 | * debian/control.in: Drop libgamin-dev build dependency and FAM support. | 16 | * debian/control.in: Drop libgamin-dev build dependency and FAM support. |
21 | 4 | 17 | ||
22 | === modified file 'debian/control' | |||
23 | --- debian/control 2011-10-18 16:34:00 +0000 | |||
24 | +++ debian/control 2012-08-10 13:20:34 +0000 | |||
25 | @@ -9,7 +9,7 @@ | |||
26 | 9 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> | 9 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
27 | 10 | XSBC-Original-Maintainer: Josselin Mouette <joss@debian.org> | 10 | XSBC-Original-Maintainer: Josselin Mouette <joss@debian.org> |
28 | 11 | Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu@debian.org>, Josselin Mouette <joss@debian.org>, Michael Biebl <biebl@debian.org> | 11 | Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu@debian.org>, Josselin Mouette <joss@debian.org>, Michael Biebl <biebl@debian.org> |
30 | 12 | Build-Depends: cdbs, | 12 | Build-Depends: cdbs (>= 0.4.93~), |
31 | 13 | dh-autoreconf, | 13 | dh-autoreconf, |
32 | 14 | gnome-common, | 14 | gnome-common, |
33 | 15 | gtk-doc-tools (>= 1.0), | 15 | gtk-doc-tools (>= 1.0), |
34 | @@ -19,7 +19,7 @@ | |||
35 | 19 | libbz2-dev, | 19 | libbz2-dev, |
36 | 20 | libsmbclient-dev, | 20 | libsmbclient-dev, |
37 | 21 | gettext, | 21 | gettext, |
39 | 22 | debhelper (>= 8), | 22 | debhelper (>= 8.1.3~), |
40 | 23 | zlib1g-dev, | 23 | zlib1g-dev, |
41 | 24 | intltool (>= 0.35.0), | 24 | intltool (>= 0.35.0), |
42 | 25 | gnome-mime-data, | 25 | gnome-mime-data, |
43 | @@ -38,7 +38,8 @@ | |||
44 | 38 | Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/gnome-vfs/ubuntu | 38 | Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/gnome-vfs/ubuntu |
45 | 39 | 39 | ||
46 | 40 | Package: libgnomevfs2-common | 40 | Package: libgnomevfs2-common |
48 | 41 | Architecture: all | 41 | Architecture: any |
49 | 42 | Multi-Arch: foreign | ||
50 | 42 | Depends: ${misc:Depends}, | 43 | Depends: ${misc:Depends}, |
51 | 43 | shared-mime-info | 44 | shared-mime-info |
52 | 44 | Conflicts: gnome-panel (<< 2.10.0), | 45 | Conflicts: gnome-panel (<< 2.10.0), |
53 | @@ -56,6 +57,8 @@ | |||
54 | 56 | 57 | ||
55 | 57 | Package: libgnomevfs2-0 | 58 | Package: libgnomevfs2-0 |
56 | 58 | Architecture: any | 59 | Architecture: any |
57 | 60 | Multi-Arch: same | ||
58 | 61 | Pre-Depends: ${misc:Pre-Depends} | ||
59 | 59 | Depends: ${shlibs:Depends}, | 62 | Depends: ${shlibs:Depends}, |
60 | 60 | ${misc:Depends}, | 63 | ${misc:Depends}, |
61 | 61 | dbus (>= 0.90), | 64 | dbus (>= 0.90), |
62 | @@ -77,6 +80,7 @@ | |||
63 | 77 | 80 | ||
64 | 78 | Package: libgnomevfs2-bin | 81 | Package: libgnomevfs2-bin |
65 | 79 | Architecture: any | 82 | Architecture: any |
66 | 83 | Multi-Arch: foreign | ||
67 | 80 | Depends: ${shlibs:Depends}, | 84 | Depends: ${shlibs:Depends}, |
68 | 81 | ${misc:Depends} | 85 | ${misc:Depends} |
69 | 82 | Replaces: libgnomevfs2-common (<< 2.12.2-4) | 86 | Replaces: libgnomevfs2-common (<< 2.12.2-4) |
70 | @@ -92,6 +96,8 @@ | |||
71 | 92 | 96 | ||
72 | 93 | Package: libgnomevfs2-extra | 97 | Package: libgnomevfs2-extra |
73 | 94 | Architecture: any | 98 | Architecture: any |
74 | 99 | Multi-Arch: same | ||
75 | 100 | Pre-Depends: ${misc:Pre-Depends} | ||
76 | 95 | Depends: ${shlibs:Depends}, | 101 | Depends: ${shlibs:Depends}, |
77 | 96 | ${misc:Depends}, | 102 | ${misc:Depends}, |
78 | 97 | libgnomevfs2-common (>= ${gnome:Version}), | 103 | libgnomevfs2-common (>= ${gnome:Version}), |
79 | @@ -132,7 +138,9 @@ | |||
80 | 132 | 138 | ||
81 | 133 | Package: libgnomevfs2-dev | 139 | Package: libgnomevfs2-dev |
82 | 134 | Architecture: any | 140 | Architecture: any |
83 | 141 | Multi-Arch: same | ||
84 | 135 | Section: libdevel | 142 | Section: libdevel |
85 | 143 | Pre-Depends: ${misc:Pre-Depends} | ||
86 | 136 | Depends: libgnomevfs2-0 (= ${binary:Version}), | 144 | Depends: libgnomevfs2-0 (= ${binary:Version}), |
87 | 137 | ${misc:Depends}, | 145 | ${misc:Depends}, |
88 | 138 | libgconf2-dev (>= 2.8.0-1), | 146 | libgconf2-dev (>= 2.8.0-1), |
89 | 139 | 147 | ||
90 | === modified file 'debian/control.in' | |||
91 | --- debian/control.in 2011-10-18 16:34:00 +0000 | |||
92 | +++ debian/control.in 2012-08-10 13:20:34 +0000 | |||
93 | @@ -4,7 +4,7 @@ | |||
94 | 4 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> | 4 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
95 | 5 | XSBC-Original-Maintainer: Josselin Mouette <joss@debian.org> | 5 | XSBC-Original-Maintainer: Josselin Mouette <joss@debian.org> |
96 | 6 | Uploaders: @GNOME_TEAM@ | 6 | Uploaders: @GNOME_TEAM@ |
98 | 7 | Build-Depends: cdbs, | 7 | Build-Depends: cdbs (>= 0.4.93~), |
99 | 8 | dh-autoreconf, | 8 | dh-autoreconf, |
100 | 9 | gnome-common, | 9 | gnome-common, |
101 | 10 | gtk-doc-tools (>= 1.0), | 10 | gtk-doc-tools (>= 1.0), |
102 | @@ -14,7 +14,7 @@ | |||
103 | 14 | libbz2-dev, | 14 | libbz2-dev, |
104 | 15 | libsmbclient-dev, | 15 | libsmbclient-dev, |
105 | 16 | gettext, | 16 | gettext, |
107 | 17 | debhelper (>= 8), | 17 | debhelper (>= 8.1.3~), |
108 | 18 | zlib1g-dev, | 18 | zlib1g-dev, |
109 | 19 | intltool (>= 0.35.0), | 19 | intltool (>= 0.35.0), |
110 | 20 | gnome-mime-data, | 20 | gnome-mime-data, |
111 | @@ -33,7 +33,8 @@ | |||
112 | 33 | Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/gnome-vfs/ubuntu | 33 | Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/gnome-vfs/ubuntu |
113 | 34 | 34 | ||
114 | 35 | Package: libgnomevfs2-common | 35 | Package: libgnomevfs2-common |
116 | 36 | Architecture: all | 36 | Architecture: any |
117 | 37 | Multi-Arch: foreign | ||
118 | 37 | Depends: ${misc:Depends}, | 38 | Depends: ${misc:Depends}, |
119 | 38 | shared-mime-info | 39 | shared-mime-info |
120 | 39 | Conflicts: gnome-panel (<< 2.10.0), | 40 | Conflicts: gnome-panel (<< 2.10.0), |
121 | @@ -51,6 +52,8 @@ | |||
122 | 51 | 52 | ||
123 | 52 | Package: libgnomevfs2-0 | 53 | Package: libgnomevfs2-0 |
124 | 53 | Architecture: any | 54 | Architecture: any |
125 | 55 | Multi-Arch: same | ||
126 | 56 | Pre-Depends: ${misc:Pre-Depends} | ||
127 | 54 | Depends: ${shlibs:Depends}, | 57 | Depends: ${shlibs:Depends}, |
128 | 55 | ${misc:Depends}, | 58 | ${misc:Depends}, |
129 | 56 | dbus (>= 0.90), | 59 | dbus (>= 0.90), |
130 | @@ -58,7 +61,8 @@ | |||
131 | 58 | libgnomevfs2-common (<< ${gnome:NextVersion}) | 61 | libgnomevfs2-common (<< ${gnome:NextVersion}) |
132 | 59 | Recommends: dbus-x11 | 62 | Recommends: dbus-x11 |
133 | 60 | Suggests: libgnomevfs2-bin, libgnomevfs2-extra, gamin | fam | 63 | Suggests: libgnomevfs2-bin, libgnomevfs2-extra, gamin | fam |
135 | 61 | Replaces: libgnomevfs2-common (<< 2.12.2-4) | 64 | Replaces: libgnomevfs2-common (<< 1:2.24.4-1) |
136 | 65 | Breaks: libgnomevfs2-common (<< 1:2.24.4-1) | ||
137 | 62 | Conflicts: libbonobo2-0 (<< 2.15.0) | 66 | Conflicts: libbonobo2-0 (<< 2.15.0) |
138 | 63 | Description: GNOME Virtual File System (runtime libraries) | 67 | Description: GNOME Virtual File System (runtime libraries) |
139 | 64 | GNOME VFS is the GNOME virtual file system. It is the foundation of the | 68 | GNOME VFS is the GNOME virtual file system. It is the foundation of the |
140 | @@ -72,6 +76,7 @@ | |||
141 | 72 | 76 | ||
142 | 73 | Package: libgnomevfs2-bin | 77 | Package: libgnomevfs2-bin |
143 | 74 | Architecture: any | 78 | Architecture: any |
144 | 79 | Multi-Arch: foreign | ||
145 | 75 | Depends: ${shlibs:Depends}, | 80 | Depends: ${shlibs:Depends}, |
146 | 76 | ${misc:Depends} | 81 | ${misc:Depends} |
147 | 77 | Replaces: libgnomevfs2-common (<< 2.12.2-4) | 82 | Replaces: libgnomevfs2-common (<< 2.12.2-4) |
148 | @@ -87,6 +92,8 @@ | |||
149 | 87 | 92 | ||
150 | 88 | Package: libgnomevfs2-extra | 93 | Package: libgnomevfs2-extra |
151 | 89 | Architecture: any | 94 | Architecture: any |
152 | 95 | Multi-Arch: same | ||
153 | 96 | Pre-Depends: ${misc:Pre-Depends} | ||
154 | 90 | Depends: ${shlibs:Depends}, | 97 | Depends: ${shlibs:Depends}, |
155 | 91 | ${misc:Depends}, | 98 | ${misc:Depends}, |
156 | 92 | libgnomevfs2-common (>= ${gnome:Version}), | 99 | libgnomevfs2-common (>= ${gnome:Version}), |
157 | @@ -127,7 +134,9 @@ | |||
158 | 127 | 134 | ||
159 | 128 | Package: libgnomevfs2-dev | 135 | Package: libgnomevfs2-dev |
160 | 129 | Architecture: any | 136 | Architecture: any |
161 | 137 | Multi-Arch: same | ||
162 | 130 | Section: libdevel | 138 | Section: libdevel |
163 | 139 | Pre-Depends: ${misc:Pre-Depends} | ||
164 | 131 | Depends: libgnomevfs2-0 (= ${binary:Version}), | 140 | Depends: libgnomevfs2-0 (= ${binary:Version}), |
165 | 132 | ${misc:Depends}, | 141 | ${misc:Depends}, |
166 | 133 | libgconf2-dev (>= 2.8.0-1), | 142 | libgconf2-dev (>= 2.8.0-1), |
167 | 134 | 143 | ||
168 | === modified file 'debian/libgnomevfs2-0.install' | |||
169 | --- debian/libgnomevfs2-0.install 2008-11-12 17:28:27 +0000 | |||
170 | +++ debian/libgnomevfs2-0.install 2012-08-10 13:20:34 +0000 | |||
171 | @@ -1,3 +1,3 @@ | |||
175 | 1 | debian/tmp/usr/lib/libgnomevfs-2.so.* | 1 | debian/tmp/usr/lib/*/libgnomevfs-2.so.* |
176 | 2 | debian/tmp/usr/lib/gnome-vfs-2.0/gnome-vfs-daemon | 2 | debian/tmp/usr/lib/*/gnome-vfs-2.0/gnome-vfs-daemon |
177 | 3 | debian/tmp/usr/lib/gnome-vfs-2.0/modules/lib{network,file,tar,computer,gzip,vfs-test,sftp,dns-sd}.so | 3 | debian/tmp/usr/lib/*/gnome-vfs-2.0/modules/lib{network,file,tar,computer,gzip,vfs-test,sftp,dns-sd}.so |
178 | 4 | 4 | ||
179 | === modified file 'debian/libgnomevfs2-dev.install' | |||
180 | --- debian/libgnomevfs2-dev.install 2008-11-12 17:28:27 +0000 | |||
181 | +++ debian/libgnomevfs2-dev.install 2012-08-10 13:20:34 +0000 | |||
182 | @@ -1,7 +1,7 @@ | |||
183 | 1 | debian/tmp/usr/include | 1 | debian/tmp/usr/include |
189 | 2 | debian/tmp/usr/lib/libgnomevfs-2.so | 2 | debian/tmp/usr/lib/*/libgnomevfs-2.so |
190 | 3 | debian/tmp/usr/lib/libgnomevfs-2.la | 3 | debian/tmp/usr/lib/*/libgnomevfs-2.la |
191 | 4 | debian/tmp/usr/lib/libgnomevfs-2.a | 4 | debian/tmp/usr/lib/*/libgnomevfs-2.a |
192 | 5 | debian/tmp/usr/lib/pkgconfig | 5 | debian/tmp/usr/lib/*/pkgconfig |
193 | 6 | debian/tmp/usr/lib/gnome-vfs-2.0/include | 6 | debian/tmp/usr/lib/*/gnome-vfs-2.0/include |
194 | 7 | debian/tmp/usr/share/gtk-doc/html/gnome-vfs-2.0/* usr/share/doc/libgnomevfs2-common/html/ | 7 | debian/tmp/usr/share/gtk-doc/html/gnome-vfs-2.0/* usr/share/doc/libgnomevfs2-common/html/ |
195 | 8 | 8 | ||
196 | === modified file 'debian/libgnomevfs2-extra.install' | |||
197 | --- debian/libgnomevfs2-extra.install 2008-11-12 17:28:27 +0000 | |||
198 | +++ debian/libgnomevfs2-extra.install 2012-08-10 13:20:34 +0000 | |||
199 | @@ -1,2 +1,2 @@ | |||
201 | 1 | debian/tmp/usr/lib/gnome-vfs-2.0/modules/lib{bzip2,smb,http,ftp}.so | 1 | debian/tmp/usr/lib/*/gnome-vfs-2.0/modules/lib{bzip2,smb,http,ftp}.so |
202 | 2 | debian/extra-modules.conf /etc/gnome-vfs-2.0/modules/ | 2 | debian/extra-modules.conf /etc/gnome-vfs-2.0/modules/ |
203 | 3 | 3 | ||
204 | === modified file 'debian/rules' | |||
205 | --- debian/rules 2011-06-10 17:38:40 +0000 | |||
206 | +++ debian/rules 2012-08-10 13:20:34 +0000 | |||
207 | @@ -19,12 +19,15 @@ | |||
208 | 19 | #debug lib | 19 | #debug lib |
209 | 20 | DEB_DH_STRIP_ARGS := --dbg-package=libgnomevfs2-0-dbg | 20 | DEB_DH_STRIP_ARGS := --dbg-package=libgnomevfs2-0-dbg |
210 | 21 | 21 | ||
211 | 22 | DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) | ||
212 | 23 | |||
213 | 22 | DEB_CONFIGURE_EXTRA_FLAGS := --enable-gtk-doc \ | 24 | DEB_CONFIGURE_EXTRA_FLAGS := --enable-gtk-doc \ |
214 | 23 | --enable-gnutls \ | 25 | --enable-gnutls \ |
215 | 24 | --enable-avahi \ | 26 | --enable-avahi \ |
216 | 25 | --disable-openssl \ | 27 | --disable-openssl \ |
217 | 26 | --disable-hal \ | 28 | --disable-hal \ |
219 | 27 | --libexecdir=/usr/lib/gnome-vfs-2.0 \ | 29 | --libexecdir=/usr/lib/$(DEB_HOST_MULTIARCH)/gnome-vfs-2.0 \ |
220 | 30 | --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ | ||
221 | 28 | $(HOST_ARCH_CONFIGURE_FLAGS) | 31 | $(HOST_ARCH_CONFIGURE_FLAGS) |
222 | 29 | 32 | ||
223 | 30 | DEB_CONFIGURE_SCRIPT_ENV += LDFLAGS="-Wl,--as-needed" | 33 | DEB_CONFIGURE_SCRIPT_ENV += LDFLAGS="-Wl,--as-needed" |
While I have not done multiarch transitions myself, I read through the various documentation and wonder why libgnomevfs2-bin uses 'Multi-Arch: foreign'. Shouldn't this be 'Multi-Arch: same' because libgnomevfs2-bin provides binaries in /usr/bin (and in debian/control* uses 'Architecture: any' as opposed to 'all') and therfore does not meet the "one copy of this package, of any architecture, is sufficient to satisfy the needs of the runtime library package of every architecture" as per http:// wiki.debian. org/Multiarch/ Implementation# Converting_ your_package_ for_multiarch?
Otherwise, it looks like there is an approporiate use of Breaks, Replaces, Pre-Depends, etc. The files install to the correct places and the pc files look ok by visual inspection.