[12:20] <armpogart>  /
[15:24] <stlsaint> anyone around?
[15:27] <jtaylor> mter<
[15:29] <hakermania> Hello! the ubuntu-packaging channel seems down or something :P Well, I have this control file: http://paste.ubuntu.com/660535/ but when I build the DEB and then extract it, it includes this control file instead: http://paste.ubuntu.com/660537/
[15:30] <jtaylor> hakermania: thats normal
[15:30] <jtaylor> the control file gets changed by dpkg-gencontrol
[15:30] <hakermania> jtaylor: the latter control file installs both the depends and build-depends. Why?
[15:31] <jtaylor> it does not?
[15:31] <jtaylor> there are no -dev in the second paste
[15:32] <hakermania> jtaylor, i cannot understand why all the others except from imagemagick, mpg321 should be dependencies. These are the only ones that my program needs to run smoothly
[15:32] <jtaylor> the other dependencies are automatically determined and inserted in misc:Depends and shlibs:Depends
[15:33] <jtaylor> does dpkg-shlibdeps give warnings during the build?
[15:33] <hakermania> No
[15:33] <hakermania> I think so
[15:33] <hakermania> Wait to notice again
[15:33] <jtaylor> then its ok, dpkg-shlibs checks the binaries and determines all packages needed
[15:34] <stlsaint> would someone mind taking a look at these piuparts output: http://paste.debian.net/125307/
[15:34] <stlsaint> it looks like the test went ok but with some issues
[15:34] <hakermania> jtaylor, then its wrong! Really, I have installed my application only by copy pasting the appropriate files into the appropriate directories, installed imagemagick and mpg321 and runs OK!
[15:35] <hakermania> No other strange packages needed!
[15:36] <jtaylor> past objdump -p of your library/application
[15:37] <jtaylor> e.g. if its c++ libstdc++ is definetly needed
[15:39] <hakermania> jtaylor, yes, its c++
[15:41] <jtaylor> dpkg-shlibs is quite clever, it analyzes binaries and libraries (e.g. with objdump and nm) finds all needed symbols, compares these to available symbol files and automatically determines the packages providing them
[15:41] <jtaylor> greatly simplifies packaging of elf objects
[15:41] <jtaylor> not like in python where its quite tedious to find all dependencies
[15:43] <hakermania> jtaylor, bu tit is weird. This dependencies are run-time dependencies, right? Btw, this is the complete 'debuild' output: paste.ubuntu.com/660554
[15:44] <hakermania> jtaylor, and run-time dependencies are only the programs (packages) with which the program co-operates to have a satisfiable result!
[15:44] <jtaylor> -lcv -lhighgui -pthread -lnotify -lgdk_pixbuf-2.0 -lm -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lQtDBus -lQtGui -lQtCore -lpthread
[15:44] <jtaylor> thats where the dependencies come from
[15:45] <jtaylor> all these -l flags land in DT_NEEDED (see objectdump -p file)
[15:45] <jtaylor> and dpkg-shlibs finds the associated packages and adds them as dependencies
[15:45] <hakermania> jtaylor, yeah, you told it yourself, these are BUILD dependencies, they don't have to be installed when you install the DEB, because when you install the DEB you don't need to compile the package your self!
[15:45] <jtaylor> no they are build and runtime dependencies
[15:45] <jtaylor> you link shared libraries
[15:45] <jtaylor> shared libraries are linked at runtime
[15:46] <jtaylor> do "ldd file" to list runtime links
[15:46] <hakermania> jtaylor: you mean that every library you use to compile your binary must be in your PC to run your binary as well?
[15:46] <jtaylor> yes
[15:47] <jtaylor> unless you do a static build, there all code is compiled into into your file with no extra runtime dependencies
[15:47] <jtaylor> but that makes the file huge
[15:47] <hakermania> jtaylor, I don't believe this, really! In a clear-oneiric install I installed my application by copy-pasting the appropriate files to the appropriate folders and I only installed mpg321 and imagemagick and the program worked fine! I checked all its functions
[15:47] <jtaylor> it should not be done unless you have a good reason
[15:47] <hyperair> there's also -Wl,--as-needed, if you added deps that weren't really necessary
[15:48] <stlsaint> bump
[15:48] <jtaylor> probably because you had the libraries already installed
[15:48] <jtaylor> to ldd
[15:48] <jtaylor> if it says "not found" for a library it won't start
[15:48] <hakermania> jtaylor, mention the CLEAR install
[15:48] <jtaylor> what is a clear install?
[15:48] <jtaylor> e.g. libglib is a requirement for the base system
[15:48] <jtaylor> it will almost always be installed
[15:49] <jtaylor> lm is part of libc, every non-embedded system has it installed by default
[15:49] <hakermania> jtaylor, I just installed the system, updated the packages (installed updates) and installed my program using the way described above. And it worked OK! Then, in windows where there are no C++ libraries in the system, how do the processes run?
[15:50] <jtaylor> in windows you do have the basic libraries installed to
[15:50] <jtaylor> and windows tends to ship the libraries which are not installed by default with the program (which is awful)
[15:51] <jtaylor> did you use a pbuilder chroot to test? these areusually quite clean, e.g. no glib and no qt
[15:51] <jtaylor> do "ldd your-file" and then move the libraries listed there, if you try to start it again it will fail
[15:51] <hakermania> OMG, I feel so innocent..... I've spent so much time to make notifications through plain C so as to not have the libnotify (notify-send) as dependency... :/
[15:51] <hakermania> And know I learn that it has to be -_-
[15:53] <jtaylor> if you don't want it as a dependency then your only option is to link it statically
[15:53] <hakermania> jtaylor, this means to have its header file (library) inside my code...?
[15:53] <hakermania> inside my source*
[15:54] <jtaylor> libnotify-dev provides a static version
[15:54] <jtaylor>  /usr/lib/libnotify.a link with that
[15:54] <jtaylor> insted of -lnotify you add /usr/lib/libnotify.a
[15:55] <jtaylor> but that will make the executable (and the ram usage) larger
[15:58] <hakermania> jtaylor, mpg321 is too small and imagemagick is small too but with lots of dependencies. Recently, I managed to detach the imagemagick dependency by making my own code doing what imagemagick did. The application (without its DEB =~0.5MB) had to download around 14.5 MB. How much do you think it will without imagemagick in a clear install?
[15:58] <hakermania> Imagemagick has around 43 dependencies LOL
[15:59] <jtaylor> do you need imagemagick or libimagemagick?
[15:59] <jtaylor> but yes that thing pulls in quite a bunch of stuff
[16:00] <jtaylor> you don't want to static link all that, it will make your applciation huge
[16:01] <jtaylor> try what hyperair suggested too, -Wl,--as-needed may reduce the dependencies you need
[16:01] <jtaylor> or fix your build system to only link what it needs which has the same effect
[16:02] <jtaylor> although dpkg-shlibs should ahve warned if there were something unecessary
[16:03] <hakermania> jtaylor, Ok, i'm going to try again to install the application without the imagemagick ( i dont mean libimagemagick ) and if it will download less than 3 MB I will be satisfied (15 MB are too much for a small app!)
[16:04] <jtaylor> its unavoidable if you need qt and glib
[16:04] <jtaylor> which is unusual, qt should provide the same as glib
[16:05] <jtaylor> try replacing the glib stuff with qt native stuff
[16:05] <hakermania> jtaylor, glib is used for notifications.... qt doesn't provide this...
[16:05] <hakermania> **Desktop notifications
[16:06] <jtaylor> libnotify only need libglib, for what do you need gobject, gthread, gio and gdk-pixbuf?
[16:06] <jtaylor> and gmodule
[16:07] <jtaylor> seems like you would not need much more dependencies to write it completely in gtk instead of qt
[16:09] <hakermania> gdk-pixbuff I think it is for drawing the images at the notification (we need this) As for the others, I don't know. My project file is this: http://paste.ubuntu.com/660573/  It is where the linking is done and I was never good at it..Can you help?
[16:11] <jtaylor> it all probably comes from this: pkg-config --libs libnotify
[16:12] <jtaylor> strange that it has so many requires but the package only requires glib
[16:13] <jtaylor> anyhow, the buildlog indicates all is needed, so you have to change the code not the build to reduce dependencies
[16:16] <hakermania> jtaylor: As for the libnotify, the only thing I include is libnotify/notify.h
[16:16] <jtaylor> do nm --dynamic your-file to see what you need, and the grep the code for those symbols
[16:18] <hakermania> jtaylor, is this what you mean? http://paste.ubuntu.com/660574/
[16:19] <jtaylor> grep for stuff you want to try removing
[16:19] <jtaylor> btw on what ssystem did you build the package?
[16:20] <hakermania> jtaylor, ubuntu 11.10 alpha 3
[16:21] <hakermania> jtaylor, I don't want to remove anything if it is as you say... Do you think that I don't need something? I use qtgui, qtcore, qtdbus, libnotify and libhighgui....
[16:22] <jtaylor> depends on your code, in 11.10 the linker produces the minimal dependencies it can create (ld --as-needed --no-copy-dt-needed)
[16:22] <jtaylor> any improvement must be done by rewriting your application
[16:22] <hakermania> Imagemagick is not a dependency anymore but I just checked and in a clear install it needs to get only 2 MB of archives.. I wonder where do the other 13 MB come from...pfff
[16:24] <hakermania> jtaylor, I don't think that any improvement can be done to the code... You referred to libnotify and that it only needs glib... What dependency from the ones existent into the control file depicts glib?
[16:24] <hakermania> libglib2.0 apparently
[16:24] <hakermania> So, what's the problem with it?
[16:32] <jtaylor> is the code available somewhere?
[16:32] <hakermania> jtaylor, w8 a moment and I'll have it somewhere
[16:34] <Quintasan> debfx: I get "ImportError: No module named devscripts.logger" with pull-lp-source now, any idea what's wrong?
[16:34] <tumbleweed> Quintasan: sounds like a new ubuntu-dev-tools and an old devscripts. What release are you on?
[16:35] <Quintasan> natty
[16:35]  * Quintasan pulls devscripts from natty
[16:35] <Quintasan> bleh
[16:35] <Quintasan> oneiric
[16:35] <tumbleweed> where is your ubuntu-dev-tools from?
[16:35] <Quintasan> bazaar
[16:35] <tumbleweed> aah
[16:35] <hakermania> jtaylor, http://dl.dropbox.com/u/11379868/wallch.zip
[16:35] <Quintasan> That would explain everything
[16:35] <tumbleweed> we have a PPA with daily buids if you want
[16:36] <Quintasan> tumbleweed: Indeed, I certainly want that
[16:36] <jtaylor> hakermania: with the debian/ directory please
[16:36] <hakermania> jtaylor, oh
[16:37] <hakermania> jtaylor, you want everything before building takes place...
[16:37] <tumbleweed> Quintasan: https://launchpad.net/~udt-developers/+archive/daily
[16:38] <tumbleweed> hakermania: re your question in #ubuntu-packaging. The build-depends aren't listed in depends, just the libraries it's been linked against (curtesy of dh_shlibdeps)
[16:39] <Quintasan> tumbleweed: One should never underestimte the power of dailies
[16:39] <hakermania> jtaylor, go to #ubuntu-packaging to continue our conversation there please
[16:39]  * Quintasan goes back to work
[21:26] <RenatoSilva> debfx: please delete a bug to me?
[21:28] <micahg> RenatoSilva: no, he can't delete the bug, but maintains the package in Debian
[21:30] <RenatoSilva> micahg: so what's your point?
[21:30] <micahg> RenatoSilva: sometimes Debian maintainers have connections with upstream
[21:30] <RenatoSilva> micahg: get the patch managed outside upstream?
[21:30] <RenatoSilva> micahg: it's #pidgin, they're very aware of that patch
[21:31] <RenatoSilva> micahg: actually #guifications
[21:31] <RenatoSilva> micahg: they either have no time or interest in it
[22:18] <RenatoSilva> thanks anyway micahg
[23:26] <Kamping_Kaiser> is there still time to get changes synced for oneiric?
[23:27] <RAOF> Kamping_Kaiser: Yes, absolutely.  We still want bugfixes and new features, it's just that we want to deliberatly get them at this point.
[23:28] <RAOF> You can sync right up until final freeze (if it's appropriate) for bugfixes.
[23:28] <ajmitch> feature freeze isn't until this thursday, right?
[23:28] <paultag> ah crap, I meant to get in some fluxbox changes
[23:28] <jtaylor> raof your in the release team or?
[23:28] <paultag> oh well
[23:29] <ajmitch> paultag: there's still time!
[23:29] <RAOF> jtaylor: No, not on the release team.
[23:29] <paultag> ajmitch: Yeah, I know :) -- Might have to work on it in the morning :)
[23:30] <Kamping_Kaiser> RAOF: fab, thanks.
[23:31] <RAOF> ajmitch: https://wiki.ubuntu.com/OneiricReleaseSchedule says Yes!  Thursday is feature freeze :)
[23:31] <ajmitch> RAOF: right, that's what I was looking at
[23:32] <ajmitch> so still time to delay panic
[23:58] <pindonga> hey ajmitch , you know where I can see the new packages for oneiric? I look at https://launchpad.net/ubuntu/+source/python-configglue and it still lists 0.9pre1 (though I thought you had already packaged 0.11.1)
[23:59] <ajmitch> pindonga: I said I'd uploaded 0.11.1 to debian
[23:59] <ajmitch> http://packages.qa.debian.org/p/python-configglue.html
[23:59] <ajmitch> I need to check on a clean oneiric install that I can definitely sync it without any breakage