[opensuse-factory] proper way to link packages in openSUSE:Tumbleweed

Hi Adrian, We talked at brainshare about the "correct" way to link packages in Tumbleweed, and unfortunatly, I forgot one of the steps as I can't get it to work now. Here's what I remember: - look up the xsrcmd5 from the "root" package. For example, in the X11:xfce midori package I would do something like: osc api /source/X11:xfce/midori | grep linkinfo | pick out xsrcmd5 (where 'pick out' is a regex) - then run 'osc setlinkrev' with that md5 in the Tumbleweed repo. It's that last step that I can't seem to get correct, what is the exact command for it? I tried something like: $ osc setlinkrev -r bc383278250a5673d3799c2b31c9e6ef openSUSE:Tumbleweed filesystem setting revision to bc383278250a5673d3799c2b31c9e6ef for package filesystem Server returned an error: HTTP Error 400: Base System/filesystem/bc383278250a5673d3799c2b31c9e6ef not in repository. Either not existing or misconfigured server setting for '$nosharedtrees' setting in BSConfig.pm Base:System/filesystem/bc383278250a5673d3799c2b31c9e6ef: not in repository. Either not existing or misconfigured server setting for '$nosharedtrees' setting in BSConfig.pm Any hints would be appreciated. thanks, greg k-h -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On 10/17/2011 07:30 PM, Greg KH wrote:
Hi Adrian,
We talked at brainshare about the "correct" way to link packages in Tumbleweed, and unfortunatly, I forgot one of the steps as I can't get it to work now.
Here's what I remember:
- look up the xsrcmd5 from the "root" package. For example, in the X11:xfce midori package I would do something like: osc api /source/X11:xfce/midori | grep linkinfo | pick out xsrcmd5
(where 'pick out' is a regex)
- then run 'osc setlinkrev' with that md5 in the Tumbleweed repo.
It's that last step that I can't seem to get correct, what is the exact command for it? I tried something like:
$ osc setlinkrev -r bc383278250a5673d3799c2b31c9e6ef openSUSE:Tumbleweed filesystem setting revision to bc383278250a5673d3799c2b31c9e6ef for package filesystem Server returned an error: HTTP Error 400: Base System/filesystem/bc383278250a5673d3799c2b31c9e6ef not in repository. Either not existing or misconfigured server setting for '$nosharedtrees' setting in BSConfig.pm Base:System/filesystem/bc383278250a5673d3799c2b31c9e6ef: not in repository. Either not existing or misconfigured server setting for '$nosharedtrees' setting in BSConfig.pm
Any hints would be appreciated.
Hi, I tried that right now, and it works for me: $ osc linkpac -f multimedia:libs libmatroska home:jirislaby:tumbleweed Sending meta data... Done. Creating _link... Done. $ osc api /source/multimedia:libs/libmatroska/ | \
sed -n 's@^.*linkinfo.*xsrcmd5="([0-9a-f]*)".*$@\1@ p' 7023adeac24e3401730a9731b340aac3 $ osc setlinkrev -r 7023adeac24e3401730a9731b340aac3 home:jirislaby:tumbleweed libmatroska setting revision to 7023adeac24e3401730a9731b340aac3 for package libmatroska
Could you retry? (I tried midori too...) regards, -- js suse labs -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

Am Dienstag, 1. November 2011, 10:24:53 schrieb Jiri Slaby:
On 10/17/2011 07:30 PM, Greg KH wrote:
Hi Adrian,
We talked at brainshare about the "correct" way to link packages in Tumbleweed, and unfortunatly, I forgot one of the steps as I can't get it to work now.
Here's what I remember:
look up the xsrcmd5 from the "root" package. For example, in the
X11:xfce midori package I would do something like: osc api /source/X11:xfce/midori | grep linkinfo | pick out xsrcmd5
(where 'pick out' is a regex)
- then run 'osc setlinkrev' with that md5 in the Tumbleweed repo.
hm, just running osc setlinkrev $PROJECT $PACKAGE or inside of a checked out package is setting it to the current xsrcmd5. No need to lookup it yourself. Alternative solution would be to run osc api /source/X11:xfce/midori?expand=1 and pick srcmd5 from directory, this is the effective sourcemd5 of the merged sources. Or, maybe best way would be to use the srcmd5 of last successful build: osc api /build/X11:xfce/openSUSE_Factory/i586/midori/_history only successfull builds are in this history. this is also the merged source md5.
It's that last step that I can't seem to get correct, what is the exact command for it? I tried something like:
$ osc setlinkrev -r bc383278250a5673d3799c2b31c9e6ef openSUSE:Tumbleweed filesystem setting revision to bc383278250a5673d3799c2b31c9e6ef for package filesystem Server returned an error: HTTP Error 400: Base System/filesystem/bc383278250a5673d3799c2b31c9e6ef not in repository. Either not existing or misconfigured server setting for '$nosharedtrees' setting in BSConfig.pm Base:System/filesystem/bc383278250a5673d3799c2b31c9e6ef: not in repository. Either not existing or misconfigured server setting for '$nosharedtrees' setting in BSConfig.pm
Any hints would be appreciated.
Hi, I tried that right now, and it works for me: $ osc linkpac -f multimedia:libs libmatroska home:jirislaby:tumbleweed Sending meta data... Done. Creating _link... Done. $ osc api /source/multimedia:libs/libmatroska/ | \
sed -n 's@^.*linkinfo.*xsrcmd5="([0-9a-f]*)".*$@\1@ p'
7023adeac24e3401730a9731b340aac3 $ osc setlinkrev -r 7023adeac24e3401730a9731b340aac3 home:jirislaby:tumbleweed libmatroska setting revision to 7023adeac24e3401730a9731b340aac3 for package libmatroska
Could you retry? (I tried midori too...)
regards,
Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Tue, Nov 01, 2011 at 12:32:30PM +0100, Adrian Schröter wrote:
Am Dienstag, 1. November 2011, 10:24:53 schrieb Jiri Slaby:
On 10/17/2011 07:30 PM, Greg KH wrote:
Hi Adrian,
We talked at brainshare about the "correct" way to link packages in Tumbleweed, and unfortunatly, I forgot one of the steps as I can't get it to work now.
Here's what I remember:
look up the xsrcmd5 from the "root" package. For example, in the
X11:xfce midori package I would do something like: osc api /source/X11:xfce/midori | grep linkinfo | pick out xsrcmd5
(where 'pick out' is a regex)
- then run 'osc setlinkrev' with that md5 in the Tumbleweed repo.
hm, just running
osc setlinkrev $PROJECT $PACKAGE
or inside of a checked out package is setting it to the current xsrcmd5. No need to lookup it yourself.
Alternative solution would be to run
osc api /source/X11:xfce/midori?expand=1
and pick srcmd5 from directory, this is the effective sourcemd5 of the merged sources.
That seems to be the best one.
Or, maybe best way would be to use the srcmd5 of last successful build:
osc api /build/X11:xfce/openSUSE_Factory/i586/midori/_history
only successfull builds are in this history. this is also the merged source md5.
Hm, that command doesn't work for me here: $ osc api /build/devel:tools:scm/openSUSE_Factory/quilt/_history Server returned an error: HTTP Error 404: Not Found devel:tools:scm/_history I'm guessing that this requires the build repo to also be known for a specific package? Anyway, the srcmd5 from the /source/ directory command above seems to work well for what we need. If the package isn't building properly in the repo, we shouldn't be taking it in the first place :) thanks, greg k-h -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On 01/11/2012 11:05 PM, Greg KH wrote:
Or, maybe best way would be to use the srcmd5 of last successful build:
osc api /build/X11:xfce/openSUSE_Factory/i586/midori/_history
only successfull builds are in this history. this is also the merged source md5.
Hm, that command doesn't work for me here: $ osc api /build/devel:tools:scm/openSUSE_Factory/quilt/_history Server returned an error: HTTP Error 404: Not Found devel:tools:scm/_history
There seems to be arch missing in that path. Like: /build/devel:tools:scm/openSUSE_Factory/x86_64/quilt/ Anyway this requires us to know both the arch and the build repo (factory in this case). And that is not stable over packages in the BS. regards, -- js suse labs -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Tue, Nov 01, 2011 at 10:24:53AM +0100, Jiri Slaby wrote:
On 10/17/2011 07:30 PM, Greg KH wrote:
Hi Adrian,
We talked at brainshare about the "correct" way to link packages in Tumbleweed, and unfortunatly, I forgot one of the steps as I can't get it to work now.
Here's what I remember:
- look up the xsrcmd5 from the "root" package. For example, in the X11:xfce midori package I would do something like: osc api /source/X11:xfce/midori | grep linkinfo | pick out xsrcmd5
(where 'pick out' is a regex)
- then run 'osc setlinkrev' with that md5 in the Tumbleweed repo.
It's that last step that I can't seem to get correct, what is the exact command for it? I tried something like:
$ osc setlinkrev -r bc383278250a5673d3799c2b31c9e6ef openSUSE:Tumbleweed filesystem setting revision to bc383278250a5673d3799c2b31c9e6ef for package filesystem Server returned an error: HTTP Error 400: Base System/filesystem/bc383278250a5673d3799c2b31c9e6ef not in repository. Either not existing or misconfigured server setting for '$nosharedtrees' setting in BSConfig.pm Base:System/filesystem/bc383278250a5673d3799c2b31c9e6ef: not in repository. Either not existing or misconfigured server setting for '$nosharedtrees' setting in BSConfig.pm
Any hints would be appreciated.
Hi, I tried that right now, and it works for me: $ osc linkpac -f multimedia:libs libmatroska home:jirislaby:tumbleweed Sending meta data... Done. Creating _link... Done. $ osc api /source/multimedia:libs/libmatroska/ | \
sed -n 's@^.*linkinfo.*xsrcmd5="([0-9a-f]*)".*$@\1@ p' 7023adeac24e3401730a9731b340aac3 $ osc setlinkrev -r 7023adeac24e3401730a9731b340aac3 home:jirislaby:tumbleweed libmatroska setting revision to 7023adeac24e3401730a9731b340aac3 for package libmatroska
Could you retry? (I tried midori too...)
Ok, the problem I was having is that 'osc setlinkrev' does not work when you do not have the package in the repo in the first place. So I "fake" it out, buy doing a 'osc linkpac' first, to copy the package into the repo, then set it to the correct version by doing a 'osc setlinkrev' and all seems good. Thanks for the sed script there, that works much better than my mess of 'cut' and 'grep' commands I was using to hand-pick out the field value. I'll run this on openSUSE:Tumbleweed:Testing, and if all looks good, redo the links in openSUSE:Tumbleweed (I see you did this already for the kernel-firmware package), and then we should be good to go for puting more packages into Tumbleweed now. thanks again, greg k-h -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 01/11/2012 11:01 PM, Greg KH wrote:
So I "fake" it out, buy doing a 'osc linkpac' first, to copy the package into the repo, then set it to the correct version by doing a 'osc setlinkrev' and all seems good.
Actually, Adrian is there a difference between linkpac -c and linkpac followed by setlinkrev? (I didn't try, just read the manpages.)
I'll run this on openSUSE:Tumbleweed:Testing, and if all looks good, redo the links in openSUSE:Tumbleweed (I see you did this already for the kernel-firmware package)
I accidentaly deleted the package when fixing the cicount issue. (I linked it unintentionally to kernel-source the same as the other kernel-* packages). So I used linkpac+setlinkrev to get it back. , and then we should be good to go for
puting more packages into Tumbleweed now.
thanks again,
You are welcome! - -- js suse labs -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJPDgq6AAoJEL0lsQQGtHBJX00P/A1kbCsLbHtiwKCUtx8D8+Aq zZooyGiiJ8VFA86Qkw7OPXHfzvCDfDxfCCatmcvxtipUx2whg14xckeZ3nXDVwvY zOImf8+YexaBnxx5VXMcnBSVrHSQeCs95luWGok3SlanMFhUzmZK5qOQQqoZoOA3 ApXkSbLqD9HRo2zCjUUNVcyOVyz+hb6BXrxBSWdSZMMEy8sYH4Ugl/QmiciCNSDB PbfxCcNwf5GTfAciX/PpYemFW9M73LEAaJUVfVk79hXqebfCHhIaApIVpa4wsD/x S1Xw20nlBuTHHe5kWTmRpacPRGfSCAndVRz6/GluqKLXclT0Es2rMjqMzKJ7sj4Q m0MHuUH+YuRnFOYuDTwM1OSDO7k9oOOUicOj8f8spTs/N79/AsJcy31Kwp/1bQlW 0QYsKRyfbQFP0o8MIc6szi1lNnDTr0VxSZhB6U/WaqEws9I+/O40AvxQlu9eFrOw 6wIM70N1S0QhDTLB9keurSk0CxfX83FxnmkrTQm5wC3weXuJEWYtqEX9f6eItjn/ xdZysU13ylz2/faZdyoOmWMVW544pUfC+JyTJD1C3TtZITQBdwiO2HDvA9J5ikq+ WWeCXNWmd+J8uC10hBjBnYu5SEaf/cTXl94rvCD9rdOYX9LQfDkJHQC72dMKXYvC FwqkYiGIgUNl5bq0h3Yg =pJIy -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

Am Mittwoch, 11. Januar 2012, 23:18:34 schrieb Jiri Slaby:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 01/11/2012 11:01 PM, Greg KH wrote:
So I "fake" it out, buy doing a 'osc linkpac' first, to copy the package into the repo, then set it to the correct version by doing a 'osc setlinkrev' and all seems good.
Actually, Adrian is there a difference between linkpac -c and linkpac followed by setlinkrev? (I didn't try, just read the manpages.)
It should not. setlinkrev just can get used also afterwards to update the revision to current one. -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (3)
-
Adrian Schröter
-
Greg KH
-
Jiri Slaby