In Ubuntu 12.04LTS (and variants) gPodder v2.20 was shipped and as with all previous versions of this podcast catcher software, it was relatively free of any major bugs as all good software should be if properly tested.
So it was with a degree of horror on upgrading Lubuntu 12.04 to 12.10 that I discovered all of my podcasts (10Gb worth) had apparently disappeared off my hard disk along with the subscription lists.
It a pity that not enough consideration had been given to how to transparently migrate from the SQLLite2 database in gPodder 2.x to the SQLLite3 database in 3.x this could have been avioded. It’s hardly surprising that with these sorts of problems, the year of the Linux desktop remains a distant hope for the community. If stuff worked in the previous version, it should remain working in the new version and if it does not then the software should be held back until fixed as with open source there is no commercial pressure to get software out of the door at any cost other than that self imposed by the developers.
After a bit of searching on the internet I found an ubuntuforums.org post from gds which is reproduced below:
Re: gPodder subscription list gone after upgrade to 12.10
I had the same problem. Ubuntu 12.10 now ships gpodder 3 which uses a new and incompatible database format. They don’t appear to have supplied any conversion tool nor any warning that your old config wouldn’t be converted (thanks!). However – it seems gpodder3 keeps it’s configuration in a gPodder directory in your home dir, while gpodder 2 was keeping it’s configuration in .congfig/gpodder. So I was able to recovery my subscriptions.
Here’s what I did: from the gpodder download site I downloaded the last release of version 2 (I used this one). Unpack the files somewhere (we don’t need to actually install it, just run it once. I put them in /tmp). Make sure gpodder 3 isn’t running.
Then from a terminal I ran
Now you can export your subscriptions to an OPML file that gpodder 3 can import (it’s on the subscriptions menu). Once you’ve done it you can quit and run gpodder3. Skip past the initial dialog offering you default subscrptions and you can import the OPML file you created in the last step.
I had an extra problem, because even after this gpodder3 didn’t recognize any of my previously downloaded podcasts (it wanted to pull down 3Gb of new shows!). This might be unique to me because I was using a non-standard location for my downloads, but I solved this by the brute-force technique of doing one last sync to my player from gpodder 2 and then telling gpodder3 to consider all the subscriptions up to date. I’m sure we could do better but this was enough for me.
Changing the Downloads Folder Location
With my subscriptions back, the next step was to find out where my previously recorded podcasts had gone.
Now I suspect I’m not too unusual in downloading a lot of podcasts both video and audio. becaue of the formers size, I do not store them in the default download folder location dictated by gPodder but store it on a separate data drive so if my filesystem partitions runs out fo disk space (as that is where my Home directory is located) I will not crash the system! I’ve been there before so I’ve learnt the hard way.
Up until version 3, gPodder allowed you to change the downloads folder location and in the Wiki this is still possible if you run Windows, Linux/ Unix/ OS X and MeeGo. If you run a varient of Ubuntu Linux, then as far as version 3 of gPodder goes you are stuffed as this feature does not work due to a software bug.
Whilst the Wiki does suggest making “session-wide changes on Ubuntu Linux”, it does not really explain how to do it and how to test that the change has been applied and gives up in providing proper instructions by pointing distressed users to the Ubuntu community documentation on Persistent Environmental Variables, which isn’t great in itself.
Whilst a bug has been raised about this probelm and Thomas Perl has tried to provided some assistance to my question about how to see if the variables have been set, I’ve decided to take a different approach and redirect the gpodder downloads folder residing in my Home drive to another folder on a different drive. Whilst useful for resolving this particular gPodder problem, it also has other users like redirecting the contents of your Documents folder to another folder on the same or different drive.
To mount one folder on to another you need to use the following command syntax:
sudo mount -o bind <source folder path> <destination folder path>
This is what I did:
In my case my gPodder folder is located in /home/username/gpodder/ and I wanted it to be located on /media/data/gpodder/
1. I moved all files located in the source folder /home/username/gpodder/ to the destination folder /media/data/gpodder/
2. Opening Terminal I entered the command
sudo mount -o bind /home/username/gpodder/ /media/data/gpodder/
This mounted the destination folder on to the source folder, effectively redirecting it to the new location.
Whilst this command is useful, it’s of no use if you have to keep reentering it every time you wish to use gPodder.
To make this permanent you will need to edit /etc/fstab and add it in. Using the above example this is what I did:
1. In Terminal enter the following to edit fstab as sudo:
sudo nano /etc/fstab
2. At the bottom of the file add the following comment:
# Mount Folder /media/data/Documents/ on to /home/username/gpodder/
3. Then add the following line below:
/media/data/gpodder/ /home/username/gpodder/ auto bind,gid=46,defaults 0 0
4. Save the file
5. Exit nano and from Terminal enter the following to rerun fatab and mount devices listed in it:
sudo mount -a
If the syntax was correct, there should be no error messages and you should be returned to the command prompt.
Using you file manger check that the /home/username/gpodder/ folder contains the same content as /media/data/gpodder.
If uncertain, create a file or folder in one and see if it appears in another, you may have to refresh the display (F5) to display the change.
GPodder will continue to think it is saving podcasts to the default folder location, but using this trick it will actually be saving them to a location of your choice without the need to fiddle around with environmental variables.