Re: Depends on exact version
Daniel Lintott wrote: > On Sun, Nov 16, 2014 at 02:39:15PM +0100, Andreas Metzler wrote: >> Daniel Lintott wrote: >>> I have a package which is split into two sources (a server and >>> gui). The server version should match the gui version (upstream >>> version) at all times. [...] > The metapackage is needed to provide an upgrade route from the GNS3 > 0.8.x [1] to the new GNS3 1.x which is split into a gui/server. > Obviouosly it's preferred for existing users of GNS3 to upgrade to > the new version, as the old version (what will become gns3-legacy) > is no longer in active development. [...] Hello, I see. I do not understand, though, why you need something more strict/complicated than a simple - Package: metapackage Architecture: all Depends: server (>= ${binary:Version}, client (>= ${binary:Version}) - cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/lgo5kb-gcj@argenau.downhill.at.eu.org
Re: Depends on exact version
On Sun, Nov 16, 2014 at 02:39:15PM +0100, Andreas Metzler wrote: > Daniel Lintott wrote: > > I have a package which is split into two sources (a server and gui). The > > server version should match the gui version (upstream version) at all times. > > > Because of this when I'm creating the meta-package that will depend on > > both the gui and server, should be versioned to to be the same upstream > > version. > [...] > > Hello, > > can you add a little bit more info? Are server and GUI running > on the same machine? If they are, there is no need for the > metapackage, the GUI package can simply depend on the server. OTOH if > they can run (and usualy do run) on different machines a meta-package > that syncs server and gui on a single machine would not help. > The server and GUI *can* be run on the same machine (and most users probably will), but there is also the a high possibility that a user will want to run the server seperately from the GUI (maybe even running the GUI on Windows/Mac). The metapackage is needed to provide an upgrade route from the GNS3 0.8.x [1] to the new GNS3 1.x which is split into a gui/server. Obviouosly it's preferred for existing users of GNS3 to upgrade to the new version, as the old version (what will become gns3-legacy) is no longer in active development. But upstream (whom I'm involved with) are well aware that a user may wish to continure using the older version for, which is largely bug free (O bugs on Debain Bug Tracker). Hope that explains it! Regards Daniel [1] http://tracker.debian.org/gns3 -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20141117193852.ga...@mail.serverb.co.uk
Re: Depends on exact version
Daniel Lintott wrote: > I have a package which is split into two sources (a server and gui). The > server version should match the gui version (upstream version) at all times. > Because of this when I'm creating the meta-package that will depend on > both the gui and server, should be versioned to to be the same upstream > version. [...] Hello, can you add a little bit more info? Are server and GUI running on the same machine? If they are, there is no need for the metapackage, the GUI package can simply depend on the server. OTOH if they can run (and usualy do run) on different machines a meta-package that syncs server and gui on a single machine would not help. cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/11mmjb-9vl@argenau.downhill.at.eu.org
Re: Depends on exact version
Hi Daniel, On 13.11.2014 11:29, Daniel Lintott wrote: On 12/11/14 22:40, Andreas Cadhalpun wrote: What should work better is '>= ${source:Upstream-Version}'. However, that is not enough to guarantee that the upstream versions always match. One could then have e.g.: gns3= 1.1-1 gns3-gui= 1.1-1 gns3-server = 1.2-1 If you want to prevent that, you can add appropriate Breaks: gns3-server: Breaks: gns3-gui (< ${source:Upstream-Version}) gns3-gui: Breaks: gns3-server (< ${source:Upstream-Version}) I presume this should << since < is deprecated? Of course. ;) Would this also need breaks on the greater than side. No. Assume you have: gns3= 1.1-1 gns3-gui= 1.1-1 gns3-server = 1.1-1 Then you install gns3-gui (= 1.2-1). This breaks gns3-server (<< 1.2) and thus gns3-server gets updated as well. You might want to add similar Breaks for gns3 as well, so that it also gets updated. What I'm trying to ensure is that the upstream versions match, the checks in the gui (that check server version) aren't worried about Debian revision. If it's possible to do this, without having to change the breaks manually each time it would definitely be preferably! That should work with above dependency relations. Best regards, Andreas -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/54652f00.3070...@googlemail.com
Re: Depends on exact version
> binNMUs will cause a few of the binary packages to have a different > debian revision than the rest of the binary packages and the source > packages. > > We have a lintian check for this, I think. Is it not-binnmuable-all-depends-any? I should've remembered that one, because I use the fix that is suggested there. Regards, Roger
Re: Depends on exact version
On Wed, 12 Nov 2014, Henrique de Moraes Holschuh wrote: > On Wed, 12 Nov 2014, Roger Light wrote: > > Could you try ${binary:Version} instead? > > (= ${binary:Version}) can break binNMUs. Be careful. binNMUs will cause a few of the binary packages to have a different debian revision than the rest of the binary packages and the source packages. We have a lintian check for this, I think. One seldom known detail is that the source package version is just a *default* value for the binary package versions. You can override it during build. It is not just binNMUs. This is a valid scenario: source package foo builds binary packages foo_data, foo_dt2, foo and dt2. source package: foo 1.2.3+setone-1 foo_data:all 1.2.3-1 foo_dt2:all setone-1 foo:i386: 1.2.3-1 foo:arm64: 1.2.3-1+b1 dt2:i386: setone-1 dt2:arm64: setone-1+b1 All built from the same source, but both dt2 and foo were subject to a binNMU later. dt2 and foo have separate versioning. This is not usual, but it is both valid and supported. Here's a real life example: package hplip used to do this when hplip and hpijs started being packaged together by upstream. It took a while and several releases before upstream moved hpijs to the same version numbering as hplip. -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20141113110346.gd19...@khazad-dum.debian.net
Re: Depends on exact version
On 12/11/14 23:32, Henrique de Moraes Holschuh wrote: > On Wed, 12 Nov 2014, Roger Light wrote: >> Could you try ${binary:Version} instead? > > (= ${binary:Version}) can break binNMUs. Be careful. > Indeed, I am keen to try and avoid any breakages like that. I also don't think the above would work for this for example: GUI 1.1-1 and Server 1.1-1 = OK GUI 1.1-2 and Server 1.1-4 = OK GUI 1.1-1 and Server 1.2-1 = Not OK Regards Daniel signature.asc Description: OpenPGP digital signature
Re: Depends on exact version
On 12/11/14 22:40, Andreas Cadhalpun wrote: > [...] > > You require the exact upstream version (1.1). > This can't work, because there will always be the Debian revision added > (1.1-1~exp1). > I had a suspicion that this was why, but wasn't sure. > What should work better is '>= ${source:Upstream-Version}'. > > However, that is not enough to guarantee that the upstream versions > always match. One could then have e.g.: > gns3= 1.1-1 > gns3-gui= 1.1-1 > gns3-server = 1.2-1 > > If you want to prevent that, you can add appropriate Breaks: > gns3-server: > Breaks: gns3-gui (< ${source:Upstream-Version}) > gns3-gui: > Breaks: gns3-server (< ${source:Upstream-Version}) > I presume this should << since < is deprecated? Would this also need breaks on the greater than side. What I'm trying to ensure is that the upstream versions match, the checks in the gui (that check server version) aren't worried about Debian revision. If it's possible to do this, without having to change the breaks manually each time it would definitely be preferably! Regards Daniel signature.asc Description: OpenPGP digital signature
Re: Depends on exact version
On Wed, 12 Nov 2014, Roger Light wrote: > Could you try ${binary:Version} instead? (= ${binary:Version}) can break binNMUs. Be careful. -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20141112233246.ga19...@khazad-dum.debian.net
Re: Depends on exact version
Hi Daniel, Could you try ${binary:Version} instead? Cheers, Roger On Wed, Nov 12, 2014 at 9:30 PM, Daniel Lintott wrote: > I have a package which is split into two sources (a server and gui). The > server version should match the gui version (upstream version) at all times. > > Because of this when I'm creating the meta-package that will depend on > both the gui and server, should be versioned to to be the same upstream > version. > > To try and achieve this I've used the following: > >> Depends: ${misc:Depends}, >> gns3-gui (= ${source:Upstream-Version}), >> gns3-server (= ${source:Upstream-Version}) > > as I'm not worried about what the Debian revision is... but this doesn't > seem to work when it comes to aptitude. > >> Some packages could not be installed. This may mean that you have >> requested an impossible situation or if you are using the unstable >> distribution that some required packages have not yet been created >> or been moved out of Incoming. >> The following information may help to resolve the situation: >> >> The following packages have unmet dependencies: >> gns3 : Depends: gns3-gui (= 1.1) but it is not going to be installed >> Depends: gns3-server (= 1.1) but it is not going to be installed >> E: Unable to correct problems, you have held broken packages. > > From apt-cache policy gns3-*: > >> gns3-gui: >> Installed: (none) >> Candidate: 1.1-1~exp1 >> Version table: >> 1.1-1~exp1 0 >> 100 http://echo.internal.serverb.co.uk/debian/ experimental/contrib >> amd64 Packages > >> gns3-server: >> Installed: (none) >> Candidate: 1.1-1~exp1 >> Version table: >> 1.1-1~exp1 0 >> 100 http://echo.internal.serverb.co.uk/debian/ experimental/contrib >> amd64 Packages > > Any idea where I've gone wrong here? > > Regards > > Daniel > -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/cah7zdyd8r8gc-vett0iwbbewkd+peu3mvc_zz9cb3wvtqro...@mail.gmail.com
Re: Depends on exact version
Hi Daniel, On 12.11.2014 22:30, Daniel Lintott wrote: I have a package which is split into two sources (a server and gui). The server version should match the gui version (upstream version) at all times. Because of this when I'm creating the meta-package that will depend on both the gui and server, should be versioned to to be the same upstream version. To try and achieve this I've used the following: Depends: ${misc:Depends}, gns3-gui (= ${source:Upstream-Version}), gns3-server (= ${source:Upstream-Version}) [...] Any idea where I've gone wrong here? You require the exact upstream version (1.1). This can't work, because there will always be the Debian revision added (1.1-1~exp1). What should work better is '>= ${source:Upstream-Version}'. However, that is not enough to guarantee that the upstream versions always match. One could then have e.g.: gns3= 1.1-1 gns3-gui= 1.1-1 gns3-server = 1.2-1 If you want to prevent that, you can add appropriate Breaks: gns3-server: Breaks: gns3-gui (< ${source:Upstream-Version}) gns3-gui: Breaks: gns3-server (< ${source:Upstream-Version}) Best regards, Andreas -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/5463e1dd.7040...@googlemail.com
Depends on exact version
I have a package which is split into two sources (a server and gui). The server version should match the gui version (upstream version) at all times. Because of this when I'm creating the meta-package that will depend on both the gui and server, should be versioned to to be the same upstream version. To try and achieve this I've used the following: > Depends: ${misc:Depends}, > gns3-gui (= ${source:Upstream-Version}), > gns3-server (= ${source:Upstream-Version}) as I'm not worried about what the Debian revision is... but this doesn't seem to work when it comes to aptitude. > Some packages could not be installed. This may mean that you have > requested an impossible situation or if you are using the unstable > distribution that some required packages have not yet been created > or been moved out of Incoming. > The following information may help to resolve the situation: > > The following packages have unmet dependencies: > gns3 : Depends: gns3-gui (= 1.1) but it is not going to be installed > Depends: gns3-server (= 1.1) but it is not going to be installed > E: Unable to correct problems, you have held broken packages. From apt-cache policy gns3-*: > gns3-gui: > Installed: (none) > Candidate: 1.1-1~exp1 > Version table: > 1.1-1~exp1 0 > 100 http://echo.internal.serverb.co.uk/debian/ experimental/contrib > amd64 Packages > gns3-server: > Installed: (none) > Candidate: 1.1-1~exp1 > Version table: > 1.1-1~exp1 0 > 100 http://echo.internal.serverb.co.uk/debian/ experimental/contrib > amd64 Packages Any idea where I've gone wrong here? Regards Daniel signature.asc Description: OpenPGP digital signature