The ppd files are generated with hard-coded paths for the .xml files. For example, the PPDs/Epson/Epson-Epson_LQ_570_-omni-cups.ppd.gz file has the following line:
*ShortNickName: "libXMLOmniDevice.so%20XMLMasterFile=%22/home/rafael/cvs/Omni/Epson/Epson%20LQ-570+.xml%22"
This prevents the driver from working if the compilation directory is moved. I have defined the export OMNI_XML_ROOT_PATH to be the empty string and add this items tho Omni.cpp:
char *vapszDataPaths[] = {
"", // allow for a fully qualified filename to work
"/opt/Omni/share/",
"../Brother/",
"../Canon/",
"../Epson/",
"../HP_LaserJet/",
"../IBM/",
"../KS/",
"../Kyocera/",
"../Okidata/",
"../Panasonic/",
"../Star/",
NULL
};
Now the ppd are usually correct, but some times they don't build at all. I am trying to find why.
Is this the correct way of doing?
I know that the device list should not be hard-coded in Omni.cpp, but this can be improved by using some #define.
Thanks.
|