Bug#531538: another dangling symlink
I was informed that Rafael Laboissiere, the maintainer, is not involved in Debian development. This package is too import for me to play with (since I'm still a beginner at packaging). If you know someone that wishes to take over, please do! Also, it's too risky to include a patch for older debian releases. I think it's best to revert the changes I made and not proceed with this libmtp-common package, at least not for now. There are already a bunch of debian-specific checks that we should wait about 2 years until the next stable Debian release in order to remove the current checks in preinst and postinst. To sum up, I think it's best to wait the next stable Debian release to introduce another big change (I mean to make the libmtp.rules in its own libmtp-common package) with the package change. (And frankly, I don't have the time to test older Debian package versions with my exam period until October) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
I was informed that Rafael Laboissiere, the maintainer, is not involved in Debian development. This package is too import for me to play with (since I'm still a beginner at packaging). If you know someone that wishes to take over, please do! Typos: I was informed that Rafael Laboissiere, the maintainer, is not involved in Debian development anymore. This package is too important for me to play with (since I'm still a beginner at packaging). If you know someone that wishes to take over, please do! I think it's best to revert the changes I made I just re-checked what I did, but the current git revision checks for the older debian packages. I'm not so sure though, whether it's effective or not. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
On Tue, 02 Jun 2009, Rafael Laboissiere wrote: The libmtp7 package contains the file /etc/udev/rules.d/libmtp7.rules. This file is not touched by libmtp8, AFAIK. On the other hand, libmtp5 seems to be affected by the following offending code in postinst: if dpkg --compare-versions $2 lt-nl 0.3.7-3 ; then mv_conffile /etc/udev/$PACKAGE.rules \ /etc/udev/rules.d/45-$PACKAGE.rules fi I do not remember why the above is necessary. Could you please refresh my memory, Savvas? (On a somewhat unrelated note) Maybe the udev files should be moved to libmtp-common to avoid similar problems in the future and to avoid duplication of udev rules if you have several versions of the library installed? Cheers, -- Raphaël Hertzog Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny : http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/ -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
* Raphael Hertzog hert...@debian.org [2009-06-03 08:54]: On Tue, 02 Jun 2009, Rafael Laboissiere wrote: The libmtp7 package contains the file /etc/udev/rules.d/libmtp7.rules. This file is not touched by libmtp8, AFAIK. On the other hand, libmtp5 seems to be affected by the following offending code in postinst: if dpkg --compare-versions $2 lt-nl 0.3.7-3 ; then mv_conffile /etc/udev/$PACKAGE.rules \ /etc/udev/rules.d/45-$PACKAGE.rules fi I do not remember why the above is necessary. Could you please refresh my memory, Savvas? (On a somewhat unrelated note) Maybe the udev files should be moved to libmtp-common to avoid similar problems in the future and to avoid duplication of udev rules if you have several versions of the library installed? I am not sure this would be useful, since the The udev rules file is versioned now: $ dpkg -L libmtp8 | grep rules$ /lib/udev/rules.d/45-libmtp8.rules I think that each libmtpn package will need its specific rules file. -- Rafael -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
@Sean: thank you for the tip, didn't know that! :) Sean, can you reply with the output of: apt-cache policy libmtp5 libmtp6 apt-cache rdepends libmtp5 libmtp6 I really need to see where they came from, if they were manually installed (or from another source) and if any packages depend on it. Raphael Hertzog: (On a somewhat unrelated note) Maybe the udev files should be moved to libmtp-common to avoid similar problems in the future and to avoid duplication of udev rules if you have several versions of the library installed? Rafael Laboissiere: I think that each libmtpn package will need its specific rules file. Raphael, thanks for the info, but you mean to have one libmtp.rules installed? What if older releases don't support the new layout/format of rules? I agree with Rafael Laboissiere on this one. Affected packages: libmtp5: http://git.debian.org/?p=collab-maint/libmtp.git;a=tree;f=debian;h=1d35f255c7cc570b09a707b6e40cb7f3ee92717c;hb=7ce7562b3c3594bf823911d807bd810a3089b7e3 early libmtp6 ( 0.2.1-2): http://git.debian.org/?p=collab-maint/libmtp.git;a=tree;f=debian;h=188431f317af7795c6b610ded59cfd9c3f9b;hb=6067ac7eb599663c951ba403f8fe8564c25b18db The old installation in libmtp5 and libmtp6 was like this as far as I see: - Rules file is installed in /etc/udev/libmtp.rules. - A symlink /etc/udev/rules.d/libmtp.rules is created. Rafael Laboissiere: Are you sure that this change will not break libmtp5? The change I suggested: http://git.debian.org/?p=collab-maint/libmtp.git;a=commitdiff;h=67f58bb49779e156d0eb9ff1f94093ff31501537 Rafael, you are right, it probably will. But I'm worried about these: (1) Is the remaining /etc/udev/libmtp.rules (and symlink /etc/udev/rules.d/libmtp.rules) going to affect libmtp8? We'll have to ask upstream I guess. (2) Aren't libmtp5 and early libmtp6 considered deprecated? Their files should be deprecated (3) In libmtp6, the change from libmtp.rules - libmtp6.rules did NOT remove the leftover /etc/udev/libmtp.rules (and symlink /etc/udev/rules.d/libmtp.rules). (4) Users like Sean have installed libmtp8 now, and the file /etc/udev/libmtp.rules is now removed. There is a dangling symlink that should be removed. Solutions: a) This upgrade desperately needs a Breaks: libmtp5, libmtp6 ( 0.2.1-2) for these deprecated versions which would satisfy this change. b) On the other hand, we can comment out #rm -f /etc/udev/libmtp.rules in debian/libmtp.preinst.in to avoid breakage and reconsider it at some point in the future. Now, I'm not sure about this change and (1) above though. If you decide to go with (b), the current git change should stay because of (4), and comment out the rm command: -rm -f /etc/udev/libmtp.rules + +# Commented out, part of libmtp5 and older libmtp6 (bug #531538) +#rm -f /etc/udev/libmtp.rules -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
Rafael, you are right, it probably will. But I'm worried about these: (1) Is the remaining /etc/udev/libmtp.rules (and symlink /etc/udev/rules.d/libmtp.rules) going to affect libmtp8? We'll have to ask upstream I guess. http://sourceforge.net/tracker/?func=detailatid=809062aid=2800399group_id=158745 Rafael, I have a followup question though. Say for example I have libmtp7 and libmtp8 on my machine. Does that mean that libmtp7.rules is *only* used with libmtp7, or will libmtp8 read that file as well (and vice versa, is libmtp8.rules only for libmtp8)? I mean, we install a separate libmtp8.rules for libmtp8, is the library linked to only the rules we provide? -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
hi savvas, On Wed, Jun 03, 2009 at 11:13:11AM +0200, Savvas Radevic wrote: @Sean: thank you for the tip, didn't know that! :) Sean, can you reply with the output of: apt-cache policy libmtp5 libmtp6 libmtp5: Installed: (none) Candidate: (none) Version table: 0.1.5-2 0 100 /var/lib/dpkg/status W: Unable to locate package libmtp6 apt-cache rdepends libmtp5 libmtp6 libmtp5 Reverse Depends: W: Unable to locate package libmtp6 libmtp5 is not a candidate for autoremove via apt-get, but that may also be from poking that i did before doing the bugreport. I really need to see where they came from, if they were manually installed (or from another source) and if any packages depend on it. looks like that information is lost into the sands of time. i'm going to go with a hypothesis along the lines of: * long long ago i installed some package/metapackage that brought it in. * later on that/those packages were updated for a new libmtp8 * nothing ever removed libmtp5 from the system * the library/configfile/symlink combination didn't consider older libmtp's. sean -- signature.asc Description: Digital signature
Bug#531538: another dangling symlink
* Savvas Radevic vice...@gmail.com [2009-06-03 12:51]: Rafael, you are right, it probably will. But I'm worried about these: (1) Is the remaining /etc/udev/libmtp.rules (and symlink /etc/udev/rules.d/libmtp.rules) going to affect libmtp8? We'll have to ask upstream I guess. http://sourceforge.net/tracker/?func=detailatid=809062aid=2800399group_id=158745 Rafael, I have a followup question though. Say for example I have libmtp7 and libmtp8 on my machine. Does that mean that libmtp7.rules is *only* used with libmtp7, or will libmtp8 read that file as well (and vice versa, is libmtp8.rules only for libmtp8)? I mean, we install a separate libmtp8.rules for libmtp8, is the library linked to only the rules we provide? I have looked more closely to this issue. I do not know much of the internals of udev, but is seems that all the files in /etc/udev/rules.d/ are read when udev is initialized. It does not seem that different version of libmtp (say, libmtmp7 and libmtp8) will use different *.rules. This is beyond libmtp control and is in the realm of udev, it seems. That said, i am wondering why the libmtp.rules files should be versioned, as we are doing currently. Perhaps, the 45-libmpt8.rules files would work just fine with previous versions (5, 6, and 7) of the package. I think we must test this. What do you think? -- Rafael -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
CC'ed the bug report 2009/6/3 Savvas Radevic vice...@gmail.com: Sean, thank you, very helpful! Rafael: That said, i am wondering why the libmtp.rules files should be versioned, as we are doing currently. Perhaps, the 45-libmpt8.rules files would work just fine with previous versions (5, 6, and 7) of the package. I think we must test this. What do you think? Well, then Raphael was right, we need a libmtp-common :) Worth a shot to try, but I don't have a cellphone anymore that needs libmtp. :( One more thing the .fdi file should not be versioned too: ../../20-lib...@soversion@.fdi usr/share/hal/fdi/information/20thirdparty I've done some work to get this working, attached the git patch (based on current git). As mentioned, it needs testing (virtual machine?). :) * Check if libmtp5 and libmtp6 ( 0.2.1-2) are installed. If not, remove /etc/udev/libmtp.rules (Closes: #531538) * debian/libmtp.postinst.in: Remove dangling symlink /etc/udev/rules.d/libmtp.rules * libmtp-common: Unversioned /lib/udev/rules.d/45-libmtp.rules and /usr/share/hal/fdi/information/20thirdparty/20-libmtp.fdi * Remove old conffile /lib/udev/rules.d/45-libmtp8.rules Let me know what you think! P.S. I'm not sure about rm_conffile $PACKAGE /lib/udev/rules.d/45-libmtp8.rules, but since that's the default one, simply using rm_conffile for it *should* work, needs testing. :) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
That's quite an old package, I don't see it in the supported releases: http://packages.debian.org/libmtp5 Can you explain how did this happen? I can only assume that you upgraded, but from which older release to which one, using which commands? :) Also, reply with the output of: apt-cache policy libmtp5 libmtp7 libmtp8 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
I'm not completely sure, but I think the package is missing Conflicts and Replaces for older libmtp* packages? Something like: Conflicts: libmtp7, libmtp6, libmtp5 Replaces: libmtp7, libmtp6, libmtp5 ..in debian/control.in and debian/control files. Thoughts? -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
* Savvas Radevic vice...@gmail.com [2009-06-02 12:50]: I'm not completely sure, but I think the package is missing Conflicts and Replaces for older libmtp* packages? Something like: Conflicts: libmtp7, libmtp6, libmtp5 Replaces: libmtp7, libmtp6, libmtp5 ..in debian/control.in and debian/control files. This is something that should absolutely *_never_* be done with shared library packages. Newer SONAME versions do not replace older ones. Some packages depend on libmtp5, says, because they contain programs that link against /usr/lib/libmtp.so.5.*. If you make libmtp6, say, replace libmtp5, then the library above will be gone and... BOOM! packages depending on libmtp5 will crash. This is the very reason we change the package name when a version of the library is backward-incompatible with previous version. Those package _*must_* co-exist in peace in the system. In sum: never, ever try to implement Conflicts/Replaces as proposed above. -- Rafael -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
I think this is related to bug #525094 - the reporter probably has not updated to the latest available package: libmtp8 0.3.7-7 Sean, is my assumption true? Ah wait, now I get it. Rafael, is Breaks allowed on older libmtp* packages? It seems like libmtp5-7 might require the older rules (not in /lib) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
In sum: never, ever try to implement Conflicts/Replaces as proposed above. Noted! :) I think this is related to bug #525094 - the reporter probably has not updated to the latest available package: libmtp8 0.3.7-7 Sean, is my assumption true? -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
[Cc:ing to the BTS, this time, sorry.] * Savvas Radevic vice...@gmail.com [2009-06-02 15:51]: Ah wait, now I get it. Rafael, is Breaks allowed on older libmtp* packages? No, for the same reason Replaces is not allowed. It seems like libmtp5-7 might require the older rules (not in /lib) The libmtp7 package contains the file /etc/udev/rules.d/libmtp7.rules. This file is not touched by libmtp8, AFAIK. On the other hand, libmtp5 seems to be affected by the following offending code in postinst: if dpkg --compare-versions $2 lt-nl 0.3.7-3 ; then mv_conffile /etc/udev/$PACKAGE.rules \ /etc/udev/rules.d/45-$PACKAGE.rules fi I do not remember why the above is necessary. Could you please refresh my memory, Savvas? -- Rafael -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
* Savvas Radevic vice...@gmail.com [2009-06-02 15:51]: Ah wait, now I get it. Rafael, is Breaks allowed on older libmtp* packages? No, for the same reason Replaces is not allowed. It seems like libmtp5-7 might require the older rules (not in /lib) The libmtp7 package contains the file /etc/udev/rules.d/libmtp7.rules. This file is not touched by libmtp8, AFAIK. OK, thanks again On the other hand, libmtp5 seems to be affected by the following offending code in postinst: if dpkg --compare-versions $2 lt-nl 0.3.7-3 ; then mv_conffile /etc/udev/$PACKAGE.rules \ /etc/udev/rules.d/45-$PACKAGE.rules fi I do not remember why the above is necessary. Could you please refresh my memory, Savvas? /etc/udev/$PACKAGE.rules was in the wrong directory, the correct one is and should be in /etc/udev/rules.d/45-$PACKAGE.rules that's why the files are moved. But that's not it, since $PACKAGE is libmtp8 actually: package=lib...@soversion@ I'll check the code more tonight, but consider this: Looks like libmtp5 is not using libmtp5.rules: rangda[/home/sean] dpkg -S /etc/udev/rules.d/libmtp.rules[2] :( libmtp5: /etc/udev/rules.d/libmtp.rules ..which points to /etc/udev/libmtp.rules: rangda[/home/sean] ls -l /etc/udev/rules.d/libmtp.rules :) lrwxrwxrwx 1 root root 15 2007-06-09 15:19 /etc/udev/rules.d/libmtp.rules - ../libmtp.rules ..which is removed by debian/libmtp.postinst.in: rm -f /etc/udev/libmtp.rules I think that it's correct, but leaves a dangling symlink. Also, I think it needs to remove the symlink /etc/udev/rules.d/libmtp.rules (non-versioned) too. We can do it similarly to the one with the versioned symlink: In debian/libmtp.postinst.in: oldlink=/etc/udev/rules.d/libmtp8.rules if [ -L $oldlink -a ! -f $oldlink ] ; then rm -f $oldlink fi oldlink2=/etc/udev/rules.d/libmtp.rules if [ -L $oldlink2 -a ! -f $oldlink2 ] ; then rm -f $oldlink2 fi -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
2009/6/2 Savvas Radevic vice...@gmail.com: ..which is removed by debian/libmtp.postinst.in: rm -f /etc/udev/libmtp.rules Correction: ..which is removed by debian/libmtp.preinst.in: rm -f /etc/udev/libmtp.rules -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#531538: another dangling symlink
hiya, On Tue, Jun 02, 2009 at 03:49:42PM +0200, Savvas Radevic wrote: I think this is related to bug #525094 - the reporter probably has not updated to the latest available package: libmtp8 0.3.7-7 Sean, is my assumption true? note sure for the last email whether you still needed this, but yes that's the version i have installed: rangda[/home/sean] dpkg -l libmtp8 :) Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name VersionDescription +++-==-==- ii libmtp80.3.7-7Media Transfer Protocol (MTP) library sean -- signature.asc Description: Digital signature