WilliamSimonLewis, … the creation of drivers in an rpm package is seldom simple, and typically requires advanced knowledge. It, IMHO, is not something that a user can simply post “easy to follow instructions”.
I do note on the page that you provided that there are “generic” rpms available. Did you try those? If those do not work, then I also note that there is a link to the source code (which comes in a tarball (tar.gz) package). You could also try downloading that, then extract it (from the tarball) and carefully read its Install.txt and Readme.txt files. Those files will likely list the dependency applications that you need to install first, and will also give hints as to how to compile (may be with something like a recommendation to do:
./autogen.sh --enable-libpath=/usr/lib
make
make install
but you need to read the documentation with that application. Note “make install” requires root permissions.
Some of us, who use rpms ONLY on our PC, use the package “checkinstall” to create very crude and very limited rpms. ie by installing “checkinstall” and then instead of running “make install” run “checkinstall”. Sometimes “checkinstall” does not work when run instead of “make install”, but it often will run AFTER “checkinstall” . As noted, checkinstall creates a crude rpm, and when run after “make install” the rpm created by checkinstall can be installed, so that the files installed by “make install” are then tracked by the rpm database.
But if you wish to create a proper rpm then you have a lot of reading and learning in front of you. Its not something that you can be given “easy to follow instructions” on.
I myself have never created a “proper” rpm , but rather I typically create my rpms via “checkinstall” or “rpmbuild --rebuild rpmsource.src.rpm” when the rpm source is available.
I note gutenprint (for openSUSE-11.0) had limited mp520 support. I don’t know about 11.1. I also note that sane-backends (for 11.1) provides a version of libsane-canon. Whether that version is sufficient to work with your mp520, I don’t know.
Sorry, I can not provide more than these hints, where I know you wanted more than “just hints”.