/srv/irclogs.ubuntu.com/2011/08/07/#ubuntu-motu.txt

=== txwikinger2 is now known as txwikinger
=== vivi`d is now known as vivid
armpogart /12:20
stlsaintanyone around?15:24
jtaylormter<15:27
hakermaniaHello! 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:29
jtaylorhakermania: thats normal15:30
jtaylorthe control file gets changed by dpkg-gencontrol15:30
hakermaniajtaylor: the latter control file installs both the depends and build-depends. Why?15:30
jtaylorit does not?15:31
jtaylorthere are no -dev in the second paste15:31
hakermaniajtaylor, 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 smoothly15:32
jtaylorthe other dependencies are automatically determined and inserted in misc:Depends and shlibs:Depends15:32
jtaylordoes dpkg-shlibdeps give warnings during the build?15:33
hakermaniaNo15:33
hakermaniaI think so15:33
hakermaniaWait to notice again15:33
jtaylorthen its ok, dpkg-shlibs checks the binaries and determines all packages needed15:33
stlsaintwould someone mind taking a look at these piuparts output: http://paste.debian.net/125307/15:34
stlsaintit looks like the test went ok but with some issues15:34
hakermaniajtaylor, 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:34
hakermaniaNo other strange packages needed!15:35
jtaylorpast objdump -p of your library/application15:36
jtaylore.g. if its c++ libstdc++ is definetly needed15:37
hakermaniajtaylor, yes, its c++15:39
jtaylordpkg-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 them15:41
jtaylorgreatly simplifies packaging of elf objects15:41
jtaylornot like in python where its quite tedious to find all dependencies15:41
hakermaniajtaylor, bu tit is weird. This dependencies are run-time dependencies, right? Btw, this is the complete 'debuild' output: paste.ubuntu.com/66055415:43
hakermaniajtaylor, 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 -lpthread15:44
jtaylorthats where the dependencies come from15:44
jtaylorall these -l flags land in DT_NEEDED (see objectdump -p file)15:45
jtaylorand dpkg-shlibs finds the associated packages and adds them as dependencies15:45
hakermaniajtaylor, 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
jtaylorno they are build and runtime dependencies15:45
jtayloryou link shared libraries15:45
jtaylorshared libraries are linked at runtime15:45
jtaylordo "ldd file" to list runtime links15:46
hakermaniajtaylor: you mean that every library you use to compile your binary must be in your PC to run your binary as well?15:46
jtayloryes15:46
jtaylorunless you do a static build, there all code is compiled into into your file with no extra runtime dependencies15:47
jtaylorbut that makes the file huge15:47
hakermaniajtaylor, 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 functions15:47
jtaylorit should not be done unless you have a good reason15:47
hyperairthere's also -Wl,--as-needed, if you added deps that weren't really necessary15:47
stlsaintbump15:48
jtaylorprobably because you had the libraries already installed15:48
jtaylorto ldd15:48
jtaylorif it says "not found" for a library it won't start15:48
hakermaniajtaylor, mention the CLEAR install15:48
jtaylorwhat is a clear install?15:48
jtaylore.g. libglib is a requirement for the base system15:48
jtaylorit will almost always be installed15:48
jtaylorlm is part of libc, every non-embedded system has it installed by default15:49
hakermaniajtaylor, 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:49
jtaylorin windows you do have the basic libraries installed to15:50
jtaylorand windows tends to ship the libraries which are not installed by default with the program (which is awful)15:50
jtaylordid you use a pbuilder chroot to test? these areusually quite clean, e.g. no glib and no qt15:51
jtaylordo "ldd your-file" and then move the libraries listed there, if you try to start it again it will fail15:51
hakermaniaOMG, 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
hakermaniaAnd know I learn that it has to be -_-15:51
jtaylorif you don't want it as a dependency then your only option is to link it statically15:53
hakermaniajtaylor, this means to have its header file (library) inside my code...?15:53
hakermaniainside my source*15:53
jtaylorlibnotify-dev provides a static version15:54
jtaylor /usr/lib/libnotify.a link with that15:54
jtaylorinsted of -lnotify you add /usr/lib/libnotify.a15:54
jtaylorbut that will make the executable (and the ram usage) larger15:55
hakermaniajtaylor, 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
hakermaniaImagemagick has around 43 dependencies LOL15:58
jtaylordo you need imagemagick or libimagemagick?15:59
jtaylorbut yes that thing pulls in quite a bunch of stuff15:59
jtayloryou don't want to static link all that, it will make your applciation huge16:00
jtaylortry what hyperair suggested too, -Wl,--as-needed may reduce the dependencies you need16:01
jtayloror fix your build system to only link what it needs which has the same effect16:01
jtayloralthough dpkg-shlibs should ahve warned if there were something unecessary16:02
hakermaniajtaylor, 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:03
jtaylorits unavoidable if you need qt and glib16:04
jtaylorwhich is unusual, qt should provide the same as glib16:04
jtaylortry replacing the glib stuff with qt native stuff16:05
hakermaniajtaylor, glib is used for notifications.... qt doesn't provide this...16:05
hakermania**Desktop notifications16:05
jtaylorlibnotify only need libglib, for what do you need gobject, gthread, gio and gdk-pixbuf?16:06
jtaylorand gmodule16:06
jtaylorseems like you would not need much more dependencies to write it completely in gtk instead of qt16:07
hakermaniagdk-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:09
jtaylorit all probably comes from this: pkg-config --libs libnotify16:11
jtaylorstrange that it has so many requires but the package only requires glib16:12
jtayloranyhow, the buildlog indicates all is needed, so you have to change the code not the build to reduce dependencies16:13
hakermaniajtaylor: As for the libnotify, the only thing I include is libnotify/notify.h16:16
jtaylordo nm --dynamic your-file to see what you need, and the grep the code for those symbols16:16
hakermaniajtaylor, is this what you mean? http://paste.ubuntu.com/660574/16:18
jtaylorgrep for stuff you want to try removing16:19
jtaylorbtw on what ssystem did you build the package?16:19
hakermaniajtaylor, ubuntu 11.10 alpha 316:20
hakermaniajtaylor, 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:21
jtaylordepends on your code, in 11.10 the linker produces the minimal dependencies it can create (ld --as-needed --no-copy-dt-needed)16:22
jtaylorany improvement must be done by rewriting your application16:22
hakermaniaImagemagick 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...pfff16:22
hakermaniajtaylor, 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
hakermanialibglib2.0 apparently16:24
hakermaniaSo, what's the problem with it?16:24
jtayloris the code available somewhere?16:32
hakermaniajtaylor, w8 a moment and I'll have it somewhere16:32
Quintasandebfx: I get "ImportError: No module named devscripts.logger" with pull-lp-source now, any idea what's wrong?16:34
tumbleweedQuintasan: sounds like a new ubuntu-dev-tools and an old devscripts. What release are you on?16:34
Quintasannatty16:35
* Quintasan pulls devscripts from natty16:35
Quintasanbleh16:35
Quintasanoneiric16:35
tumbleweedwhere is your ubuntu-dev-tools from?16:35
Quintasanbazaar16:35
tumbleweedaah16:35
hakermaniajtaylor, http://dl.dropbox.com/u/11379868/wallch.zip16:35
QuintasanThat would explain everything16:35
tumbleweedwe have a PPA with daily buids if you want16:35
Quintasantumbleweed: Indeed, I certainly want that16:36
jtaylorhakermania: with the debian/ directory please16:36
hakermaniajtaylor, oh16:36
hakermaniajtaylor, you want everything before building takes place...16:37
tumbleweedQuintasan: https://launchpad.net/~udt-developers/+archive/daily16:37
tumbleweedhakermania: 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:38
Quintasantumbleweed: One should never underestimte the power of dailies16:39
hakermaniajtaylor, go to #ubuntu-packaging to continue our conversation there please16:39
* Quintasan goes back to work16:39
RenatoSilvadebfx: please delete a bug to me?21:26
micahgRenatoSilva: no, he can't delete the bug, but maintains the package in Debian21:28
RenatoSilvamicahg: so what's your point?21:30
micahgRenatoSilva: sometimes Debian maintainers have connections with upstream21:30
RenatoSilvamicahg: get the patch managed outside upstream?21:30
RenatoSilvamicahg: it's #pidgin, they're very aware of that patch21:30
RenatoSilvamicahg: actually #guifications21:31
RenatoSilvamicahg: they either have no time or interest in it21:31
RenatoSilvathanks anyway micahg22:18
=== yofel_ is now known as yofel
Kamping_Kaiseris there still time to get changes synced for oneiric?23:26
RAOFKamping_Kaiser: Yes, absolutely.  We still want bugfixes and new features, it's just that we want to deliberatly get them at this point.23:27
RAOFYou can sync right up until final freeze (if it's appropriate) for bugfixes.23:28
ajmitchfeature freeze isn't until this thursday, right?23:28
paultagah crap, I meant to get in some fluxbox changes23:28
jtaylorraof your in the release team or?23:28
paultagoh well23:28
ajmitchpaultag: there's still time!23:29
RAOFjtaylor: No, not on the release team.23:29
paultagajmitch: Yeah, I know :) -- Might have to work on it in the morning :)23:29
Kamping_KaiserRAOF: fab, thanks.23:30
RAOFajmitch: https://wiki.ubuntu.com/OneiricReleaseSchedule says Yes!  Thursday is feature freeze :)23:31
ajmitchRAOF: right, that's what I was looking at23:31
ajmitchso still time to delay panic23:32
=== med_out is now known as medberry
pindongahey 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:58
ajmitchpindonga: I said I'd uploaded 0.11.1 to debian23:59
ajmitchhttp://packages.qa.debian.org/p/python-configglue.html23:59
ajmitchI need to check on a clean oneiric install that I can definitely sync it without any breakage23:59

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!