|
|
DescriptionAdd dpkg control files to debian sysroot images
This is useful for running dpkg-shlibdeps against
the sysroot image.
TEST=build/linux/sysroot_scripts/sysroot-creator-jessie.sh BuildSysrootAll
BUG=564904
Patch Set 1 #Patch Set 2 : . #Messages
Total messages: 14 (2 generated)
sbc@chromium.org changed reviewers: + thestig@chromium.org
What do you think of this solution?
This is so we don't have to generate the dpkg admin dir, e.g. with https://codereview.chromium.org/2391573005/, right?
On 2016/10/05 01:21:39, Lei Zhang wrote: > This is so we don't have to generate the dpkg admin dir, e.g. with > https://codereview.chromium.org/2391573005/, right? I hope so yes. Don't you agree that the shlib deps should be derived from the sysroot?
On 2016/10/05 01:27:45, Sam Clegg wrote: > On 2016/10/05 01:21:39, Lei Zhang wrote: > > This is so we don't have to generate the dpkg admin dir, e.g. with > > https://codereview.chromium.org/2391573005/, right? > > I hope so yes. Don't you agree that the shlib deps should be derived from the > sysroot? My hope is that we can remove all references to precise and trusty from the build and depend purely on the sysroot (wheezy or jessie).
On 2016/10/05 01:27:45, Sam Clegg wrote: > On 2016/10/05 01:21:39, Lei Zhang wrote: > > This is so we don't have to generate the dpkg admin dir, e.g. with > > https://codereview.chromium.org/2391573005/, right? > > I hope so yes. Don't you agree that the shlib deps should be derived from the > sysroot? Yes, sounds good and lgtm, but let's make sure those CC'd agree.
On 2016/10/05 01:34:22, Lei Zhang wrote: > On 2016/10/05 01:27:45, Sam Clegg wrote: > > On 2016/10/05 01:21:39, Lei Zhang wrote: > > > This is so we don't have to generate the dpkg admin dir, e.g. with > > > https://codereview.chromium.org/2391573005/, right? > > > > I hope so yes. Don't you agree that the shlib deps should be derived from > the > > sysroot? > > Yes, sounds good and lgtm, but let's make sure those CC'd agree. Actually it looks like this is not enough to make dpkg-shlibdeps happy :( We would need and even more genuine sysroot to make it work... I will look into that.
Description was changed from ========== Add dpkg control files to debian sysroot images This is useful for running dpkg-shlibdeps against the sysroot image. TEST=build/linux/sysroot_scripts/sysroot-creator-jessie.sh BuildSysrootAll BUG=564904 ========== to ========== Add dpkg control files to debian sysroot images This is useful for running dpkg-shlibdeps against the sysroot image. TEST=build/linux/sysroot_scripts/sysroot-creator-jessie.sh BuildSysrootAll BUG=564904 ==========
On 2016/10/05 01:35:50, Sam Clegg wrote: > On 2016/10/05 01:34:22, Lei Zhang wrote: > > On 2016/10/05 01:27:45, Sam Clegg wrote: > > > On 2016/10/05 01:21:39, Lei Zhang wrote: > > > > This is so we don't have to generate the dpkg admin dir, e.g. with > > > > https://codereview.chromium.org/2391573005/, right? > > > > > > I hope so yes. Don't you agree that the shlib deps should be derived from > > the > > > sysroot? > > > > Yes, sounds good and lgtm, but let's make sure those CC'd agree. > > Actually it looks like this is not enough to make dpkg-shlibdeps happy :( > > We would need and even more genuine sysroot to make it work... I will look into > that. This is the solution I had in mind Are you creating a status file in /var/lib/dpkg? I think you can just copy each DEBIAN/control file and add the line "Status install ok installed" to each package also +dpranke@
On 2016/10/05 01:35:50, Sam Clegg wrote: > On 2016/10/05 01:34:22, Lei Zhang wrote: > > On 2016/10/05 01:27:45, Sam Clegg wrote: > > > On 2016/10/05 01:21:39, Lei Zhang wrote: > > > > This is so we don't have to generate the dpkg admin dir, e.g. with > > > > https://codereview.chromium.org/2391573005/, right? > > > > > > I hope so yes. Don't you agree that the shlib deps should be derived from > > the > > > sysroot? > > > > Yes, sounds good and lgtm, but let's make sure those CC'd agree. > > Actually it looks like this is not enough to make dpkg-shlibdeps happy :( > > We would need and even more genuine sysroot to make it work... I will look into > that. What do you think about switching the sysroots we use over to more normal debian sysroots produced by "debootstrap"? We could drop a lot of the sysroot creation code that we currently have in place.. but we cede some control over the images I suppose? I think its probably the right way to go long term. In the short term I think perhaps we should just add expected_deps_trusty to chrome/installer/linux/debian/ get the bots updated.
On 2016/10/05 01:47:54, Sam Clegg wrote: > On 2016/10/05 01:35:50, Sam Clegg wrote: > > On 2016/10/05 01:34:22, Lei Zhang wrote: > > > On 2016/10/05 01:27:45, Sam Clegg wrote: > > > > On 2016/10/05 01:21:39, Lei Zhang wrote: > > > > > This is so we don't have to generate the dpkg admin dir, e.g. with > > > > > https://codereview.chromium.org/2391573005/, right? > > > > > > > > I hope so yes. Don't you agree that the shlib deps should be derived > from > > > the > > > > sysroot? > > > > > > Yes, sounds good and lgtm, but let's make sure those CC'd agree. > > > > Actually it looks like this is not enough to make dpkg-shlibdeps happy :( > > > > We would need and even more genuine sysroot to make it work... I will look > into > > that. > > What do you think about switching the sysroots we use over to more normal debian > sysroots produced by "debootstrap"? We could drop a lot of the sysroot creation > code that we currently have in place.. but we cede some control over the images > I suppose? I think its probably the right way to go long term. In the short > term I think perhaps we should just add expected_deps_trusty to > chrome/installer/linux/debian/ get the bots updated. Can you try the /var/lib/dpkg/status thing first? I think it should be a relatively painless change for now. Long term, I would definitely be interested in a chroot, and I'd be willing to dedicate some man-hours to it. dpranke@ what do you think about this?
On 2016/10/05 01:53:06, Tom Anderson wrote: > On 2016/10/05 01:47:54, Sam Clegg wrote: > > On 2016/10/05 01:35:50, Sam Clegg wrote: > > > On 2016/10/05 01:34:22, Lei Zhang wrote: > > > > On 2016/10/05 01:27:45, Sam Clegg wrote: > > > > > On 2016/10/05 01:21:39, Lei Zhang wrote: > > > > > > This is so we don't have to generate the dpkg admin dir, e.g. with > > > > > > https://codereview.chromium.org/2391573005/, right? > > > > > > > > > > I hope so yes. Don't you agree that the shlib deps should be derived > > from > > > > the > > > > > sysroot? > > > > > > > > Yes, sounds good and lgtm, but let's make sure those CC'd agree. > > > > > > Actually it looks like this is not enough to make dpkg-shlibdeps happy :( > > > > > > We would need and even more genuine sysroot to make it work... I will look > > into > > > that. > > > > What do you think about switching the sysroots we use over to more normal > debian > > sysroots produced by "debootstrap"? We could drop a lot of the sysroot > creation > > code that we currently have in place.. but we cede some control over the > images > > I suppose? I think its probably the right way to go long term. In the > short > > term I think perhaps we should just add expected_deps_trusty to > > chrome/installer/linux/debian/ get the bots updated. > > Can you try the /var/lib/dpkg/status thing first? I think it should be a > relatively painless change for now. > Long term, I would definitely be interested in a chroot, and I'd be willing to > dedicate some man-hours to it. dpranke@ what do you think about this? Yeah, I can try the status thing, but its more than just that file.. there are some other things that dpkg expects too I think. Its gonna getting pretty hacky pretty fast I think.
BTW, https://codereview.chromium.org/777533006/ was my other CL from way back when. Hope it's helpful?
On 2016/10/05 08:46:50, Lei Zhang wrote: > BTW, https://codereview.chromium.org/777533006/ was my other CL from way back > when. Hope it's helpful? I tried adding the hacking a status file together but it didn't solve the problem. I ended up with different errors from dpkg-shlibdeps: ``` Using shlibs+objdump for libXss.so.1 (file /usr/lib/x86_64-linux-gnu/libXss.so.1) Looking up shlibs dependency of libXss.so.1 provided by 'libxss1:amd64' Found libxss1 in /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot//var/lib/dpkg/info/libxss1.shlibs Using symbols file /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot//var/lib/dpkg/info/libxrandr2.symbols for libXrandr.so.2 Using symbols file /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot//var/lib/dpkg/info/libxfixes3.symbols for libXfixes.so.3 Using symbols file /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot//var/lib/dpkg/info/libasound2.symbols for libasound.so.2 Using symbols file /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot//var/lib/dpkg/info/libcups2.symbols for libcups.so.2 Using symbols file /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot//var/lib/dpkg/info/libxi6.symbols for libXi.so.6 dpkg-query: error: package 'libpangocairo-1.0-0' is not installed dpkg-shlibdeps: error: dpkg-query --control-path libpangocairo-1.0-0:amd64 symbols gave error exit status 2 ``` with LD_LIBRARY_PATH set to point to the sysroot libs: ``` No associated package found for /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 Using shlibs+objdump for libgdk_pixbuf-2.0.so.0 (file /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0) Looking up shlibs dependency of libgdk_pixbuf-2.0.so.0 provided by '' Found nothing dpkg-shlibdeps: error: no dependency information found for /usr/local/google/home/sbc/dev/chromium/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (used by /usr/local/google/home/sbc/dev/chromium/src/out/Release/chrome) ``` Makes me think perhaps this wouldn't work, even with a genuinely produced sysroot |