ffmpeg problem upgrading antiX-M7.2-M7.5
There is an antiX upgrade problem. If you dist-upgrade antiX-M7.2
to antiX-M7.5, it fails because of libavutilcvs49. The solution is to #apt-get remove --purge libavutilcvs49 before doing the dist-upgrade. and then re-install ffmpeg from debian Testing. Any chance of including that in smxi? Upgrading antiX-M7.5-test1 is ok. TIA Back to top |
I actually have a fix in place for that, that only the antix conversion itself triggers.
I had the fix in but it was only for the antix sid conversion, now I moved it into standard pre du fixes file, and it will run for all antix users. Give it a try and see if it works, it worked on antix sid, try it on default standard antix. I use a a different method, somewhat brutal, but also a lot easier to do than hacking sources etc. Anyway, give it a try now on a test vm install and see if it goes through. It's very hard commenting out and then uncommenting sources in general, that's stuff I try to avoid doing as rule, you have to put in a lot of trap error handling to make sure changes always get undone on user exit, and it's basically not worth it. But the method I tried did work, see if it does now, it's a funny one, heh. Is there a way to force install from a specific repo? I dont' know it if there is. Back to top |
smxi doesn't finish the upgrade, it complains about libavformat52 and libswscale0.
apt-get -f install doesn't fix it. What does work is apt-get remove --purge libavutilcvs49 as it also removes libavformat52 libswscale0 (and ffmpeg) apt-get clean apt-get update apt-get install ffmpeg Back to top |
ok, I added that method.
Try it again in a fresh install. Hopefully you know about virtualbox snapshots, that make repeat tests of fixes and other stuff a breeze, after each test, restore snapshot of pre test condition, and the system is ready to go for a new test in about 5 seconds, restored to its previous state. Back to top |
Now works perfectly.
Back to top |
By the way, this is the right way to handle antix only fixes, show the working code, and I'll just integrate it into the existing structure, which is relatively trivial for me to do usually because everything is abstracted and modularized so it's just a matter of creating a little function that runs the fix once if the conditions are present to run it.
So what's always needed is the conditions, ie the presence of that cvs lib, the file names, to test for, and the fix code, to implement. For example, in /usr/local/bin/sm-lib-2008-fixes, here's the relevant fix, along with commented out earlier version ,which worked on a sid antix conversion: :: Code :: libavutil_fix_1()
{ local prefId='libavutil-fix-1' local smPref=$( sm_pref_tester $prefId ) local isInstalled=$( package_tester 'libavutilcvs49' ) local isInstalled2=$( package_tester 'libavcodeccvs51' ) if [ "$smPref" -eq 0 -a "$DISTRO" == 'antix' ] && [ -n "$isInstalled" -o -n "$isInstalled2" ] then echo $LINE echo "${S}Running ffmpeg fix...${N}" #package_installer 'libavutil49 libavcodec51' 'install-always' '-d' #echo "${S}Forcing overwrite of broken packages...${N}" package_remover 'libavutilcvs49' 'purge' $APT_TYPE clean package_installer 'ffmpeg' 'install-always' #dpkg -i --force-overwrite /var/cache/apt/archives/libavutil49*.deb #dpkg -i --force-overwrite /var/cache/apt/archives/libavcodec51*.deb set_sticky_prefs $prefId fi } As you can see, it's pretty much all little tools that test, install, remove, and so on, and the fixes are run from a version based test, so they only run if older than some version number. Back to top |
All times are GMT - 8 Hours |