summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2016-01-06 12:07:39 +0100
committerDidier Raboud <odyx@debian.org>2016-01-06 12:07:39 +0100
commitb6f7e80d1279447768d86f7ad3c19a7e71d91ab4 (patch)
tree522ba6ec0a38fb29a7d948696f7d126dd1e6e6f0
parent78face2d666d0863ffc0f5e2fd54a68418eea46e (diff)
Imported Upstream version 3.12.4
-rw-r--r--Makefile.am1183
-rw-r--r--Makefile.in80
-rwxr-xr-xalign.py5
-rw-r--r--base/LedmWifi.py78
-rw-r--r--base/codes.py43
-rw-r--r--base/device.py44
-rw-r--r--base/g.py12
-rw-r--r--base/maint.py110
-rw-r--r--base/models.py3
-rw-r--r--base/module.py2
-rw-r--r--base/pkit.py3
-rw-r--r--base/status.py20
-rw-r--r--base/strings.py4
-rw-r--r--base/utils.py132
-rwxr-xr-xcheck-plugin.py9
-rwxr-xr-xcheck.py11
-rwxr-xr-xconfig_usb_printer.py272
-rwxr-xr-xconfigure44
-rwxr-xr-xconfigure.in2
-rw-r--r--copier/copier.py10
-rw-r--r--cups_drv.inc12
-rw-r--r--data/models/models.dat2294
-rw-r--r--data/rules/56-hpmud_add_printer.rules11
-rwxr-xr-xdiagnose_plugin.py64
-rwxr-xr-xdiagnose_queues.py440
-rw-r--r--fax/ledmfax.py10
-rw-r--r--fax/ppd/HP-Fax-hpcups.ppd.gzbin980 -> 980 bytes
-rw-r--r--fax/ppd/HP-Fax-hpijs.ppd.gzbin1932 -> 1932 bytes
-rw-r--r--fax/ppd/HP-Fax2-hpcups.ppd.gzbin988 -> 988 bytes
-rw-r--r--fax/ppd/HP-Fax2-hpijs.ppd.gzbin1935 -> 1935 bytes
-rw-r--r--fax/ppd/HP-Fax3-hpcups.ppd.gzbin933 -> 933 bytes
-rw-r--r--fax/ppd/HP-Fax3-hpijs.ppd.gzbin1914 -> 1914 bytes
-rw-r--r--fax/ppd/HP-Fax4-hpcups.ppd.gzbin946 -> 946 bytes
-rw-r--r--fax/ppd/HP-Fax4-hpijs.ppd.gzbin1897 -> 1897 bytes
-rw-r--r--foomatic_drv.inc12
-rw-r--r--hplip.list.in20
-rw-r--r--hplip.state6
-rwxr-xr-xhpssd.py36
-rw-r--r--installer/core_install.py4438
-rw-r--r--installer/distros.dat336
-rwxr-xr-xinstaller/text_install.py183
-rw-r--r--io/hpmud/hpmud.c6
-rw-r--r--io/hpmud/hpmud.h16
-rw-r--r--io/hpmud/hpmudi.h4
-rw-r--r--io/hpmud/jd.c2
-rw-r--r--io/hpmud/model.c4
-rw-r--r--io/hpmud/musb.c19
-rw-r--r--io/hpmud/musb.h1
-rwxr-xr-xmakecopies.py10
-rwxr-xr-xplugin.py2
-rw-r--r--ppd/hpcups/apollo-2100.ppd.gzbin3004 -> 3004 bytes
-rw-r--r--ppd/hpcups/apollo-2150.ppd.gzbin3004 -> 3004 bytes
-rw-r--r--ppd/hpcups/apollo-2200.ppd.gzbin3005 -> 3005 bytes
-rw-r--r--ppd/hpcups/apollo-2500.ppd.gzbin3010 -> 3010 bytes
-rw-r--r--ppd/hpcups/apollo-2600.ppd.gzbin3009 -> 3009 bytes
-rw-r--r--ppd/hpcups/apollo-2650.ppd.gzbin3011 -> 3011 bytes
-rw-r--r--ppd/hpcups/apollo-p2000-u.ppd.gzbin3009 -> 3009 bytes
-rw-r--r--ppd/hpcups/apollo-p2250.ppd.gzbin3011 -> 3011 bytes
-rw-r--r--ppd/hpcups/hp-2000c.ppd.gzbin3830 -> 3830 bytes
-rw-r--r--ppd/hpcups/hp-2500c.ppd.gzbin4200 -> 4200 bytes
-rw-r--r--ppd/hpcups/hp-910.ppd.gzbin3408 -> 3408 bytes
-rw-r--r--ppd/hpcups/hp-915.ppd.gzbin3421 -> 3421 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_1000.ppd.gzbin4175 -> 4175 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_1100.ppd.gzbin4184 -> 4184 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_1200.ppd.gzbin4186 -> 4186 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_2200.ppd.gzbin3890 -> 3890 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_2230.ppd.gzbin3882 -> 3882 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_2250-pcl3.ppd.gzbin3898 -> 3899 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_2280-pcl3.ppd.gzbin3898 -> 3898 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_2300-pcl3.ppd.gzbin3193 -> 3193 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_2600-pcl3.ppd.gzbin3278 -> 3278 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_2800-pcl3.ppd.gzbin3281 -> 3281 bytes
-rw-r--r--ppd/hpcups/hp-business_inkjet_3000-pcl3.ppd.gzbin3281 -> 3281 bytes
-rw-r--r--ppd/hpcups/hp-color_inkjet_cp1700.ppd.gzbin3979 -> 3979 bytes
-rw-r--r--ppd/hpcups/hp-color_inkjet_printer_cp1700.ppd.gzbin4378 -> 4378 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_1600.ppd.gzbin3206 -> 3206 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_2500-pcl3.ppd.gzbin3175 -> 3175 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_2500_series.ppd.gzbin3195 -> 3195 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_2600n.ppd.gzbin3203 -> 3203 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3000-pcl3.ppd.gzbin3186 -> 3186 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3500.ppd.gzbin3200 -> 3200 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3500n.ppd.gzbin3193 -> 3193 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3550.ppd.gzbin3193 -> 3193 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3550n.ppd.gzbin3195 -> 3195 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3600.ppd.gzbin3201 -> 3201 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3700-pcl3.ppd.gzbin3173 -> 3173 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3700n.ppd.gzbin3173 -> 3173 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_3800-pcl3.ppd.gzbin3187 -> 3187 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_4500-pcl3.ppd.gzbin3183 -> 3183 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_4550-pcl3.ppd.gzbin3194 -> 3194 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_4600-pcl3.ppd.gzbin3180 -> 3180 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_4600_series.ppd.gzbin3197 -> 3197 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_4610-pcl3.ppd.gzbin3176 -> 3176 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_4650-pcl3.ppd.gzbin3189 -> 3189 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_4700-pcl3.ppd.gzbin3192 -> 3192 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_4730mfp-pcl3.ppd.gzbin3202 -> 3202 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_5.ppd.gzbin3267 -> 3267 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_5500-pcl3.ppd.gzbin3298 -> 3298 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_5550-pcl3.ppd.gzbin3300 -> 3300 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_5m-pcl3.ppd.gzbin3282 -> 3282 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_8500-pcl3.ppd.gzbin3290 -> 3290 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_8550-pcl3.ppd.gzbin3321 -> 3321 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_9500-pcl3.ppd.gzbin3297 -> 3297 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_9500_mfp-pcl3.ppd.gzbin3304 -> 3304 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm1312_mfp-pcl3.ppd.gzbin3201 -> 3201 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm1312nfi_mfp-pcl3.ppd.gzbin3206 -> 3206 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm2320_mfp-pcl3.ppd.gzbin3141 -> 3141 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm2320fxi_mfp-pcl3.ppd.gzbin3147 -> 3147 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm2320n_mfp-pcl3.ppd.gzbin3144 -> 3144 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm2320nf_mfp-pcl3.ppd.gzbin3145 -> 3145 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm3530_mfp-pcl3.ppd.gzbin3206 -> 3206 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm4540_mfp-pcl3.ppd.gzbin3199 -> 3199 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm4730_mfp-pcl3.ppd.gzbin3214 -> 3214 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm6030_mfp-pcl3.ppd.gzbin3313 -> 3313 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm6040_mfp.ppd.gzbin3305 -> 3305 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cm6049_mfp.ppd.gzbin3285 -> 3285 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp1215.ppd.gzbin3210 -> 3210 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp1217.ppd.gzbin3210 -> 3210 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp1514n-pcl3.ppd.gzbin3179 -> 3179 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp1515n-pcl3.ppd.gzbin3179 -> 3179 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp1518ni-pcl3.ppd.gzbin3181 -> 3181 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp2025-pcl3.ppd.gzbin3176 -> 3176 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp2025dn-pcl3.ppd.gzbin3181 -> 3181 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp2025n-pcl3.ppd.gzbin3179 -> 3179 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp2025x-pcl3.ppd.gzbin3180 -> 3180 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp3505-pcl3.ppd.gzbin3190 -> 3190 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp3525-pcl3.ppd.gzbin3189 -> 3189 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp4005-pcl3.ppd.gzbin3191 -> 3191 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp4020_series-pcl3.ppd.gzbin3195 -> 3195 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp4520_series-pcl3.ppd.gzbin3195 -> 3195 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp5225-pcl3.ppd.gzbin3175 -> 3175 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp5225dn-pcl3.ppd.gzbin3178 -> 3178 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp5225n-pcl3.ppd.gzbin3177 -> 3177 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp5520_series-pcl3.ppd.gzbin3195 -> 3195 bytes
-rw-r--r--ppd/hpcups/hp-color_laserjet_cp6015-pcl3.ppd.gzbin3304 -> 3304 bytes
-rw-r--r--ppd/hpcups/hp-cp1160.ppd.gzbin3954 -> 3955 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1000_j110_series.ppd.gzbin2972 -> 2972 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1050_j410_series.ppd.gzbin2983 -> 2983 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1100.ppd.gzbin2917 -> 2917 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1120.ppd.gzbin4200 -> 4200 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1125.ppd.gzbin4192 -> 4192 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1200c.ppd.gzbin3262 -> 3262 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1220c.ppd.gzbin4312 -> 4312 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1280.ppd.gzbin4295 -> 4295 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1600c.ppd.gzbin3259 -> 3259 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1600cm.ppd.gzbin3262 -> 3262 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_1600cn.ppd.gzbin3261 -> 3261 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_2000_j210_series.ppd.gzbin2971 -> 2971 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_2050_j510_series.ppd.gzbin2982 -> 2983 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3000_j310_series.ppd.gzbin2972 -> 2973 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3050_j610_series.ppd.gzbin2973 -> 2973 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3050a_j611_series.ppd.gzbin2975 -> 2975 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3070_b611_series.ppd.gzbin4207 -> 4207 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3320.ppd.gzbin3343 -> 3343 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3325.ppd.gzbin3337 -> 3337 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3420.ppd.gzbin3400 -> 3400 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3425.ppd.gzbin3389 -> 3389 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3450.ppd.gzbin3397 -> 3397 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3500.ppd.gzbin3356 -> 3356 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3550.ppd.gzbin3348 -> 3348 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3600.ppd.gzbin3439 -> 3439 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3650.ppd.gzbin3463 -> 3463 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3740.ppd.gzbin3358 -> 3358 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3810.ppd.gzbin3929 -> 3929 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3816.ppd.gzbin3933 -> 3933 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3819.ppd.gzbin3929 -> 3929 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3820.ppd.gzbin3937 -> 3937 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3822.ppd.gzbin3929 -> 3929 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3840.ppd.gzbin3452 -> 3452 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3870.ppd.gzbin3928 -> 3928 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3900.ppd.gzbin3335 -> 3335 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3910.ppd.gzbin3354 -> 3354 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3920.ppd.gzbin3335 -> 3335 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_3940.ppd.gzbin3341 -> 3341 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_400.ppd.gzbin2910 -> 2910 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_400l.ppd.gzbin2065 -> 2065 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_460.ppd.gzbin4150 -> 4150 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_500.ppd.gzbin2897 -> 2897 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_500c.ppd.gzbin2899 -> 2899 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_505j.ppd.gzbin2888 -> 2888 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_510.ppd.gzbin2885 -> 2885 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5100.ppd.gzbin4627 -> 4627 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_520.ppd.gzbin2885 -> 2885 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_540.ppd.gzbin2895 -> 2895 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5400_series.ppd.gzbin4644 -> 4645 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_550c.ppd.gzbin2902 -> 2902 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5550.ppd.gzbin4141 -> 4142 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5551.ppd.gzbin4136 -> 4136 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5552.ppd.gzbin4602 -> 4602 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5600.ppd.gzbin4596 -> 4596 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5650.ppd.gzbin4609 -> 4609 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5652.ppd.gzbin4601 -> 4601 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5700.ppd.gzbin4618 -> 4618 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5800.ppd.gzbin4600 -> 4600 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5850.ppd.gzbin4604 -> 4604 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_5900_series.ppd.gzbin4628 -> 4628 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_600.ppd.gzbin2918 -> 2918 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_610c.ppd.gzbin3014 -> 3014 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_610cl.ppd.gzbin3016 -> 3016 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_6120.ppd.gzbin3962 -> 3962 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_6122.ppd.gzbin3962 -> 3962 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_6127.ppd.gzbin3962 -> 3962 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_612c.ppd.gzbin3014 -> 3014 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_630c.ppd.gzbin2975 -> 2975 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_632c.ppd.gzbin2975 -> 2975 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_640c.ppd.gzbin3040 -> 3040 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_648c.ppd.gzbin3014 -> 3014 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_6500.ppd.gzbin4632 -> 4632 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_656c.ppd.gzbin2980 -> 2980 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_660.ppd.gzbin2921 -> 2921 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_6600.ppd.gzbin4619 -> 4619 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_670.ppd.gzbin2919 -> 2919 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_670c.ppd.gzbin2914 -> 2914 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_670tv.ppd.gzbin2919 -> 2919 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_672c.ppd.gzbin2917 -> 2917 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_680.ppd.gzbin2915 -> 2915 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_6800.ppd.gzbin4628 -> 4628 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_682.ppd.gzbin2915 -> 2915 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_690.ppd.gzbin3016 -> 3016 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_690c.ppd.gzbin3020 -> 3020 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_692.ppd.gzbin3018 -> 3018 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_693.ppd.gzbin3013 -> 3013 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_694.ppd.gzbin3013 -> 3013 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_6940_series.ppd.gzbin4621 -> 4621 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_695.ppd.gzbin3018 -> 3018 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_697.ppd.gzbin3013 -> 3013 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_6980_series.ppd.gzbin4635 -> 4635 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_810c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_812c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_815c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_816c.ppd.gzbin3022 -> 3022 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_825c.ppd.gzbin2932 -> 2932 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_830c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_832c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_840c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_841c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_842c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_843c.ppd.gzbin3026 -> 3026 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_845c.ppd.gzbin2932 -> 2932 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_850c.ppd.gzbin2860 -> 2860 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_855c.ppd.gzbin2865 -> 2865 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_870c.ppd.gzbin2869 -> 2869 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_880c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_882c.ppd.gzbin3021 -> 3021 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_890c.ppd.gzbin2904 -> 2904 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_895c.ppd.gzbin3031 -> 3031 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_916c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_920c.ppd.gzbin3937 -> 3937 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_9300.ppd.gzbin4299 -> 4299 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_930c.ppd.gzbin3928 -> 3928 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_932c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_933c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_934c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_935c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_940c.ppd.gzbin3937 -> 3937 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_948c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_950c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_952c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_955c.ppd.gzbin3935 -> 3935 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_957c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_959c.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_9600.ppd.gzbin4985 -> 4985 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_960c.ppd.gzbin3966 -> 3966 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_970c.ppd.gzbin3933 -> 3933 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_975c.ppd.gzbin3933 -> 3933 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_9800.ppd.gzbin4993 -> 4993 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_980c.ppd.gzbin3961 -> 3962 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_990c.ppd.gzbin3969 -> 3970 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_995c.ppd.gzbin3960 -> 3960 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d1300_series.ppd.gzbin3372 -> 3372 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d1400_series.ppd.gzbin3380 -> 3380 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d1500_series.ppd.gzbin3374 -> 3374 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d1600_series.ppd.gzbin2891 -> 2891 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d2300_series.ppd.gzbin3465 -> 3465 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d2400_series.ppd.gzbin3471 -> 3471 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d2500_series.ppd.gzbin4635 -> 4635 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d2600_series.ppd.gzbin4228 -> 4228 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d4100_series.ppd.gzbin3801 -> 3801 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d4200_series.ppd.gzbin3797 -> 3797 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d4300_series.ppd.gzbin3792 -> 3792 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d5500_series.ppd.gzbin4113 -> 4114 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_d730.ppd.gzbin4595 -> 4595 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f2100_series.ppd.gzbin3389 -> 3389 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f2200_series.ppd.gzbin3403 -> 3403 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f2400_series.ppd.gzbin2830 -> 2831 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f300_series.ppd.gzbin3500 -> 3500 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f4100_series.ppd.gzbin3490 -> 3490 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f4200_series.ppd.gzbin4679 -> 4679 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f4210_series.ppd.gzbin4629 -> 4630 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f4213_series.ppd.gzbin4629 -> 4629 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f4400_series.ppd.gzbin4139 -> 4138 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f4500_series.ppd.gzbin4109 -> 4110 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_f735.ppd.gzbin4610 -> 4610 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_ink_adv_2010_k010.ppd.gzbin2979 -> 2979 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_ink_adv_2060_k110.ppd.gzbin2980 -> 2981 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_ink_advant_k109a-z.ppd.gzbin4234 -> 4234 bytes
-rw-r--r--ppd/hpcups/hp-deskjet_ink_advant_k209a-z.ppd.gzbin4647 -> 4648 bytes
-rw-r--r--ppd/hpcups/hp-dj350.ppd.gzbin2057 -> 2057 bytes
-rw-r--r--ppd/hpcups/hp-dj450.ppd.gzbin3963 -> 3964 bytes
-rw-r--r--ppd/hpcups/hp-envy_100_d410_series.ppd.gzbin4869 -> 4941 bytes
-rw-r--r--ppd/hpcups/hp-envy_110_series.ppd.gzbin4866 -> 4938 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1000.ppd.gzbin3102 -> 3102 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1005_series.ppd.gzbin3121 -> 3121 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1010.ppd.gzbin2997 -> 2997 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1012.ppd.gzbin3001 -> 3001 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1015.ppd.gzbin3111 -> 3111 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1018.ppd.gzbin3103 -> 3103 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1020.ppd.gzbin3107 -> 3107 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1022-pcl3.ppd.gzbin3142 -> 3142 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1022-zjs.ppd.gzbin3112 -> 3112 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1022n-pcl3.ppd.gzbin3149 -> 3149 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1022n-zjs.ppd.gzbin3119 -> 3119 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1022nw-pcl3.ppd.gzbin3146 -> 3146 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1022nw-zjs.ppd.gzbin3117 -> 3116 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1100.ppd.gzbin3120 -> 3120 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1100a.ppd.gzbin3125 -> 3125 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1100xi.ppd.gzbin3126 -> 3126 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1150.ppd.gzbin3111 -> 3111 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1160.ppd.gzbin3115 -> 3115 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1160_series.ppd.gzbin3130 -> 3130 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1200-pcl3.ppd.gzbin3128 -> 3128 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1200n.ppd.gzbin3112 -> 3112 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1220-pcl3.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1220se.ppd.gzbin3122 -> 3122 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1300-pcl3.ppd.gzbin3127 -> 3127 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1300n-pcl3.ppd.gzbin3124 -> 3124 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1300xi-pcl3.ppd.gzbin3126 -> 3126 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1320.ppd.gzbin3114 -> 3114 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1320_series-pcl3.ppd.gzbin3142 -> 3142 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1320n.ppd.gzbin3112 -> 3112 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1320nw.ppd.gzbin3114 -> 3114 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_1320tn.ppd.gzbin3115 -> 3115 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2100.ppd.gzbin3128 -> 3128 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2100_series-pcl3.ppd.gzbin3141 -> 3141 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2200-pcl3.ppd.gzbin3140 -> 3140 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2200_series.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2300-pcl3.ppd.gzbin3140 -> 3140 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2300_series.ppd.gzbin3130 -> 3130 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2410-pcl3.ppd.gzbin3122 -> 3122 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2420-pcl3.ppd.gzbin3132 -> 3132 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_2430-pcl3.ppd.gzbin3138 -> 3138 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3015-pcl3.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3020-pcl3.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3030-pcl3.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3050-pcl3.ppd.gzbin3134 -> 3134 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3052-pcl3.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3055.ppd.gzbin3118 -> 3118 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3100.ppd.gzbin3127 -> 3127 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3150.ppd.gzbin3128 -> 3128 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3200.ppd.gzbin3118 -> 3118 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3200m-pcl3.ppd.gzbin3131 -> 3131 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3200se.ppd.gzbin3122 -> 3122 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3300_3310_3320-pcl3.ppd.gzbin3182 -> 3182 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3330.ppd.gzbin3118 -> 3118 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3380-pcl3.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3390-pcl3.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_3392.ppd.gzbin3118 -> 3118 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4000_series-pcl3.ppd.gzbin3156 -> 3156 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4050_series-pcl3.ppd.gzbin3157 -> 3157 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4100_mfp-pcl3.ppd.gzbin3147 -> 3147 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4100_series-pcl3.ppd.gzbin3155 -> 3155 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4150_series.ppd.gzbin3130 -> 3130 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4200-pcl3.ppd.gzbin3150 -> 3150 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4240-pcl3.ppd.gzbin3126 -> 3126 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4250-pcl3.ppd.gzbin3138 -> 3138 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4300-pcl3.ppd.gzbin3142 -> 3142 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4345_mfp-pcl3.ppd.gzbin3155 -> 3155 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4350-pcl3.ppd.gzbin3138 -> 3138 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4_plus-pcl3.ppd.gzbin3133 -> 3133 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4l.ppd.gzbin3141 -> 3141 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4ml.ppd.gzbin3132 -> 3132 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4mp-pcl3.ppd.gzbin3121 -> 3121 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4si-pcl3.ppd.gzbin3125 -> 3125 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_4v-pcl3.ppd.gzbin3119 -> 3119 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5000.ppd.gzbin3376 -> 3376 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5000_series-pcl3.ppd.gzbin3141 -> 3141 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5100_series-pcl3.ppd.gzbin3408 -> 3408 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5200-pcl3.ppd.gzbin3383 -> 3383 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5200l-pcl3.ppd.gzbin3373 -> 3373 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5200lx.ppd.gzbin3114 -> 3114 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5l.ppd.gzbin3119 -> 3119 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5mp-pcl3.ppd.gzbin3121 -> 3121 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5p.ppd.gzbin3107 -> 3107 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5si-pcl3.ppd.gzbin3383 -> 3383 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_5si_mopier-pcl3.ppd.gzbin3393 -> 3393 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_6l.ppd.gzbin3127 -> 3127 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_6mp-pcl3.ppd.gzbin3130 -> 3130 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_6p.ppd.gzbin3107 -> 3107 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_8000.ppd.gzbin3368 -> 3368 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_8000_series-pcl3.ppd.gzbin3141 -> 3141 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_8100_mfp.ppd.gzbin3131 -> 3131 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_8100_series-pcl3.ppd.gzbin3399 -> 3399 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_8150_mfp.ppd.gzbin3131 -> 3131 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_8150_series-pcl3.ppd.gzbin3403 -> 3403 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_9000_mfp-pcl3.ppd.gzbin3397 -> 3397 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_9000_series-pcl3.ppd.gzbin3408 -> 3408 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_9040-pcl3.ppd.gzbin3379 -> 3379 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_9040_mfp-pcl3.ppd.gzbin3403 -> 3403 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_9050-pcl3.ppd.gzbin3379 -> 3379 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_9050_mfp-pcl3.ppd.gzbin3394 -> 3394 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_9055mfp-pcl3.ppd.gzbin3386 -> 3386 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_9065mfp-pcl3.ppd.gzbin3386 -> 3386 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cm1411fn-pcl3.ppd.gzbin3175 -> 3175 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cm1412fn-pcl3.ppd.gzbin3175 -> 3175 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cm1413fn-pcl3.ppd.gzbin3175 -> 3175 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cm1415fn-pcl3.ppd.gzbin3175 -> 3175 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cm1415fnw-pcl3.ppd.gzbin3178 -> 3178 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gzbin3178 -> 3178 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gzbin3176 -> 3176 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gzbin3178 -> 3178 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp1021.ppd.gzbin2898 -> 0 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp1022.ppd.gzbin2898 -> 0 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp1023.ppd.gzbin2898 -> 0 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp1025.ppd.gzbin2898 -> 2912 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp1025nw.ppd.gzbin2902 -> 2917 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp1027nw.ppd.gzbin2902 -> 0 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp1028nw.ppd.gzbin2902 -> 0 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp_1025.ppd.gzbin0 -> 2919 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gzbin0 -> 2923 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1005.ppd.gzbin3046 -> 3047 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gzbin3129 -> 3129 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gzbin3131 -> 3131 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1319f_mfp.ppd.gzbin3130 -> 3130 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1522nf_mfp-pcl3.ppd.gzbin3150 -> 3150 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1536dnf_mfp-pcl3.ppd.gzbin3142 -> 3142 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1537dnf_mfp-pcl3.ppd.gzbin3142 -> 3142 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1538dnf_mfp-pcl3.ppd.gzbin3142 -> 3142 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m1539dnf_mfp-pcl3.ppd.gzbin3142 -> 3142 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m2727_mfp-pcl3.ppd.gzbin3145 -> 3145 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m3027_mfp-pcl3.ppd.gzbin3150 -> 3150 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m3035_mfp-pcl3.ppd.gzbin3401 -> 3401 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m4345_mfp-pcl3.ppd.gzbin3158 -> 3158 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m4349_mfp-pcl3.ppd.gzbin3136 -> 3136 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m5025_mfp-pcl3.ppd.gzbin3396 -> 3396 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m5035_mfp-pcl3.ppd.gzbin3404 -> 3404 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m5039_mfp-pcl3.ppd.gzbin3396 -> 3396 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m9040_mfp-pcl3.ppd.gzbin3145 -> 3145 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m9050_mfp-pcl3.ppd.gzbin3150 -> 3150 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_m9059_mfp-pcl3.ppd.gzbin3136 -> 3136 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p1005.ppd.gzbin3041 -> 3042 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p1006.ppd.gzbin3043 -> 3044 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p1007.ppd.gzbin3043 -> 3044 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p1008.ppd.gzbin3043 -> 3044 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p1009.ppd.gzbin3043 -> 3044 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p1505.ppd.gzbin3040 -> 3041 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p1505n-pcl3.ppd.gzbin3146 -> 3146 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p1505n-zxs.ppd.gzbin3052 -> 3053 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2014-pcl3.ppd.gzbin3144 -> 3144 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2014-zxs.ppd.gzbin3050 -> 3051 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2014n-pcl3.ppd.gzbin3146 -> 3146 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2014n-zxs.ppd.gzbin3052 -> 3053 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2015_series-pcl3.ppd.gzbin3144 -> 3144 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2015d_series.ppd.gzbin3133 -> 3133 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2015dn_series.ppd.gzbin3136 -> 3136 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2015n_series.ppd.gzbin3134 -> 3134 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2015x_series.ppd.gzbin3134 -> 3134 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2035-pcl3.ppd.gzbin3144 -> 3144 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2035-zjs.ppd.gzbin3115 -> 3115 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2035n-pcl3.ppd.gzbin3146 -> 3146 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2035n-zjs.ppd.gzbin3117 -> 3117 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2055-pcl3.ppd.gzbin3124 -> 3124 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2055d-pcl3.ppd.gzbin3125 -> 3125 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2055dn-pcl3.ppd.gzbin3128 -> 3128 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p2055x-pcl3.ppd.gzbin3126 -> 3126 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p3004-pcl3.ppd.gzbin3124 -> 3124 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p3005-pcl3.ppd.gzbin3141 -> 3141 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p3010_series-pcl3.ppd.gzbin3148 -> 3148 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4014.ppd.gzbin3112 -> 3112 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4014dn.ppd.gzbin3117 -> 3117 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4014n.ppd.gzbin3115 -> 3115 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4015.ppd.gzbin3112 -> 3112 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4015dn.ppd.gzbin3117 -> 3117 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4015n.ppd.gzbin3115 -> 3115 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4015tn.ppd.gzbin3116 -> 3116 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4015x.ppd.gzbin3115 -> 3115 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4515.ppd.gzbin3112 -> 3112 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4515n.ppd.gzbin3115 -> 3115 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4515tn.ppd.gzbin3116 -> 3116 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4515x.ppd.gzbin3115 -> 3115 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_p4515xm.ppd.gzbin3117 -> 3117 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_m1132_mfp.ppd.gzbin2505 -> 2510 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_m1136_mfp.ppd.gzbin2504 -> 2504 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_m1212nf_mfp.ppd.gzbin2509 -> 2509 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_m1213nf_mfp.ppd.gzbin2509 -> 2509 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_m1214nfh_mfp.ppd.gzbin2511 -> 2511 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_m1216nfh_mfp.ppd.gzbin2500 -> 2500 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gzbin2511 -> 2511 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gzbin2498 -> 2498 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_p1102.ppd.gzbin2479 -> 2482 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_p1102s.ppd.gzbin2480 -> 0 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gzbin2480 -> 2480 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_p1106.ppd.gzbin2479 -> 2479 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_p1108.ppd.gzbin2477 -> 2477 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_p1566.ppd.gzbin2476 -> 2476 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_p1606dn.ppd.gzbin3045 -> 3045 bytes
-rw-r--r--ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gzbin2491 -> 2491 bytes
-rw-r--r--ppd/hpcups/hp-mopier_240-pcl3.ppd.gzbin3367 -> 3367 bytes
-rw-r--r--ppd/hpcups/hp-mopier_320-pcl3.ppd.gzbin3367 -> 3367 bytes
-rw-r--r--ppd/hpcups/hp-officejet.ppd.gzbin2884 -> 2884 bytes
-rw-r--r--ppd/hpcups/hp-officejet_100_mobile_l411.ppd.gzbin3611 -> 3612 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4000_k210.ppd.gzbin4203 -> 4203 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4100_series.ppd.gzbin3375 -> 3375 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4105.ppd.gzbin3343 -> 3343 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4115_series.ppd.gzbin3363 -> 3363 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4200_series.ppd.gzbin3481 -> 3481 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4255.ppd.gzbin3455 -> 3455 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4300_series.ppd.gzbin3411 -> 3411 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4400_k410.ppd.gzbin4102 -> 4103 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4500_g510a-f.ppd.gzbin4131 -> 4132 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4500_g510g-m.ppd.gzbin4118 -> 4119 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4500_g510n-z.ppd.gzbin3537 -> 3537 bytes
-rw-r--r--ppd/hpcups/hp-officejet_4500_k710.ppd.gzbin4107 -> 4107 bytes
-rw-r--r--ppd/hpcups/hp-officejet_5100_series.ppd.gzbin3970 -> 3970 bytes
-rw-r--r--ppd/hpcups/hp-officejet_5105.ppd.gzbin3936 -> 3936 bytes
-rw-r--r--ppd/hpcups/hp-officejet_5110.ppd.gzbin3941 -> 3941 bytes
-rw-r--r--ppd/hpcups/hp-officejet_5110v.ppd.gzbin3938 -> 3938 bytes
-rw-r--r--ppd/hpcups/hp-officejet_5500_series.ppd.gzbin3479 -> 3479 bytes
-rw-r--r--ppd/hpcups/hp-officejet_5600_series.ppd.gzbin3494 -> 3494 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6000_e609a.ppd.gzbin3977 -> 3977 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6000_e609n.ppd.gzbin4924 -> 4924 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6100.ppd.gzbin0 -> 3922 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6100_series.ppd.gzbin4643 -> 4643 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6150_series.ppd.gzbin4628 -> 4628 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6200_series.ppd.gzbin4657 -> 4657 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6300_series.ppd.gzbin4665 -> 4665 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6500_e709a.ppd.gzbin3988 -> 3989 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6500_e709n.ppd.gzbin4951 -> 4951 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gzbin3976 -> 3976 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gzbin4661 -> 4661 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6600.ppd.gzbin0 -> 3933 bytes
-rw-r--r--ppd/hpcups/hp-officejet_6700.ppd.gzbin0 -> 4658 bytes
-rw-r--r--ppd/hpcups/hp-officejet_7000_e809a.ppd.gzbin4429 -> 4429 bytes
-rw-r--r--ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gzbin4447 -> 4447 bytes
-rw-r--r--ppd/hpcups/hp-officejet_7100_series.ppd.gzbin4014 -> 4014 bytes
-rw-r--r--ppd/hpcups/hp-officejet_7200_series.ppd.gzbin4652 -> 4652 bytes
-rw-r--r--ppd/hpcups/hp-officejet_7300_series.ppd.gzbin4639 -> 4639 bytes
-rw-r--r--ppd/hpcups/hp-officejet_7400_series.ppd.gzbin4642 -> 4642 bytes
-rw-r--r--ppd/hpcups/hp-officejet_7500_e910.ppd.gzbin4693 -> 4694 bytes
-rw-r--r--ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gzbin3199 -> 3199 bytes
-rw-r--r--ppd/hpcups/hp-officejet_d_series.ppd.gzbin4002 -> 4002 bytes
-rw-r--r--ppd/hpcups/hp-officejet_g55.ppd.gzbin3934 -> 3934 bytes
-rw-r--r--ppd/hpcups/hp-officejet_g55xi.ppd.gzbin3938 -> 3938 bytes
-rw-r--r--ppd/hpcups/hp-officejet_g85.ppd.gzbin3934 -> 3934 bytes
-rw-r--r--ppd/hpcups/hp-officejet_g85xi.ppd.gzbin3938 -> 3938 bytes
-rw-r--r--ppd/hpcups/hp-officejet_g95.ppd.gzbin3934 -> 3934 bytes
-rw-r--r--ppd/hpcups/hp-officejet_h470.ppd.gzbin4156 -> 4156 bytes
-rw-r--r--ppd/hpcups/hp-officejet_j3500_series.ppd.gzbin3463 -> 3463 bytes
-rw-r--r--ppd/hpcups/hp-officejet_j3600_series.ppd.gzbin3480 -> 3480 bytes
-rw-r--r--ppd/hpcups/hp-officejet_j4500_series.ppd.gzbin4660 -> 4661 bytes
-rw-r--r--ppd/hpcups/hp-officejet_j4660_series.ppd.gzbin4645 -> 4645 bytes
-rw-r--r--ppd/hpcups/hp-officejet_j4680_series.ppd.gzbin4648 -> 4648 bytes
-rw-r--r--ppd/hpcups/hp-officejet_j5500_series.ppd.gzbin3486 -> 3486 bytes
-rw-r--r--ppd/hpcups/hp-officejet_j5700_series.ppd.gzbin4668 -> 4668 bytes
-rw-r--r--ppd/hpcups/hp-officejet_j6400_series.ppd.gzbin4658 -> 4659 bytes
-rw-r--r--ppd/hpcups/hp-officejet_k60.ppd.gzbin3934 -> 3934 bytes
-rw-r--r--ppd/hpcups/hp-officejet_k60xi.ppd.gzbin3939 -> 3939 bytes
-rw-r--r--ppd/hpcups/hp-officejet_k7100.ppd.gzbin4988 -> 4988 bytes
-rw-r--r--ppd/hpcups/hp-officejet_k80.ppd.gzbin3934 -> 3934 bytes
-rw-r--r--ppd/hpcups/hp-officejet_k80xi.ppd.gzbin3939 -> 3939 bytes
-rw-r--r--ppd/hpcups/hp-officejet_lx.ppd.gzbin2897 -> 2897 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_1150c.ppd.gzbin2886 -> 2886 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gzbin2966 -> 2966 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gzbin4632 -> 4632 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_8100.ppd.gzbin4381 -> 4381 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gzbin4630 -> 4630 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_8500_a909g.ppd.gzbin4637 -> 4637 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_8500_a909n.ppd.gzbin4635 -> 4636 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_8500_a910.ppd.gzbin4645 -> 4645 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_8600.ppd.gzbin4389 -> 4389 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_k5300.ppd.gzbin4164 -> 4164 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_k5400.ppd.gzbin4176 -> 4176 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_k550.ppd.gzbin4176 -> 4176 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_k850.ppd.gzbin4537 -> 4537 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_k8600.ppd.gzbin4542 -> 4542 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_l7300.ppd.gzbin4180 -> 4180 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_l7400.ppd.gzbin4172 -> 4172 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_l7500.ppd.gzbin4190 -> 4190 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_l7600.ppd.gzbin4187 -> 4187 bytes
-rw-r--r--ppd/hpcups/hp-officejet_pro_l7700.ppd.gzbin4188 -> 4188 bytes
-rw-r--r--ppd/hpcups/hp-officejet_r40.ppd.gzbin3029 -> 3029 bytes
-rw-r--r--ppd/hpcups/hp-officejet_r40xi.ppd.gzbin3035 -> 3035 bytes
-rw-r--r--ppd/hpcups/hp-officejet_r45.ppd.gzbin3030 -> 3030 bytes
-rw-r--r--ppd/hpcups/hp-officejet_r60.ppd.gzbin3030 -> 3030 bytes
-rw-r--r--ppd/hpcups/hp-officejet_r65.ppd.gzbin3030 -> 3030 bytes
-rw-r--r--ppd/hpcups/hp-officejet_r80.ppd.gzbin3030 -> 3030 bytes
-rw-r--r--ppd/hpcups/hp-officejet_r80xi.ppd.gzbin3035 -> 3035 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_300.ppd.gzbin2927 -> 2927 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_310.ppd.gzbin2928 -> 2928 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_320.ppd.gzbin2929 -> 2929 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_330.ppd.gzbin2917 -> 2917 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_350.ppd.gzbin2917 -> 2917 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_500.ppd.gzbin2943 -> 0 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_520.ppd.gzbin2944 -> 2944 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_570.ppd.gzbin2944 -> 2944 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_580.ppd.gzbin2944 -> 2944 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_590.ppd.gzbin2944 -> 2944 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_600.ppd.gzbin2943 -> 2943 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_610.ppd.gzbin2944 -> 2944 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_630.ppd.gzbin2948 -> 2948 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_700.ppd.gzbin3044 -> 3044 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_710.ppd.gzbin3043 -> 3043 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_720.ppd.gzbin3043 -> 3043 bytes
-rw-r--r--ppd/hpcups/hp-officejet_series_725.ppd.gzbin3044 -> 3044 bytes
-rw-r--r--ppd/hpcups/hp-officejet_t_series.ppd.gzbin3059 -> 3059 bytes
-rw-r--r--ppd/hpcups/hp-officejet_v30.ppd.gzbin3933 -> 3933 bytes
-rw-r--r--ppd/hpcups/hp-officejet_v40.ppd.gzbin3938 -> 3938 bytes
-rw-r--r--ppd/hpcups/hp-officejet_v40xi.ppd.gzbin3938 -> 3938 bytes
-rw-r--r--ppd/hpcups/hp-officejet_v45.ppd.gzbin3934 -> 3934 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_100.ppd.gzbin1950 -> 1951 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_1115.ppd.gzbin3960 -> 3960 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_1215.ppd.gzbin3965 -> 3965 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_1218.ppd.gzbin3965 -> 3965 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_130.ppd.gzbin1959 -> 1960 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_1315.ppd.gzbin3960 -> 3960 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_140_series.ppd.gzbin1990 -> 1990 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_230.ppd.gzbin1959 -> 1960 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_240_series.ppd.gzbin1986 -> 1987 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_2570_series.ppd.gzbin4658 -> 4658 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_2600_series.ppd.gzbin4654 -> 4654 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_2700_series.ppd.gzbin4640 -> 4640 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_3100_series.ppd.gzbin4640 -> 4640 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_3200_series.ppd.gzbin4654 -> 4654 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_320_series.ppd.gzbin2050 -> 2051 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_3300_series.ppd.gzbin4647 -> 4647 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_330_series.ppd.gzbin2052 -> 2053 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_370_series.ppd.gzbin2064 -> 2065 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_380_series.ppd.gzbin2043 -> 2044 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_420_series.ppd.gzbin2060 -> 2061 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_470_series.ppd.gzbin2479 -> 2480 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_5510_series.ppd.gzbin4211 -> 4211 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_5510d_series.ppd.gzbin4797 -> 4797 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_6510_series.ppd.gzbin4796 -> 4798 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7150.ppd.gzbin4611 -> 4612 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7200_series.ppd.gzbin4635 -> 4635 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7345.ppd.gzbin4603 -> 4603 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7350.ppd.gzbin4611 -> 4612 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7400_series.ppd.gzbin4640 -> 4640 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7510_series.ppd.gzbin4838 -> 4838 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7550.ppd.gzbin4611 -> 4611 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7600_series.ppd.gzbin4631 -> 4631 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7700_series.ppd.gzbin4647 -> 4647 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7800_series.ppd.gzbin4643 -> 4643 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_7900_series.ppd.gzbin4637 -> 4637 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_8000_series.ppd.gzbin4646 -> 4646 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_8100_series.ppd.gzbin4640 -> 4640 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_8200_series.ppd.gzbin4643 -> 4643 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_8400_series.ppd.gzbin4644 -> 4644 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_8700_series.ppd.gzbin4971 -> 4972 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a310_series.ppd.gzbin2047 -> 2048 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a320_series.ppd.gzbin2040 -> 2041 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a430_series.ppd.gzbin2050 -> 2051 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a440_series.ppd.gzbin2042 -> 2043 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a510_series.ppd.gzbin2042 -> 2044 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a520_series.ppd.gzbin2052 -> 2054 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a530_series.ppd.gzbin1801 -> 1802 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a610_series.ppd.gzbin2484 -> 2485 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a620_series.ppd.gzbin2484 -> 2485 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a630_series.ppd.gzbin1799 -> 1799 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a640_series.ppd.gzbin1791 -> 1791 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a710_series.ppd.gzbin2479 -> 2480 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_a820_series.ppd.gzbin2480 -> 2480 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_b010_series.ppd.gzbin3693 -> 3694 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_b109a-m.ppd.gzbin3693 -> 3694 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_b109a_series.ppd.gzbin3707 -> 3707 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_b110_series.ppd.gzbin3700 -> 3701 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_b8500_series.ppd.gzbin5172 -> 5172 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c309a_series.ppd.gzbin5073 -> 5074 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c3100_series.ppd.gzbin4680 -> 4680 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c4100_series.ppd.gzbin4674 -> 4674 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c4200_series.ppd.gzbin4682 -> 4682 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c4340_series.ppd.gzbin4649 -> 4649 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c4380_series.ppd.gzbin4646 -> 4646 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c4400_series.ppd.gzbin4687 -> 4687 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c4500_series.ppd.gzbin4673 -> 4673 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c4600_series.ppd.gzbin4141 -> 4142 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c4700_series.ppd.gzbin4143 -> 4143 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c5100_series.ppd.gzbin4666 -> 4666 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c5200_series.ppd.gzbin4666 -> 4666 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c5300_series.ppd.gzbin3955 -> 3955 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c5500_series.ppd.gzbin4644 -> 4644 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c6100_series.ppd.gzbin4663 -> 4663 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c6200_series.ppd.gzbin4674 -> 4674 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c6300_series.ppd.gzbin3957 -> 3957 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c7100_series.ppd.gzbin4659 -> 4659 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c7200_series.ppd.gzbin4649 -> 4649 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_c8100_series.ppd.gzbin4646 -> 4646 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d110_series.ppd.gzbin4101 -> 4101 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d5060_series.ppd.gzbin4634 -> 4634 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d5100_series.ppd.gzbin4644 -> 4644 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d5300_series.ppd.gzbin4637 -> 4637 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d5400_series.ppd.gzbin4633 -> 4633 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d6100_series.ppd.gzbin4633 -> 4633 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d7100_series.ppd.gzbin4640 -> 4640 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d7200_series.ppd.gzbin4640 -> 4640 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d7300_series.ppd.gzbin4640 -> 4640 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d7400_series.ppd.gzbin4633 -> 4633 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_d7500_series.ppd.gzbin3927 -> 3928 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_estn_c510_series.ppd.gzbin4686 -> 4686 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_ink_adv_k510.ppd.gzbin4109 -> 4109 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_p1000.ppd.gzbin3937 -> 3937 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_p1100.ppd.gzbin3934 -> 3934 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_plus_b209a-m.ppd.gzbin3705 -> 3706 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_plus_b210_series.ppd.gzbin3695 -> 3696 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_prem-web_c309n-s.ppd.gzbin4902 -> 4902 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_prem_c310_series.ppd.gzbin4685 -> 4685 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_prem_c410_series.ppd.gzbin4685 -> 4685 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_premium_c309g-m.ppd.gzbin4895 -> 4895 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_pro_b8300_series.ppd.gzbin5204 -> 5205 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_pro_b8800_series.ppd.gzbin5192 -> 5193 bytes
-rw-r--r--ppd/hpcups/hp-photosmart_wireless_b109n-z.ppd.gzbin3717 -> 3718 bytes
-rw-r--r--ppd/hpcups/hp-printer_scanner_copier_300.ppd.gzbin2945 -> 2945 bytes
-rw-r--r--ppd/hpcups/hp-psc_1000_series.ppd.gzbin3364 -> 3364 bytes
-rw-r--r--ppd/hpcups/hp-psc_1100_series.ppd.gzbin3365 -> 3365 bytes
-rw-r--r--ppd/hpcups/hp-psc_1200_series.ppd.gzbin3389 -> 3389 bytes
-rw-r--r--ppd/hpcups/hp-psc_1300_series.ppd.gzbin3473 -> 3473 bytes
-rw-r--r--ppd/hpcups/hp-psc_1310_series.ppd.gzbin3480 -> 3480 bytes
-rw-r--r--ppd/hpcups/hp-psc_1358_series.ppd.gzbin3472 -> 3472 bytes
-rw-r--r--ppd/hpcups/hp-psc_1400_series.ppd.gzbin3484 -> 3484 bytes
-rw-r--r--ppd/hpcups/hp-psc_1500_series.ppd.gzbin4631 -> 4631 bytes
-rw-r--r--ppd/hpcups/hp-psc_1510_series.ppd.gzbin4647 -> 4648 bytes
-rw-r--r--ppd/hpcups/hp-psc_1600_series.ppd.gzbin4649 -> 4649 bytes
-rw-r--r--ppd/hpcups/hp-psc_2100_series.ppd.gzbin3996 -> 3996 bytes
-rw-r--r--ppd/hpcups/hp-psc_2150_series.ppd.gzbin3975 -> 3976 bytes
-rw-r--r--ppd/hpcups/hp-psc_2170_series.ppd.gzbin3994 -> 3994 bytes
-rw-r--r--ppd/hpcups/hp-psc_2200_series.ppd.gzbin4619 -> 4619 bytes
-rw-r--r--ppd/hpcups/hp-psc_2210_series.ppd.gzbin4628 -> 4629 bytes
-rw-r--r--ppd/hpcups/hp-psc_2300_series.ppd.gzbin4624 -> 4624 bytes
-rw-r--r--ppd/hpcups/hp-psc_2350_series.ppd.gzbin4650 -> 4650 bytes
-rw-r--r--ppd/hpcups/hp-psc_2400_series.ppd.gzbin4647 -> 4647 bytes
-rw-r--r--ppd/hpcups/hp-psc_2500_series.ppd.gzbin4637 -> 4637 bytes
-rw-r--r--ppd/hpcups/hp-psc_500.ppd.gzbin3024 -> 3024 bytes
-rw-r--r--ppd/hpcups/hp-psc_720.ppd.gzbin3924 -> 3924 bytes
-rw-r--r--ppd/hpcups/hp-psc_750.ppd.gzbin3923 -> 3923 bytes
-rw-r--r--ppd/hpcups/hp-psc_750xi.ppd.gzbin3928 -> 3928 bytes
-rw-r--r--ppd/hpcups/hp-psc_760.ppd.gzbin3923 -> 3923 bytes
-rw-r--r--ppd/hpcups/hp-psc_780.ppd.gzbin3923 -> 3923 bytes
-rw-r--r--ppd/hpcups/hp-psc_780xi.ppd.gzbin3928 -> 3928 bytes
-rw-r--r--ppd/hpcups/hp-psc_900_series.ppd.gzbin3942 -> 3942 bytes
-rw-r--r--ppd/hpcups/hp-psc_920.ppd.gzbin3923 -> 3923 bytes
-rw-r--r--ppd/hpcups/hp-psc_950.ppd.gzbin3923 -> 3923 bytes
-rw-r--r--ppd/hpcups/hp-psc_950vr.ppd.gzbin3928 -> 3928 bytes
-rw-r--r--ppd/hpcups/hp-psc_950xi.ppd.gzbin3928 -> 3928 bytes
-rw-r--r--ppd/hpijs/hp-2000c-hpijs.ppd.gzbin3649 -> 3649 bytes
-rw-r--r--ppd/hpijs/hp-2500c-hpijs.ppd.gzbin3853 -> 3853 bytes
-rw-r--r--ppd/hpijs/hp-910-hpijs.ppd.gzbin3696 -> 3696 bytes
-rw-r--r--ppd/hpijs/hp-915-hpijs.ppd.gzbin3709 -> 3709 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gzbin4158 -> 4158 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_1100-hpijs.ppd.gzbin4171 -> 4171 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_1200-hpijs.ppd.gzbin4175 -> 4175 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_2200-hpijs.ppd.gzbin3893 -> 3893 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_2230-hpijs.ppd.gzbin3885 -> 3885 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_2250-hpijs-pcl3.ppd.gzbin3900 -> 3900 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gzbin3900 -> 3900 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_2300-hpijs-pcl3.ppd.gzbin3887 -> 3887 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_2600-hpijs-pcl3.ppd.gzbin4088 -> 4088 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_2800-hpijs-pcl3.ppd.gzbin4092 -> 4092 bytes
-rw-r--r--ppd/hpijs/hp-business_inkjet_3000-hpijs-pcl3.ppd.gzbin4091 -> 4091 bytes
-rw-r--r--ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gzbin4181 -> 4181 bytes
-rw-r--r--ppd/hpijs/hp-color_inkjet_printer_cp1700-hpijs.ppd.gzbin4405 -> 4405 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_1600-hpijs.ppd.gzbin3283 -> 3283 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_2500-hpijs-pcl3.ppd.gzbin3872 -> 3872 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_2500_series-hpijs.ppd.gzbin3897 -> 3897 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_2600n-hpijs.ppd.gzbin3280 -> 3280 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3000-hpijs-pcl3.ppd.gzbin3883 -> 3883 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gzbin3493 -> 3493 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gzbin3489 -> 3489 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3550-hpijs.ppd.gzbin3489 -> 3489 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3550n-hpijs.ppd.gzbin3492 -> 3492 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3600-hpijs.ppd.gzbin3495 -> 3495 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3700-hpijs-pcl3.ppd.gzbin3873 -> 3873 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3700n-hpijs.ppd.gzbin3874 -> 3874 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_3800-hpijs-pcl3.ppd.gzbin3884 -> 3884 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_4500-hpijs-pcl3.ppd.gzbin3880 -> 3880 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gzbin3892 -> 3892 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_4600-hpijs-pcl3.ppd.gzbin3877 -> 3877 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_4600_series-hpijs.ppd.gzbin3899 -> 3899 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_4610-hpijs-pcl3.ppd.gzbin3875 -> 3875 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_4650-hpijs-pcl3.ppd.gzbin3888 -> 3888 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_4700-hpijs-pcl3.ppd.gzbin3889 -> 3889 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_4730mfp-hpijs-pcl3.ppd.gzbin3902 -> 3902 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gzbin3929 -> 3929 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gzbin4050 -> 4050 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_5550-hpijs-pcl3.ppd.gzbin4053 -> 4053 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_5m-hpijs-pcl3.ppd.gzbin3945 -> 3945 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_8500-hpijs-pcl3.ppd.gzbin4043 -> 4043 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_8550-hpijs-pcl3.ppd.gzbin4079 -> 4079 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_9500-hpijs-pcl3.ppd.gzbin4050 -> 4050 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_9500_mfp-hpijs-pcl3.ppd.gzbin4066 -> 4066 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm1312_mfp-hpijs-pcl3.ppd.gzbin3905 -> 3905 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm1312nfi_mfp-hpijs-pcl3.ppd.gzbin3912 -> 3912 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm2320_mfp-hpijs-pcl3.ppd.gzbin3904 -> 3904 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm2320fxi_mfp-hpijs-pcl3.ppd.gzbin3913 -> 3913 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm2320n_mfp-hpijs-pcl3.ppd.gzbin3907 -> 3907 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm2320nf_mfp-hpijs-pcl3.ppd.gzbin3910 -> 3910 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gzbin3910 -> 3910 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm4540_mfp-hpijs-pcl3.ppd.gzbin3905 -> 3905 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm4730_mfp-hpijs-pcl3.ppd.gzbin3917 -> 3917 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm6030_mfp-hpijs-pcl3.ppd.gzbin4074 -> 4074 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm6040_mfp-hpijs.ppd.gzbin4067 -> 4067 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cm6049_mfp-hpijs.ppd.gzbin4045 -> 4045 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gzbin3286 -> 3286 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp1217-hpijs.ppd.gzbin3286 -> 3286 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp1514n-hpijs-pcl3.ppd.gzbin3881 -> 3881 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp1515n-hpijs-pcl3.ppd.gzbin3881 -> 3881 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp1518ni-hpijs-pcl3.ppd.gzbin3887 -> 3887 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp2025-hpijs-pcl3.ppd.gzbin3878 -> 3878 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp2025dn-hpijs-pcl3.ppd.gzbin3887 -> 3887 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp2025n-hpijs-pcl3.ppd.gzbin3881 -> 3881 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp2025x-hpijs-pcl3.ppd.gzbin3881 -> 3881 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp3505-hpijs-pcl3.ppd.gzbin3890 -> 3890 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp3525-hpijs-pcl3.ppd.gzbin3889 -> 3889 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp4005-hpijs-pcl3.ppd.gzbin3891 -> 3891 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp4020_series-hpijs-pcl3.ppd.gzbin3901 -> 3901 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp4520_series-hpijs-pcl3.ppd.gzbin3901 -> 3901 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp5225-hpijs-pcl3.ppd.gzbin3875 -> 3875 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp5225dn-hpijs-pcl3.ppd.gzbin3884 -> 3884 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp5225n-hpijs-pcl3.ppd.gzbin3877 -> 3877 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gzbin3901 -> 3901 bytes
-rw-r--r--ppd/hpijs/hp-color_laserjet_cp6015-hpijs-pcl3.ppd.gzbin4058 -> 4058 bytes
-rw-r--r--ppd/hpijs/hp-cp1160-hpijs.ppd.gzbin4158 -> 4158 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gzbin4142 -> 4142 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gzbin4157 -> 4157 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1100-hpijs.ppd.gzbin3336 -> 3336 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1120-hpijs.ppd.gzbin3898 -> 3898 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1125-hpijs.ppd.gzbin3890 -> 3890 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1200c-hpijs.ppd.gzbin3923 -> 3923 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1220c-hpijs.ppd.gzbin3939 -> 3939 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gzbin3922 -> 3922 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1600c-hpijs.ppd.gzbin3921 -> 3921 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1600cm-hpijs.ppd.gzbin3923 -> 3923 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gzbin3923 -> 3923 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_2000_j210_series-hpijs.ppd.gzbin4143 -> 4144 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_2050_j510_series-hpijs.ppd.gzbin4158 -> 4158 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3000_j310_series-hpijs.ppd.gzbin4145 -> 4145 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gzbin4146 -> 4146 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3050a_j611_series-hpijs.ppd.gzbin4146 -> 4146 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3070_b611_series-hpijs.ppd.gzbin4223 -> 4224 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3320-hpijs.ppd.gzbin3587 -> 3587 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3325-hpijs.ppd.gzbin3581 -> 3581 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3420-hpijs.ppd.gzbin3630 -> 3630 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3425-hpijs.ppd.gzbin3621 -> 3621 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3450-hpijs.ppd.gzbin3627 -> 3627 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3500-hpijs.ppd.gzbin3598 -> 3598 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3550-hpijs.ppd.gzbin3591 -> 3591 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3600-hpijs.ppd.gzbin3724 -> 3724 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gzbin3743 -> 3743 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gzbin3600 -> 3600 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3810-hpijs.ppd.gzbin3732 -> 3732 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3816-hpijs.ppd.gzbin3737 -> 3737 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gzbin3733 -> 3733 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gzbin3740 -> 3740 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3822-hpijs.ppd.gzbin3732 -> 3732 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3840-hpijs.ppd.gzbin3736 -> 3736 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3870-hpijs.ppd.gzbin3732 -> 3732 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3900-hpijs.ppd.gzbin3580 -> 3580 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3910-hpijs.ppd.gzbin3598 -> 3598 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3920-hpijs.ppd.gzbin3579 -> 3579 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_3940-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_400-hpijs.ppd.gzbin3295 -> 3295 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gzbin3354 -> 3354 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_460-hpijs.ppd.gzbin4208 -> 4208 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_500-hpijs.ppd.gzbin3143 -> 3143 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_500c-hpijs.ppd.gzbin3282 -> 3282 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gzbin3136 -> 3136 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_510-hpijs.ppd.gzbin3133 -> 3133 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gzbin4289 -> 4289 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_520-hpijs.ppd.gzbin3133 -> 3133 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_540-hpijs.ppd.gzbin3279 -> 3279 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5400_series-hpijs.ppd.gzbin4313 -> 4313 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_550c-hpijs.ppd.gzbin3285 -> 3285 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5550-hpijs.ppd.gzbin4203 -> 4203 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5551-hpijs.ppd.gzbin4197 -> 4197 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5552-hpijs.ppd.gzbin4265 -> 4265 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5600-hpijs.ppd.gzbin4260 -> 4260 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5650-hpijs.ppd.gzbin4273 -> 4273 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gzbin4263 -> 4263 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5700-hpijs.ppd.gzbin4282 -> 4282 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5800-hpijs.ppd.gzbin4264 -> 4264 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5850-hpijs.ppd.gzbin4267 -> 4268 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_5900_series-hpijs.ppd.gzbin4298 -> 4298 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_600-hpijs.ppd.gzbin3341 -> 3341 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_610c-hpijs.ppd.gzbin3426 -> 3426 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_610cl-hpijs.ppd.gzbin3428 -> 3428 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_6120-hpijs.ppd.gzbin4165 -> 4165 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_6122-hpijs.ppd.gzbin4164 -> 4164 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_6127-hpijs.ppd.gzbin4164 -> 4164 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_612c-hpijs.ppd.gzbin3427 -> 3427 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_630c-hpijs.ppd.gzbin3490 -> 3490 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_632c-hpijs.ppd.gzbin3491 -> 3491 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_640c-hpijs.ppd.gzbin3453 -> 3453 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_648c-hpijs.ppd.gzbin3428 -> 3428 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_6500-hpijs.ppd.gzbin4297 -> 4297 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_656c-hpijs.ppd.gzbin3497 -> 3497 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_660-hpijs.ppd.gzbin3341 -> 3341 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_6600-hpijs.ppd.gzbin4286 -> 4286 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_670-hpijs.ppd.gzbin3338 -> 3338 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_670c-hpijs.ppd.gzbin3331 -> 3331 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_670tv-hpijs.ppd.gzbin3337 -> 3337 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gzbin3335 -> 3335 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_680-hpijs.ppd.gzbin3334 -> 3334 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_6800-hpijs.ppd.gzbin4292 -> 4292 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_682-hpijs.ppd.gzbin3334 -> 3334 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_690-hpijs.ppd.gzbin3432 -> 3432 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_690c-hpijs.ppd.gzbin3433 -> 3433 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_692-hpijs.ppd.gzbin3431 -> 3431 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_693-hpijs.ppd.gzbin3428 -> 3428 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_694-hpijs.ppd.gzbin3428 -> 3428 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_6940_series-hpijs.ppd.gzbin4286 -> 4286 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_695-hpijs.ppd.gzbin3433 -> 3433 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_697-hpijs.ppd.gzbin3428 -> 3428 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_6980_series-hpijs.ppd.gzbin4302 -> 4302 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_810c-hpijs.ppd.gzbin3398 -> 3398 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_812c-hpijs.ppd.gzbin3399 -> 3399 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_815c-hpijs.ppd.gzbin3398 -> 3398 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_816c-hpijs.ppd.gzbin3400 -> 3400 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_825c-hpijs.ppd.gzbin3519 -> 3519 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_830c-hpijs.ppd.gzbin3400 -> 3400 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_832c-hpijs.ppd.gzbin3400 -> 3400 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_840c-hpijs.ppd.gzbin3400 -> 3400 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gzbin3400 -> 3400 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_842c-hpijs.ppd.gzbin3402 -> 3402 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gzbin3404 -> 3404 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gzbin3520 -> 3520 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_850c-hpijs.ppd.gzbin3324 -> 3324 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_855c-hpijs.ppd.gzbin3328 -> 3328 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_870c-hpijs.ppd.gzbin3334 -> 3334 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_880c-hpijs.ppd.gzbin3400 -> 3400 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gzbin3400 -> 3400 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_890c-hpijs.ppd.gzbin3332 -> 3332 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_895c-hpijs.ppd.gzbin3408 -> 3408 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_916c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_920c-hpijs.ppd.gzbin3739 -> 3739 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_9300-hpijs.ppd.gzbin3926 -> 3926 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_930c-hpijs.ppd.gzbin3730 -> 3730 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_932c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_934c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gzbin3725 -> 3725 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_940c-hpijs.ppd.gzbin3740 -> 3740 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_948c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_952c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_955c-hpijs.ppd.gzbin3739 -> 3739 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_957c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_959c-hpijs.ppd.gzbin3726 -> 3726 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_9600-hpijs.ppd.gzbin4470 -> 4471 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_960c-hpijs.ppd.gzbin4165 -> 4165 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_970c-hpijs.ppd.gzbin3735 -> 3735 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_975c-hpijs.ppd.gzbin3734 -> 3734 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_9800-hpijs.ppd.gzbin4479 -> 4476 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gzbin4161 -> 4161 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_990c-hpijs.ppd.gzbin4168 -> 4168 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gzbin4159 -> 4159 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d1300_series-hpijs.ppd.gzbin3618 -> 3618 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d1400_series-hpijs.ppd.gzbin3624 -> 3624 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d1500_series-hpijs.ppd.gzbin3619 -> 3619 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gzbin4302 -> 4302 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d2300_series-hpijs.ppd.gzbin3752 -> 3752 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gzbin3756 -> 3756 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d2500_series-hpijs.ppd.gzbin4301 -> 4301 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d2600_series-hpijs.ppd.gzbin4301 -> 4301 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gzbin3628 -> 3628 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d4200_series-hpijs.ppd.gzbin3624 -> 3624 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gzbin3621 -> 3621 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d5500_series-hpijs.ppd.gzbin4294 -> 4294 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_d730-hpijs.ppd.gzbin4258 -> 4258 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gzbin3636 -> 3636 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f2200_series-hpijs.ppd.gzbin3646 -> 3646 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f2400_series-hpijs.ppd.gzbin4328 -> 4328 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gzbin3787 -> 3787 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f4100_series-hpijs.ppd.gzbin3776 -> 3776 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f4200_series-hpijs.ppd.gzbin4342 -> 4343 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gzbin4296 -> 4296 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f4213_series-hpijs.ppd.gzbin4295 -> 4295 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f4400_series-hpijs.ppd.gzbin4322 -> 4322 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gzbin4290 -> 4290 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gzbin4275 -> 4275 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_ink_adv_2010_k010-hpijs.ppd.gzbin4153 -> 4153 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_ink_adv_2060_k110-hpijs.ppd.gzbin4155 -> 4155 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_ink_advant_k109a-z-hpijs.ppd.gzbin4309 -> 4309 bytes
-rw-r--r--ppd/hpijs/hp-deskjet_ink_advant_k209a-z-hpijs.ppd.gzbin4318 -> 4318 bytes
-rw-r--r--ppd/hpijs/hp-dj350-hpijs.ppd.gzbin3348 -> 3348 bytes
-rw-r--r--ppd/hpijs/hp-dj450-hpijs.ppd.gzbin4164 -> 4164 bytes
-rw-r--r--ppd/hpijs/hp-envy_100_d410_series-hpijs.ppd.gzbin4283 -> 4283 bytes
-rw-r--r--ppd/hpijs/hp-envy_110_series-hpijs.ppd.gzbin4283 -> 4283 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1000-hpijs.ppd.gzbin3165 -> 3165 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1005_series-hpijs.ppd.gzbin3184 -> 3184 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1010-hpijs.ppd.gzbin3488 -> 3488 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1012-hpijs.ppd.gzbin3491 -> 3491 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gzbin3579 -> 3579 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1018-hpijs.ppd.gzbin3168 -> 3168 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1020-hpijs.ppd.gzbin3172 -> 3172 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gzbin3614 -> 3614 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1022-hpijs-zjs.ppd.gzbin3179 -> 3179 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1022n-hpijs-pcl3.ppd.gzbin3621 -> 3621 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1022n-hpijs-zjs.ppd.gzbin3185 -> 3185 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1022nw-hpijs-pcl3.ppd.gzbin3617 -> 3617 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1022nw-hpijs-zjs.ppd.gzbin3182 -> 3182 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1100-hpijs.ppd.gzbin3588 -> 3588 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1100a-hpijs.ppd.gzbin3595 -> 3595 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1100xi-hpijs.ppd.gzbin3596 -> 3596 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1150-hpijs.ppd.gzbin3580 -> 3580 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1160-hpijs.ppd.gzbin3585 -> 3585 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1160_series-hpijs.ppd.gzbin3599 -> 3599 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1200-hpijs-pcl3.ppd.gzbin3595 -> 3595 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1200n-hpijs.ppd.gzbin3581 -> 3581 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1220-hpijs-pcl3.ppd.gzbin3600 -> 3600 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1220se-hpijs.ppd.gzbin3591 -> 3591 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gzbin3597 -> 3597 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gzbin3593 -> 3593 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1300xi-hpijs-pcl3.ppd.gzbin3595 -> 3595 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1320-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1320_series-hpijs-pcl3.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1320n-hpijs.ppd.gzbin3582 -> 3582 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1320nw-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_1320tn-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2100-hpijs.ppd.gzbin3596 -> 3596 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2100_series-hpijs-pcl3.ppd.gzbin3609 -> 3609 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2200-hpijs-pcl3.ppd.gzbin3609 -> 3609 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gzbin3598 -> 3598 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gzbin3609 -> 3609 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2300_series-hpijs.ppd.gzbin3600 -> 3600 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2410-hpijs-pcl3.ppd.gzbin3592 -> 3592 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2420-hpijs-pcl3.ppd.gzbin3602 -> 3602 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_2430-hpijs-pcl3.ppd.gzbin3606 -> 3606 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3015-hpijs-pcl3.ppd.gzbin3599 -> 3599 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gzbin3600 -> 3600 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3030-hpijs-pcl3.ppd.gzbin3600 -> 3600 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3050-hpijs-pcl3.ppd.gzbin3605 -> 3605 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3052-hpijs-pcl3.ppd.gzbin3600 -> 3600 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3055-hpijs.ppd.gzbin3588 -> 3588 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3100-hpijs.ppd.gzbin3597 -> 3597 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3150-hpijs.ppd.gzbin3598 -> 3598 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3200-hpijs.ppd.gzbin3588 -> 3588 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3200m-hpijs-pcl3.ppd.gzbin3601 -> 3601 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3200se-hpijs.ppd.gzbin3592 -> 3592 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3300_3310_3320-hpijs-pcl3.ppd.gzbin3655 -> 3655 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3330-hpijs.ppd.gzbin3589 -> 3589 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gzbin3600 -> 3600 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gzbin3600 -> 3600 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_3392-hpijs.ppd.gzbin3588 -> 3588 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4000_series-hpijs-pcl3.ppd.gzbin3623 -> 3623 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4050_series-hpijs-pcl3.ppd.gzbin3623 -> 3623 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4100_mfp-hpijs-pcl3.ppd.gzbin3617 -> 3617 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4100_series-hpijs-pcl3.ppd.gzbin3621 -> 3621 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4150_series-hpijs.ppd.gzbin3599 -> 3599 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4200-hpijs-pcl3.ppd.gzbin3617 -> 3617 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4240-hpijs-pcl3.ppd.gzbin3596 -> 3596 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4250-hpijs-pcl3.ppd.gzbin3606 -> 3606 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4300-hpijs-pcl3.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4345_mfp-hpijs-pcl3.ppd.gzbin3624 -> 3624 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gzbin3606 -> 3606 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4_plus-hpijs-pcl3.ppd.gzbin3603 -> 3603 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4l-hpijs.ppd.gzbin3245 -> 3245 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4ml-hpijs.ppd.gzbin3238 -> 3238 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4mp-hpijs-pcl3.ppd.gzbin3590 -> 3590 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4si-hpijs-pcl3.ppd.gzbin3595 -> 3595 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_4v-hpijs-pcl3.ppd.gzbin3588 -> 3588 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5000-hpijs.ppd.gzbin3750 -> 3750 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5000_series-hpijs-pcl3.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5100_series-hpijs-pcl3.ppd.gzbin3782 -> 3782 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5200-hpijs-pcl3.ppd.gzbin3758 -> 3758 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5200l-hpijs-pcl3.ppd.gzbin3750 -> 3750 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5200lx-hpijs.ppd.gzbin3583 -> 3583 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5l-hpijs.ppd.gzbin3588 -> 3588 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5mp-hpijs-pcl3.ppd.gzbin3590 -> 3590 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5p-hpijs.ppd.gzbin3575 -> 3575 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5si-hpijs-pcl3.ppd.gzbin3759 -> 3759 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_5si_mopier-hpijs-pcl3.ppd.gzbin3767 -> 3767 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_6l-hpijs.ppd.gzbin3595 -> 3595 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_6mp-hpijs-pcl3.ppd.gzbin3599 -> 3599 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_6p-hpijs.ppd.gzbin3575 -> 3575 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gzbin3743 -> 3743 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_8000_series-hpijs-pcl3.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_8100_mfp-hpijs.ppd.gzbin3601 -> 3601 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_8100_series-hpijs-pcl3.ppd.gzbin3774 -> 3774 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_8150_mfp-hpijs.ppd.gzbin3601 -> 3601 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gzbin3777 -> 3777 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_9000_mfp-hpijs-pcl3.ppd.gzbin3773 -> 3773 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_9000_series-hpijs-pcl3.ppd.gzbin3782 -> 3782 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_9040-hpijs-pcl3.ppd.gzbin3756 -> 3756 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_9040_mfp-hpijs-pcl3.ppd.gzbin3779 -> 3779 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_9050-hpijs-pcl3.ppd.gzbin3755 -> 3755 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gzbin3770 -> 3770 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_9055mfp-hpijs-pcl3.ppd.gzbin3763 -> 3763 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_9065mfp-hpijs-pcl3.ppd.gzbin3763 -> 3763 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cm1411fn-hpijs-pcl3.ppd.gzbin3874 -> 3874 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cm1412fn-hpijs-pcl3.ppd.gzbin3874 -> 3874 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cm1413fn-hpijs-pcl3.ppd.gzbin3874 -> 3874 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cm1415fn-hpijs-pcl3.ppd.gzbin3874 -> 3874 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gzbin3876 -> 3876 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cm1416fnw-hpijs-pcl3.ppd.gzbin3876 -> 3876 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cm1417fnw-hpijs-pcl3.ppd.gzbin3877 -> 3877 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cm1418fnw-hpijs-pcl3.ppd.gzbin3877 -> 3877 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp1021-hpijs.ppd.gzbin3282 -> 0 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp1022-hpijs.ppd.gzbin3282 -> 0 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp1023-hpijs.ppd.gzbin3283 -> 0 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp1025-hpijs.ppd.gzbin3282 -> 3296 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp1025nw-hpijs.ppd.gzbin3287 -> 3300 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp1027nw-hpijs.ppd.gzbin3287 -> 0 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp1028nw-hpijs.ppd.gzbin3287 -> 0 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gzbin0 -> 3303 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gzbin0 -> 3307 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1005-hpijs.ppd.gzbin3191 -> 3191 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1120_mfp-hpijs.ppd.gzbin3195 -> 3195 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1120n_mfp-hpijs.ppd.gzbin3196 -> 3196 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gzbin3197 -> 3197 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gzbin3620 -> 3620 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1536dnf_mfp-hpijs-pcl3.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1537dnf_mfp-hpijs-pcl3.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1538dnf_mfp-hpijs-pcl3.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m1539dnf_mfp-hpijs-pcl3.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m2727_mfp-hpijs-pcl3.ppd.gzbin3616 -> 3616 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m3027_mfp-hpijs-pcl3.ppd.gzbin3620 -> 3620 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m3035_mfp-hpijs-pcl3.ppd.gzbin3776 -> 3776 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gzbin3627 -> 3627 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m4349_mfp-hpijs-pcl3.ppd.gzbin3604 -> 3604 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m5025_mfp-hpijs-pcl3.ppd.gzbin3772 -> 3772 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gzbin3779 -> 3779 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m5039_mfp-hpijs-pcl3.ppd.gzbin3772 -> 3772 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m9040_mfp-hpijs-pcl3.ppd.gzbin3616 -> 3616 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gzbin3620 -> 3620 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_m9059_mfp-hpijs-pcl3.ppd.gzbin3605 -> 3605 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p1005-hpijs.ppd.gzbin3182 -> 3182 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p1006-hpijs.ppd.gzbin3185 -> 3185 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p1007-hpijs.ppd.gzbin3185 -> 3185 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p1008-hpijs.ppd.gzbin3184 -> 3184 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p1009-hpijs.ppd.gzbin3185 -> 3185 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p1505-hpijs.ppd.gzbin3182 -> 3182 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p1505n-hpijs-pcl3.ppd.gzbin3618 -> 3618 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p1505n-hpijs-zxs.ppd.gzbin3196 -> 3196 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2014-hpijs-pcl3.ppd.gzbin3616 -> 3616 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2014-hpijs-zxs.ppd.gzbin3194 -> 3194 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2014n-hpijs-pcl3.ppd.gzbin3618 -> 3618 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gzbin3196 -> 3196 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gzbin3612 -> 3612 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2015d_series-hpijs.ppd.gzbin3603 -> 3603 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2015dn_series-hpijs.ppd.gzbin3609 -> 3609 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2015n_series-hpijs.ppd.gzbin3603 -> 3603 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2015x_series-hpijs.ppd.gzbin3603 -> 3603 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2035-hpijs-pcl3.ppd.gzbin3617 -> 3617 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gzbin3182 -> 3182 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2035n-hpijs-pcl3.ppd.gzbin3618 -> 3618 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2035n-hpijs-zjs.ppd.gzbin3183 -> 3183 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2055-hpijs-pcl3.ppd.gzbin3593 -> 3593 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2055d-hpijs-pcl3.ppd.gzbin3595 -> 3595 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2055dn-hpijs-pcl3.ppd.gzbin3597 -> 3597 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gzbin3595 -> 3595 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p3004-hpijs-pcl3.ppd.gzbin3592 -> 3592 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p3005-hpijs-pcl3.ppd.gzbin3611 -> 3611 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p3010_series-hpijs-pcl3.ppd.gzbin3615 -> 3615 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4014-hpijs.ppd.gzbin3581 -> 3581 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4014dn-hpijs.ppd.gzbin3585 -> 3585 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4014n-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4015-hpijs.ppd.gzbin3582 -> 3582 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4015dn-hpijs.ppd.gzbin3585 -> 3585 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4015n-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gzbin3585 -> 3585 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4515-hpijs.ppd.gzbin3582 -> 3582 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4515n-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4515tn-hpijs.ppd.gzbin3585 -> 3585 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4515x-hpijs.ppd.gzbin3584 -> 3584 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_p4515xm-hpijs.ppd.gzbin3586 -> 3586 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_m1132_mfp-hpijs.ppd.gzbin3229 -> 3232 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_m1136_mfp-hpijs.ppd.gzbin3229 -> 3229 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_m1212nf_mfp-hpijs.ppd.gzbin3232 -> 3232 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gzbin3232 -> 3232 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_m1214nfh_mfp-hpijs.ppd.gzbin3234 -> 3234 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_m1216nfh_mfp-hpijs.ppd.gzbin3222 -> 3222 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_m1217nfw_mfp-hpijs.ppd.gzbin3235 -> 3235 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_m1219nf_mfp-hpijs.ppd.gzbin3221 -> 3221 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_p1102-hpijs.ppd.gzbin3204 -> 3208 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_p1102s-hpijs.ppd.gzbin3206 -> 0 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gzbin3207 -> 3207 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gzbin3204 -> 3204 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_p1108-hpijs.ppd.gzbin3203 -> 3203 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_p1566-hpijs.ppd.gzbin3201 -> 3201 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_p1606dn-hpijs.ppd.gzbin3210 -> 3210 bytes
-rw-r--r--ppd/hpijs/hp-laserjet_professional_p_1102w-hpijs.ppd.gzbin3215 -> 3215 bytes
-rw-r--r--ppd/hpijs/hp-mopier_240-hpijs-pcl3.ppd.gzbin3741 -> 3741 bytes
-rw-r--r--ppd/hpijs/hp-mopier_320-hpijs-pcl3.ppd.gzbin3741 -> 3741 bytes
-rw-r--r--ppd/hpijs/hp-officejet-hpijs.ppd.gzbin3137 -> 3137 bytes
-rw-r--r--ppd/hpijs/hp-officejet_100_mobile_l411-hpijs.ppd.gzbin4227 -> 4227 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4000_k210-hpijs.ppd.gzbin4276 -> 4277 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4100_series-hpijs.ppd.gzbin3621 -> 3621 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4105-hpijs.ppd.gzbin3590 -> 3590 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4115_series-hpijs.ppd.gzbin3609 -> 3609 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gzbin3767 -> 3767 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4255-hpijs.ppd.gzbin3742 -> 3742 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4300_series-hpijs.ppd.gzbin3659 -> 3659 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4400_k410-hpijs.ppd.gzbin4286 -> 4286 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4500_g510a-f-hpijs.ppd.gzbin4312 -> 4312 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4500_g510g-m-hpijs.ppd.gzbin4299 -> 4300 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gzbin4293 -> 4293 bytes
-rw-r--r--ppd/hpijs/hp-officejet_4500_k710-hpijs.ppd.gzbin4288 -> 4288 bytes
-rw-r--r--ppd/hpijs/hp-officejet_5100_series-hpijs.ppd.gzbin3772 -> 3772 bytes
-rw-r--r--ppd/hpijs/hp-officejet_5105-hpijs.ppd.gzbin3738 -> 3738 bytes
-rw-r--r--ppd/hpijs/hp-officejet_5110-hpijs.ppd.gzbin3742 -> 3742 bytes
-rw-r--r--ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gzbin3740 -> 3740 bytes
-rw-r--r--ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gzbin3765 -> 3765 bytes
-rw-r--r--ppd/hpijs/hp-officejet_5600_series-hpijs.ppd.gzbin3779 -> 3779 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6000_e609a-hpijs.ppd.gzbin4281 -> 4281 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gzbin4289 -> 4289 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6100-hpijs.ppd.gzbin0 -> 4204 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6100_series-hpijs.ppd.gzbin4307 -> 4307 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6150_series-hpijs.ppd.gzbin4294 -> 4294 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6200_series-hpijs.ppd.gzbin4319 -> 4319 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6300_series-hpijs.ppd.gzbin4328 -> 4328 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6500_e709a-hpijs.ppd.gzbin4295 -> 4296 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6500_e709n-hpijs.ppd.gzbin4304 -> 4304 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6500_e710a-f-hpijs.ppd.gzbin4280 -> 4281 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6500_e710n-z-hpijs.ppd.gzbin4282 -> 4282 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6600-hpijs.ppd.gzbin0 -> 4214 bytes
-rw-r--r--ppd/hpijs/hp-officejet_6700-hpijs.ppd.gzbin0 -> 4214 bytes
-rw-r--r--ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gzbin4485 -> 4484 bytes
-rw-r--r--ppd/hpijs/hp-officejet_7000_e809a_series-hpijs.ppd.gzbin4508 -> 4508 bytes
-rw-r--r--ppd/hpijs/hp-officejet_7100_series-hpijs.ppd.gzbin4213 -> 4213 bytes
-rw-r--r--ppd/hpijs/hp-officejet_7200_series-hpijs.ppd.gzbin4315 -> 4315 bytes
-rw-r--r--ppd/hpijs/hp-officejet_7300_series-hpijs.ppd.gzbin4304 -> 4304 bytes
-rw-r--r--ppd/hpijs/hp-officejet_7400_series-hpijs.ppd.gzbin4306 -> 4307 bytes
-rw-r--r--ppd/hpijs/hp-officejet_7500_e910-hpijs.ppd.gzbin4470 -> 4470 bytes
-rw-r--r--ppd/hpijs/hp-officejet_9100_series-hpijs-pcl3.ppd.gzbin3897 -> 3897 bytes
-rw-r--r--ppd/hpijs/hp-officejet_d_series-hpijs.ppd.gzbin4204 -> 4204 bytes
-rw-r--r--ppd/hpijs/hp-officejet_g55-hpijs.ppd.gzbin3736 -> 3736 bytes
-rw-r--r--ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gzbin3740 -> 3740 bytes
-rw-r--r--ppd/hpijs/hp-officejet_g85-hpijs.ppd.gzbin3736 -> 3736 bytes
-rw-r--r--ppd/hpijs/hp-officejet_g85xi-hpijs.ppd.gzbin3740 -> 3740 bytes
-rw-r--r--ppd/hpijs/hp-officejet_g95-hpijs.ppd.gzbin3736 -> 3736 bytes
-rw-r--r--ppd/hpijs/hp-officejet_h470-hpijs.ppd.gzbin4214 -> 4214 bytes
-rw-r--r--ppd/hpijs/hp-officejet_j3500_series-hpijs.ppd.gzbin3750 -> 3750 bytes
-rw-r--r--ppd/hpijs/hp-officejet_j3600_series-hpijs.ppd.gzbin3765 -> 3765 bytes
-rw-r--r--ppd/hpijs/hp-officejet_j4500_series-hpijs.ppd.gzbin4325 -> 4325 bytes
-rw-r--r--ppd/hpijs/hp-officejet_j4660_series-hpijs.ppd.gzbin4310 -> 4310 bytes
-rw-r--r--ppd/hpijs/hp-officejet_j4680_series-hpijs.ppd.gzbin4313 -> 4313 bytes
-rw-r--r--ppd/hpijs/hp-officejet_j5500_series-hpijs.ppd.gzbin3771 -> 3771 bytes
-rw-r--r--ppd/hpijs/hp-officejet_j5700_series-hpijs.ppd.gzbin4332 -> 4332 bytes
-rw-r--r--ppd/hpijs/hp-officejet_j6400_series-hpijs.ppd.gzbin4321 -> 4321 bytes
-rw-r--r--ppd/hpijs/hp-officejet_k60-hpijs.ppd.gzbin3735 -> 3735 bytes
-rw-r--r--ppd/hpijs/hp-officejet_k60xi-hpijs.ppd.gzbin3740 -> 3740 bytes
-rw-r--r--ppd/hpijs/hp-officejet_k7100-hpijs.ppd.gzbin4472 -> 4470 bytes
-rw-r--r--ppd/hpijs/hp-officejet_k80-hpijs.ppd.gzbin3735 -> 3735 bytes
-rw-r--r--ppd/hpijs/hp-officejet_k80xi-hpijs.ppd.gzbin3740 -> 3740 bytes
-rw-r--r--ppd/hpijs/hp-officejet_lx-hpijs.ppd.gzbin3148 -> 3148 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_1150c-hpijs.ppd.gzbin3353 -> 3353 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_1170c_series-hpijs.ppd.gzbin3399 -> 3399 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_8000_a809-hpijs.ppd.gzbin4311 -> 4311 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_8100-hpijs.ppd.gzbin4217 -> 4217 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_8500_a909a-hpijs.ppd.gzbin4310 -> 4310 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gzbin4316 -> 4316 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_8500_a909n-hpijs.ppd.gzbin4315 -> 4315 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_8500_a910-hpijs.ppd.gzbin4323 -> 4323 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_8600-hpijs.ppd.gzbin4224 -> 4225 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_k5300-hpijs.ppd.gzbin4159 -> 4159 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_k5400-hpijs.ppd.gzbin4172 -> 4172 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_k550-hpijs.ppd.gzbin4169 -> 4169 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_k850-hpijs.ppd.gzbin4359 -> 4359 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_k8600-hpijs.ppd.gzbin4363 -> 4363 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_l7300-hpijs.ppd.gzbin4174 -> 4174 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_l7400-hpijs.ppd.gzbin4168 -> 4168 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_l7500-hpijs.ppd.gzbin4186 -> 4186 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_l7600-hpijs.ppd.gzbin4183 -> 4183 bytes
-rw-r--r--ppd/hpijs/hp-officejet_pro_l7700-hpijs.ppd.gzbin4183 -> 4183 bytes
-rw-r--r--ppd/hpijs/hp-officejet_r40-hpijs.ppd.gzbin3410 -> 3410 bytes
-rw-r--r--ppd/hpijs/hp-officejet_r40xi-hpijs.ppd.gzbin3416 -> 3416 bytes
-rw-r--r--ppd/hpijs/hp-officejet_r45-hpijs.ppd.gzbin3410 -> 3410 bytes
-rw-r--r--ppd/hpijs/hp-officejet_r60-hpijs.ppd.gzbin3410 -> 3410 bytes
-rw-r--r--ppd/hpijs/hp-officejet_r65-hpijs.ppd.gzbin3410 -> 3410 bytes
-rw-r--r--ppd/hpijs/hp-officejet_r80-hpijs.ppd.gzbin3410 -> 3410 bytes
-rw-r--r--ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gzbin3416 -> 3416 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_300-hpijs.ppd.gzbin3316 -> 3316 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_310-hpijs.ppd.gzbin3317 -> 3317 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_320-hpijs.ppd.gzbin3317 -> 3317 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_330-hpijs.ppd.gzbin3169 -> 3169 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_350-hpijs.ppd.gzbin3169 -> 3169 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_500-hpijs.ppd.gzbin3367 -> 0 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_520-hpijs.ppd.gzbin3367 -> 3367 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_570-hpijs.ppd.gzbin3367 -> 3367 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_580-hpijs.ppd.gzbin3367 -> 3367 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_590-hpijs.ppd.gzbin3367 -> 3367 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_600-hpijs.ppd.gzbin3367 -> 3367 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_610-hpijs.ppd.gzbin3367 -> 3367 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gzbin3372 -> 3372 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_700-hpijs.ppd.gzbin3459 -> 3459 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_710-hpijs.ppd.gzbin3459 -> 3459 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_720-hpijs.ppd.gzbin3460 -> 3460 bytes
-rw-r--r--ppd/hpijs/hp-officejet_series_725-hpijs.ppd.gzbin3460 -> 3460 bytes
-rw-r--r--ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gzbin3440 -> 3440 bytes
-rw-r--r--ppd/hpijs/hp-officejet_v30-hpijs.ppd.gzbin3735 -> 3735 bytes
-rw-r--r--ppd/hpijs/hp-officejet_v40-hpijs.ppd.gzbin3739 -> 3739 bytes
-rw-r--r--ppd/hpijs/hp-officejet_v40xi-hpijs.ppd.gzbin3740 -> 3740 bytes
-rw-r--r--ppd/hpijs/hp-officejet_v45-hpijs.ppd.gzbin3736 -> 3736 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_100-hpijs.ppd.gzbin2311 -> 2311 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_1115-hpijs.ppd.gzbin4165 -> 4165 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_1215-hpijs.ppd.gzbin4170 -> 4170 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_1218-hpijs.ppd.gzbin4170 -> 4170 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_130-hpijs.ppd.gzbin2322 -> 2322 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_1315-hpijs.ppd.gzbin4165 -> 4165 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_140_series-hpijs.ppd.gzbin2355 -> 2354 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_230-hpijs.ppd.gzbin2322 -> 2322 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_240_series-hpijs.ppd.gzbin2351 -> 2351 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_2570_series-hpijs.ppd.gzbin4326 -> 4326 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_2600_series-hpijs.ppd.gzbin4320 -> 4320 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_2700_series-hpijs.ppd.gzbin4309 -> 4309 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_3100_series-hpijs.ppd.gzbin4308 -> 4308 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_3200_series-hpijs.ppd.gzbin4321 -> 4321 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gzbin2348 -> 2348 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_3300_series-hpijs.ppd.gzbin4316 -> 4317 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_330_series-hpijs.ppd.gzbin2352 -> 2352 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gzbin2365 -> 2365 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_380_series-hpijs.ppd.gzbin2341 -> 2341 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_420_series-hpijs.ppd.gzbin2364 -> 2364 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_470_series-hpijs.ppd.gzbin2433 -> 2433 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_5510_series-hpijs.ppd.gzbin4226 -> 4226 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_5510d_series-hpijs.ppd.gzbin4231 -> 4231 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_6510_series-hpijs.ppd.gzbin4227 -> 4227 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7150-hpijs.ppd.gzbin4278 -> 4278 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7200_series-hpijs.ppd.gzbin4308 -> 4308 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7345-hpijs.ppd.gzbin4271 -> 4271 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7350-hpijs.ppd.gzbin4278 -> 4278 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7400_series-hpijs.ppd.gzbin4314 -> 4314 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7510_series-hpijs.ppd.gzbin4227 -> 4227 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gzbin4277 -> 4277 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7600_series-hpijs.ppd.gzbin4301 -> 4301 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7700_series-hpijs.ppd.gzbin4318 -> 4319 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7800_series-hpijs.ppd.gzbin4312 -> 4312 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_7900_series-hpijs.ppd.gzbin4309 -> 4309 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_8000_series-hpijs.ppd.gzbin4315 -> 4316 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_8100_series-hpijs.ppd.gzbin4312 -> 4312 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gzbin4312 -> 4312 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_8400_series-hpijs.ppd.gzbin4317 -> 4317 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_8700_series-hpijs.ppd.gzbin4517 -> 4517 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a310_series-hpijs.ppd.gzbin2347 -> 2348 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a320_series-hpijs.ppd.gzbin2339 -> 2339 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a430_series-hpijs.ppd.gzbin2350 -> 2350 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gzbin2344 -> 2345 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a510_series-hpijs.ppd.gzbin2344 -> 2344 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a520_series-hpijs.ppd.gzbin2353 -> 2353 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a530_series-hpijs.ppd.gzbin2326 -> 2327 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a610_series-hpijs.ppd.gzbin2441 -> 2441 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a620_series-hpijs.ppd.gzbin2441 -> 2441 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a630_series-hpijs.ppd.gzbin2324 -> 2324 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a640_series-hpijs.ppd.gzbin2315 -> 2315 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a710_series-hpijs.ppd.gzbin2435 -> 2435 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_a820_series-hpijs.ppd.gzbin2434 -> 2434 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_b010_series-hpijs.ppd.gzbin4301 -> 4302 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_b109a-m-hpijs.ppd.gzbin4298 -> 4298 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_b109a_series-hpijs.ppd.gzbin4318 -> 4318 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_b110_series-hpijs.ppd.gzbin4310 -> 4310 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_b8500_series-hpijs.ppd.gzbin4506 -> 4506 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c309a_series-hpijs.ppd.gzbin4316 -> 4316 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gzbin4353 -> 4353 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c4100_series-hpijs.ppd.gzbin4347 -> 4347 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gzbin4353 -> 4353 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c4340_series-hpijs.ppd.gzbin4322 -> 4322 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c4380_series-hpijs.ppd.gzbin4319 -> 4319 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c4400_series-hpijs.ppd.gzbin4360 -> 4360 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c4500_series-hpijs.ppd.gzbin4346 -> 4346 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c4600_series-hpijs.ppd.gzbin4337 -> 4337 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c4700_series-hpijs.ppd.gzbin4340 -> 4340 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gzbin4339 -> 4340 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gzbin4338 -> 4339 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c5300_series-hpijs.ppd.gzbin4330 -> 4330 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c5500_series-hpijs.ppd.gzbin4318 -> 4318 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c6100_series-hpijs.ppd.gzbin4336 -> 4336 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c6200_series-hpijs.ppd.gzbin4347 -> 4347 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c6300_series-hpijs.ppd.gzbin4332 -> 4332 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c7100_series-hpijs.ppd.gzbin4332 -> 4332 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gzbin4322 -> 4323 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_c8100_series-hpijs.ppd.gzbin4318 -> 4319 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gzbin4291 -> 4291 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d5060_series-hpijs.ppd.gzbin4307 -> 4307 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d5100_series-hpijs.ppd.gzbin4316 -> 4316 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d5300_series-hpijs.ppd.gzbin4311 -> 4311 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gzbin4306 -> 4306 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d6100_series-hpijs.ppd.gzbin4306 -> 4306 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d7100_series-hpijs.ppd.gzbin4313 -> 4313 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d7200_series-hpijs.ppd.gzbin4313 -> 4313 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d7300_series-hpijs.ppd.gzbin4315 -> 4315 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d7400_series-hpijs.ppd.gzbin4306 -> 4306 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_d7500_series-hpijs.ppd.gzbin4298 -> 4299 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_estn_c510_series-hpijs.ppd.gzbin4306 -> 4306 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_ink_adv_k510-hpijs.ppd.gzbin4298 -> 4298 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_p1000-hpijs.ppd.gzbin3741 -> 3741 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_p1100-hpijs.ppd.gzbin3739 -> 3739 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_plus_b209a-m-hpijs.ppd.gzbin4314 -> 4314 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_plus_b210_series-hpijs.ppd.gzbin4305 -> 4305 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_prem-web_c309n-s-hpijs.ppd.gzbin4330 -> 4330 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_prem_c310_series-hpijs.ppd.gzbin4306 -> 4306 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_prem_c410_series-hpijs.ppd.gzbin4306 -> 4306 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_premium_c309g-m-hpijs.ppd.gzbin4321 -> 4321 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_pro_b8300_series-hpijs.ppd.gzbin4521 -> 4521 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_pro_b8800_series-hpijs.ppd.gzbin4508 -> 4504 bytes
-rw-r--r--ppd/hpijs/hp-photosmart_wireless_b109n-z-hpijs.ppd.gzbin4325 -> 4325 bytes
-rw-r--r--ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gzbin3374 -> 3374 bytes
-rw-r--r--ppd/hpijs/hp-psc_1000_series-hpijs.ppd.gzbin3608 -> 3608 bytes
-rw-r--r--ppd/hpijs/hp-psc_1100_series-hpijs.ppd.gzbin3610 -> 3610 bytes
-rw-r--r--ppd/hpijs/hp-psc_1200_series-hpijs.ppd.gzbin3639 -> 3639 bytes
-rw-r--r--ppd/hpijs/hp-psc_1300_series-hpijs.ppd.gzbin3761 -> 3761 bytes
-rw-r--r--ppd/hpijs/hp-psc_1310_series-hpijs.ppd.gzbin3765 -> 3765 bytes
-rw-r--r--ppd/hpijs/hp-psc_1358_series-hpijs.ppd.gzbin3760 -> 3760 bytes
-rw-r--r--ppd/hpijs/hp-psc_1400_series-hpijs.ppd.gzbin3770 -> 3770 bytes
-rw-r--r--ppd/hpijs/hp-psc_1500_series-hpijs.ppd.gzbin4298 -> 4298 bytes
-rw-r--r--ppd/hpijs/hp-psc_1510_series-hpijs.ppd.gzbin4314 -> 4314 bytes
-rw-r--r--ppd/hpijs/hp-psc_1600_series-hpijs.ppd.gzbin4313 -> 4313 bytes
-rw-r--r--ppd/hpijs/hp-psc_2100_series-hpijs.ppd.gzbin4198 -> 4198 bytes
-rw-r--r--ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gzbin4178 -> 4178 bytes
-rw-r--r--ppd/hpijs/hp-psc_2170_series-hpijs.ppd.gzbin4197 -> 4197 bytes
-rw-r--r--ppd/hpijs/hp-psc_2200_series-hpijs.ppd.gzbin4285 -> 4285 bytes
-rw-r--r--ppd/hpijs/hp-psc_2210_series-hpijs.ppd.gzbin4296 -> 4296 bytes
-rw-r--r--ppd/hpijs/hp-psc_2300_series-hpijs.ppd.gzbin4291 -> 4291 bytes
-rw-r--r--ppd/hpijs/hp-psc_2350_series-hpijs.ppd.gzbin4316 -> 4316 bytes
-rw-r--r--ppd/hpijs/hp-psc_2400_series-hpijs.ppd.gzbin4314 -> 4314 bytes
-rw-r--r--ppd/hpijs/hp-psc_2500_series-hpijs.ppd.gzbin4305 -> 4305 bytes
-rw-r--r--ppd/hpijs/hp-psc_500-hpijs.ppd.gzbin3406 -> 3406 bytes
-rw-r--r--ppd/hpijs/hp-psc_720-hpijs.ppd.gzbin3724 -> 3724 bytes
-rw-r--r--ppd/hpijs/hp-psc_750-hpijs.ppd.gzbin3723 -> 3723 bytes
-rw-r--r--ppd/hpijs/hp-psc_750xi-hpijs.ppd.gzbin3728 -> 3728 bytes
-rw-r--r--ppd/hpijs/hp-psc_760-hpijs.ppd.gzbin3724 -> 3724 bytes
-rw-r--r--ppd/hpijs/hp-psc_780-hpijs.ppd.gzbin3724 -> 3724 bytes
-rw-r--r--ppd/hpijs/hp-psc_780xi-hpijs.ppd.gzbin3730 -> 3730 bytes
-rw-r--r--ppd/hpijs/hp-psc_900_series-hpijs.ppd.gzbin3745 -> 3745 bytes
-rw-r--r--ppd/hpijs/hp-psc_920-hpijs.ppd.gzbin3724 -> 3724 bytes
-rw-r--r--ppd/hpijs/hp-psc_950-hpijs.ppd.gzbin3724 -> 3724 bytes
-rw-r--r--ppd/hpijs/hp-psc_950vr-hpijs.ppd.gzbin3730 -> 3730 bytes
-rw-r--r--ppd/hpijs/hp-psc_950xi-hpijs.ppd.gzbin3730 -> 3730 bytes
-rw-r--r--prnt/cups.py5
-rw-r--r--prnt/drv/hpcups.drv.in333
-rw-r--r--prnt/drv/hpijs.drv.in319
-rw-r--r--prnt/drv/hpijs.drv.in.template225
-rw-r--r--prnt/hpcups/HPCupsFilter.cpp44
-rw-r--r--prnt/ps/hp-business_inkjet_2250-ps.ppd.gzbin11124 -> 11124 bytes
-rw-r--r--prnt/ps/hp-business_inkjet_2280-ps.ppd.gzbin13392 -> 13392 bytes
-rw-r--r--prnt/ps/hp-business_inkjet_2300-ps.ppd.gzbin27751 -> 27751 bytes
-rw-r--r--prnt/ps/hp-business_inkjet_2600-ps.ppd.gzbin14950 -> 14950 bytes
-rw-r--r--prnt/ps/hp-business_inkjet_2800-ps.ppd.gzbin28845 -> 28845 bytes
-rw-r--r--prnt/ps/hp-business_inkjet_3000-ps.ppd.gzbin14409 -> 14409 bytes
-rw-r--r--prnt/ps/hp-cm8050_mfp_with_edgeline-ps.ppd.gzbin49905 -> 49905 bytes
-rw-r--r--prnt/ps/hp-cm8060_mfp_with_edgeline-ps.ppd.gzbin49905 -> 49905 bytes
-rw-r--r--prnt/ps/hp-color_laserjet-ps.ppd.gzbin13363 -> 13363 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2500-ps.ppd.gzbin24027 -> 24027 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2500_series-ps.ppd.gzbin24034 -> 24034 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2550_series-ps.ppd.gzbin26437 -> 26437 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2605-ps.ppd.gzbin36518 -> 36518 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2605dn-ps.ppd.gzbin36520 -> 36520 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2605dtn-ps.ppd.gzbin36521 -> 36521 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2700-ps.ppd.gzbin34313 -> 34313 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2700n-ps.ppd.gzbin34314 -> 34314 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2800-ps.ppd.gzbin16272 -> 16272 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2820-ps.ppd.gzbin16272 -> 16272 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2830-ps.ppd.gzbin16272 -> 16272 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_2840-ps.ppd.gzbin16272 -> 16272 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_3000-ps.ppd.gzbin40486 -> 40486 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_3700-ps.ppd.gzbin31259 -> 31259 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_3700n-ps.ppd.gzbin31260 -> 31260 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_3800-ps.ppd.gzbin41637 -> 41637 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_4500-ps.ppd.gzbin25320 -> 25320 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_4550-ps.ppd.gzbin29925 -> 29925 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_4600-ps.ppd.gzbin35666 -> 35666 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_4600_series-ps.ppd.gzbin35673 -> 35673 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_4610-ps.ppd.gzbin8688 -> 8688 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_4650-ps.ppd.gzbin35635 -> 35635 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_4700-ps.ppd.gzbin44175 -> 44175 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_4730mfp-ps.ppd.gzbin41293 -> 41293 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_5500-ps.ppd.gzbin35559 -> 35559 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_5550-ps.ppd.gzbin40042 -> 40042 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_5m-ps.ppd.gzbin13713 -> 13713 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_8500-ps.ppd.gzbin21160 -> 21160 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_8550-ps.ppd.gzbin31373 -> 31373 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_9500-ps.ppd.gzbin41590 -> 41590 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_9500_mfp-ps.ppd.gzbin46286 -> 46286 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm1015-ps.ppd.gzbin33078 -> 33078 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm1017-ps.ppd.gzbin33078 -> 33078 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm1312_mfp-ps.ppd.gzbin41340 -> 41340 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm1312nfi_mfp-ps.ppd.gzbin41343 -> 41343 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm2320_mfp-ps.ppd.gzbin43378 -> 43378 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm2320fxi_mfp-ps.ppd.gzbin43381 -> 43381 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm2320n_mfp-ps.ppd.gzbin43379 -> 43379 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm2320nf_mfp-ps.ppd.gzbin43380 -> 43380 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm3530_mfp-ps.ppd.gzbin45108 -> 45108 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm4540_mfp-ps.ppd.gzbin42125 -> 42125 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm4730_mfp-ps.ppd.gzbin44208 -> 44208 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm6030_mfp-ps.ppd.gzbin58246 -> 58246 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm6040_mfp-ps.ppd.gzbin58205 -> 58205 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cm6049_mfp-ps.ppd.gzbin58226 -> 58226 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp1514n-ps.ppd.gzbin39039 -> 39039 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp1515n-ps.ppd.gzbin39039 -> 39039 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp1518ni-ps.ppd.gzbin39040 -> 39040 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp2025-ps.ppd.gzbin37929 -> 37929 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp2025dn-ps.ppd.gzbin40127 -> 40127 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp2025n-ps.ppd.gzbin37930 -> 37930 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp2025x-ps.ppd.gzbin37930 -> 37930 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gzbin42905 -> 42905 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp3525-ps.ppd.gzbin53168 -> 53168 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp4005-ps.ppd.gzbin39461 -> 39461 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp4020_series-ps.ppd.gzbin53308 -> 53308 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp4520_series-ps.ppd.gzbin53308 -> 53308 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp5225-ps.ppd.gzbin42145 -> 42145 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp5225dn-ps.ppd.gzbin43926 -> 43926 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp5225n-ps.ppd.gzbin42203 -> 42203 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp5520_series-ps.ppd.gzbin39970 -> 39970 bytes
-rw-r--r--prnt/ps/hp-color_laserjet_cp6015-ps.ppd.gzbin63925 -> 63925 bytes
-rw-r--r--prnt/ps/hp-designjet_4000ps.ppd.gzbin12140 -> 12140 bytes
-rw-r--r--prnt/ps/hp-designjet_4020ps-ps.ppd.gzbin12149 -> 12149 bytes
-rw-r--r--prnt/ps/hp-designjet_4500mfp.ppd.gzbin11833 -> 11833 bytes
-rw-r--r--prnt/ps/hp-designjet_4500ps.ppd.gzbin11831 -> 11831 bytes
-rw-r--r--prnt/ps/hp-designjet_4520mfp-ps.ppd.gzbin11758 -> 11758 bytes
-rw-r--r--prnt/ps/hp-designjet_4520ps-ps.ppd.gzbin11757 -> 11757 bytes
-rw-r--r--prnt/ps/hp-designjet_t1100ps_24in-ps.ppd.gzbin11819 -> 11819 bytes
-rw-r--r--prnt/ps/hp-designjet_t1100ps_44in-ps.ppd.gzbin13268 -> 13268 bytes
-rw-r--r--prnt/ps/hp-designjet_t1120ps_24in-ps.ppd.gzbin11817 -> 11817 bytes
-rw-r--r--prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gzbin13267 -> 13267 bytes
-rw-r--r--prnt/ps/hp-designjet_t1200_postscript-ps.ppd.gzbin13317 -> 13317 bytes
-rw-r--r--prnt/ps/hp-designjet_t1300_postscript-ps.ppd.gzbin13500 -> 13500 bytes
-rw-r--r--prnt/ps/hp-designjet_t2300_postscript-ps.ppd.gzbin13455 -> 13455 bytes
-rw-r--r--prnt/ps/hp-designjet_t7100ps-ps.ppd.gzbin13226 -> 13226 bytes
-rw-r--r--prnt/ps/hp-designjet_t7100ps_monochrome-ps.ppd.gzbin11228 -> 11228 bytes
-rw-r--r--prnt/ps/hp-designjet_t770_postscript-ps.ppd.gzbin12409 -> 12409 bytes
-rw-r--r--prnt/ps/hp-designjet_t770ps_24in-ps.ppd.gzbin10960 -> 10960 bytes
-rw-r--r--prnt/ps/hp-designjet_t790ps_24in-ps.ppd.gzbin11204 -> 11204 bytes
-rw-r--r--prnt/ps/hp-designjet_t790ps_44in-ps.ppd.gzbin12642 -> 12642 bytes
-rw-r--r--prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gzbin11872 -> 11872 bytes
-rw-r--r--prnt/ps/hp-designjet_z6100ps_60in_photo-ps.ppd.gzbin11852 -> 11852 bytes
-rw-r--r--prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gzbin12177 -> 12177 bytes
-rw-r--r--prnt/ps/hp-designjet_z6200_60in_photo-ps.ppd.gzbin12176 -> 12176 bytes
-rw-r--r--prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gzbin37182 -> 37182 bytes
-rw-r--r--prnt/ps/hp-laserjet_1200-ps.ppd.gzbin19297 -> 19297 bytes
-rw-r--r--prnt/ps/hp-laserjet_1200n-ps.ppd.gzbin19298 -> 19298 bytes
-rw-r--r--prnt/ps/hp-laserjet_1220-ps.ppd.gzbin15088 -> 15088 bytes
-rw-r--r--prnt/ps/hp-laserjet_1220se-ps.ppd.gzbin15090 -> 15090 bytes
-rw-r--r--prnt/ps/hp-laserjet_1300-ps.ppd.gzbin20400 -> 20400 bytes
-rw-r--r--prnt/ps/hp-laserjet_1300n-ps.ppd.gzbin20401 -> 20401 bytes
-rw-r--r--prnt/ps/hp-laserjet_1300xi-ps.ppd.gzbin20402 -> 20402 bytes
-rw-r--r--prnt/ps/hp-laserjet_1320-ps.ppd.gzbin27403 -> 27403 bytes
-rw-r--r--prnt/ps/hp-laserjet_1320_series-ps.ppd.gzbin27410 -> 27410 bytes
-rw-r--r--prnt/ps/hp-laserjet_1320n-ps.ppd.gzbin27404 -> 27404 bytes
-rw-r--r--prnt/ps/hp-laserjet_1320nw-ps.ppd.gzbin27405 -> 27405 bytes
-rw-r--r--prnt/ps/hp-laserjet_1320tn-ps.ppd.gzbin27405 -> 27405 bytes
-rw-r--r--prnt/ps/hp-laserjet_200_colormfp_m275-ps.ppd.gzbin35828 -> 35828 bytes
-rw-r--r--prnt/ps/hp-laserjet_2100-ps.ppd.gzbin19075 -> 19075 bytes
-rw-r--r--prnt/ps/hp-laserjet_2100_series-ps.ppd.gzbin19082 -> 19082 bytes
-rw-r--r--prnt/ps/hp-laserjet_2200-ps.ppd.gzbin25614 -> 25614 bytes
-rw-r--r--prnt/ps/hp-laserjet_2200_series-ps.ppd.gzbin25621 -> 25621 bytes
-rw-r--r--prnt/ps/hp-laserjet_2300-ps.ppd.gzbin28184 -> 28184 bytes
-rw-r--r--prnt/ps/hp-laserjet_2300_series-ps.ppd.gzbin28191 -> 28191 bytes
-rw-r--r--prnt/ps/hp-laserjet_2410-ps.ppd.gzbin29862 -> 29862 bytes
-rw-r--r--prnt/ps/hp-laserjet_2420-ps.ppd.gzbin31974 -> 31974 bytes
-rw-r--r--prnt/ps/hp-laserjet_2430-ps.ppd.gzbin32989 -> 32989 bytes
-rw-r--r--prnt/ps/hp-laserjet_3015-ps.ppd.gzbin11489 -> 11489 bytes
-rw-r--r--prnt/ps/hp-laserjet_3020-ps.ppd.gzbin14707 -> 14707 bytes
-rw-r--r--prnt/ps/hp-laserjet_3030-ps.ppd.gzbin14707 -> 14707 bytes
-rw-r--r--prnt/ps/hp-laserjet_3050-ps.ppd.gzbin28540 -> 28540 bytes
-rw-r--r--prnt/ps/hp-laserjet_3052-ps.ppd.gzbin28552 -> 28552 bytes
-rw-r--r--prnt/ps/hp-laserjet_3200m-ps.ppd.gzbin15048 -> 15048 bytes
-rw-r--r--prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gzbin19360 -> 19360 bytes
-rw-r--r--prnt/ps/hp-laserjet_3380-ps.ppd.gzbin19600 -> 19600 bytes
-rw-r--r--prnt/ps/hp-laserjet_3390-ps.ppd.gzbin32618 -> 32618 bytes
-rw-r--r--prnt/ps/hp-laserjet_4-ps.ppd.gzbin3326 -> 3326 bytes
-rw-r--r--prnt/ps/hp-laserjet_4000_series-ps.ppd.gzbin28616 -> 28616 bytes
-rw-r--r--prnt/ps/hp-laserjet_4050_series-ps.ppd.gzbin30822 -> 30822 bytes
-rw-r--r--prnt/ps/hp-laserjet_4100_mfp-ps.ppd.gzbin32181 -> 32181 bytes
-rw-r--r--prnt/ps/hp-laserjet_4100_series-ps.ppd.gzbin32435 -> 32435 bytes
-rw-r--r--prnt/ps/hp-laserjet_4200-ps.ppd.gzbin36994 -> 36994 bytes
-rw-r--r--prnt/ps/hp-laserjet_4240-ps.ppd.gzbin40869 -> 40869 bytes
-rw-r--r--prnt/ps/hp-laserjet_4250-ps.ppd.gzbin40583 -> 40583 bytes
-rw-r--r--prnt/ps/hp-laserjet_4300-ps.ppd.gzbin36987 -> 36987 bytes
-rw-r--r--prnt/ps/hp-laserjet_4345_mfp-ps.ppd.gzbin38444 -> 38444 bytes
-rw-r--r--prnt/ps/hp-laserjet_4350-ps.ppd.gzbin40634 -> 40634 bytes
-rw-r--r--prnt/ps/hp-laserjet_4_plus-ps.ppd.gzbin7753 -> 7753 bytes
-rw-r--r--prnt/ps/hp-laserjet_4ml-ps.ppd.gzbin6339 -> 6339 bytes
-rw-r--r--prnt/ps/hp-laserjet_4mp-ps.ppd.gzbin6148 -> 6148 bytes
-rw-r--r--prnt/ps/hp-laserjet_4si-ps.ppd.gzbin12284 -> 12284 bytes
-rw-r--r--prnt/ps/hp-laserjet_4v-ps.ppd.gzbin16705 -> 16705 bytes
-rw-r--r--prnt/ps/hp-laserjet_5000-ps.ppd.gzbin33183 -> 33183 bytes
-rw-r--r--prnt/ps/hp-laserjet_5000_series-ps.ppd.gzbin33190 -> 33190 bytes
-rw-r--r--prnt/ps/hp-laserjet_500_color_m551-ps.ppd.gzbin34414 -> 34414 bytes
-rw-r--r--prnt/ps/hp-laserjet_5100_series-ps.ppd.gzbin37651 -> 37651 bytes
-rw-r--r--prnt/ps/hp-laserjet_5200-ps.ppd.gzbin43679 -> 43679 bytes
-rw-r--r--prnt/ps/hp-laserjet_5200l-ps.ppd.gzbin18828 -> 18828 bytes
-rw-r--r--prnt/ps/hp-laserjet_5200lx-ps.ppd.gzbin39816 -> 39816 bytes
-rw-r--r--prnt/ps/hp-laserjet_5mp-ps.ppd.gzbin12329 -> 12329 bytes
-rw-r--r--prnt/ps/hp-laserjet_5p-ps.ppd.gzbin12328 -> 12328 bytes
-rw-r--r--prnt/ps/hp-laserjet_5si-ps.ppd.gzbin25693 -> 25693 bytes
-rw-r--r--prnt/ps/hp-laserjet_5si_mopier-ps.ppd.gzbin25542 -> 25542 bytes
-rw-r--r--prnt/ps/hp-laserjet_600_m601_m602_m603-ps.ppd.gzbin36638 -> 36638 bytes
-rw-r--r--prnt/ps/hp-laserjet_6mp-ps.ppd.gzbin13726 -> 13726 bytes
-rw-r--r--prnt/ps/hp-laserjet_6p-ps.ppd.gzbin13725 -> 13725 bytes
-rw-r--r--prnt/ps/hp-laserjet_8000-ps.ppd.gzbin42225 -> 42225 bytes
-rw-r--r--prnt/ps/hp-laserjet_8000_series-ps.ppd.gzbin42232 -> 42232 bytes
-rw-r--r--prnt/ps/hp-laserjet_8100_mfp-ps.ppd.gzbin42231 -> 42231 bytes
-rw-r--r--prnt/ps/hp-laserjet_8100_series-ps.ppd.gzbin42234 -> 42234 bytes
-rw-r--r--prnt/ps/hp-laserjet_8150_mfp-ps.ppd.gzbin41858 -> 41858 bytes
-rw-r--r--prnt/ps/hp-laserjet_9000_mfp-ps.ppd.gzbin37169 -> 37169 bytes
-rw-r--r--prnt/ps/hp-laserjet_9000_series-ps.ppd.gzbin39534 -> 39534 bytes
-rw-r--r--prnt/ps/hp-laserjet_9040-ps.ppd.gzbin45357 -> 45357 bytes
-rw-r--r--prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gzbin45116 -> 45116 bytes
-rw-r--r--prnt/ps/hp-laserjet_9050-ps.ppd.gzbin45360 -> 45360 bytes
-rw-r--r--prnt/ps/hp-laserjet_9050_mfp-ps.ppd.gzbin45116 -> 45116 bytes
-rw-r--r--prnt/ps/hp-laserjet_9055mfp-ps.ppd.gzbin48426 -> 48426 bytes
-rw-r--r--prnt/ps/hp-laserjet_9065mfp-ps.ppd.gzbin48426 -> 48426 bytes
-rw-r--r--prnt/ps/hp-laserjet_cm1410_series-ps.ppd.gzbin37738 -> 37738 bytes
-rw-r--r--prnt/ps/hp-laserjet_cp1520_series-ps.ppd.gzbin38796 -> 38796 bytes
-rw-r--r--prnt/ps/hp-laserjet_m1522_mfp-ps.ppd.gzbin25451 -> 25451 bytes
-rw-r--r--prnt/ps/hp-laserjet_m1522n_mfp-ps.ppd.gzbin25452 -> 25452 bytes
-rw-r--r--prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gzbin25453 -> 25453 bytes
-rw-r--r--prnt/ps/hp-laserjet_m1530_mfp_series-ps.ppd.gzbin27131 -> 27131 bytes
-rw-r--r--prnt/ps/hp-laserjet_m2727_mfp_series-ps.ppd.gzbin31195 -> 31195 bytes
-rw-r--r--prnt/ps/hp-laserjet_m3027_mfp-ps.ppd.gzbin35716 -> 35716 bytes
-rw-r--r--prnt/ps/hp-laserjet_m3035_mfp-ps.ppd.gzbin35717 -> 35717 bytes
-rw-r--r--prnt/ps/hp-laserjet_m4345_mfp-ps.ppd.gzbin41508 -> 41508 bytes
-rw-r--r--prnt/ps/hp-laserjet_m4349_mfp-ps.ppd.gzbin41512 -> 41512 bytes
-rw-r--r--prnt/ps/hp-laserjet_m4555_mfp-ps.ppd.gzbin43924 -> 43924 bytes
-rw-r--r--prnt/ps/hp-laserjet_m5025_mfp-ps.ppd.gzbin43695 -> 43695 bytes
-rw-r--r--prnt/ps/hp-laserjet_m5035_mfp-ps.ppd.gzbin43697 -> 43697 bytes
-rw-r--r--prnt/ps/hp-laserjet_m9040_mfp-ps.ppd.gzbin52869 -> 52869 bytes
-rw-r--r--prnt/ps/hp-laserjet_m9050_mfp-ps.ppd.gzbin52869 -> 52869 bytes
-rw-r--r--prnt/ps/hp-laserjet_m9059_mfp-ps.ppd.gzbin52362 -> 52362 bytes
-rw-r--r--prnt/ps/hp-laserjet_p2015_series-ps.ppd.gzbin35974 -> 35974 bytes
-rw-r--r--prnt/ps/hp-laserjet_p2055_series-ps.ppd.gzbin33797 -> 33797 bytes
-rw-r--r--prnt/ps/hp-laserjet_p3004-ps.ppd.gzbin35756 -> 35756 bytes
-rw-r--r--prnt/ps/hp-laserjet_p3005-ps.ppd.gzbin38576 -> 38576 bytes
-rw-r--r--prnt/ps/hp-laserjet_p3010_series-ps.ppd.gzbin40278 -> 40278 bytes
-rw-r--r--prnt/ps/hp-laserjet_p4010_series-ps.ppd.gzbin51838 -> 51838 bytes
-rw-r--r--prnt/ps/hp-lj_300_400_color_m351_m451-ps.ppd.gzbin38347 -> 38347 bytes
-rw-r--r--prnt/ps/hp-lj_300_400_color_mfp_m375_m475-ps.ppd.gzbin27863 -> 27863 bytes
-rw-r--r--prnt/ps/hp-mopier_240-ps.ppd.gzbin42196 -> 42196 bytes
-rw-r--r--prnt/ps/hp-mopier_320-ps.ppd.gzbin42195 -> 42195 bytes
-rw-r--r--prnt/ps/hp-officejet_pro_8000_enterprise_a811a-ps.ppd.gzbin34923 -> 34923 bytes
-rwxr-xr-xscan.py6
-rwxr-xr-xscan/sane.py1
-rw-r--r--scan/sane/bb_ledm.c382
-rwxr-xr-xscan/sane/common.c29
-rw-r--r--scan/sane/common.h5
-rw-r--r--scan/sane/hpaio.c63
-rw-r--r--scan/sane/hpaio.desc12
-rw-r--r--scan/sane/hpaio.h2
-rw-r--r--scan/sane/http.c2
-rwxr-xr-xscan/sane/io.h10
-rw-r--r--scan/sane/ledm.c33
-rw-r--r--scan/sane/ledmi.h2
-rw-r--r--scan/sane/marvell.c56
-rw-r--r--scan/sane/soap.c17
-rw-r--r--scan/sane/soapht.c22
-rw-r--r--scan/sane/soaphti.h1
-rw-r--r--scan/sane/soapi.h2
-rwxr-xr-xsetup.py21
-rw-r--r--ui/devmgr4.py51
-rw-r--r--ui/devmgr4_base.py40
-rw-r--r--ui/devmgr4_base.ui56
-rw-r--r--ui/scrollcopy.py14
-rw-r--r--ui/setupform.py18
-rw-r--r--ui/systemtray.py38
-rw-r--r--ui/upgradeform.py136
-rw-r--r--ui/upgradeform_base.py86
-rw-r--r--ui4/aligndialog.py25
-rw-r--r--ui4/devmgr5.py70
-rw-r--r--ui4/devmgr5_base.py47
-rw-r--r--ui4/devmgr5_base.ui38
-rw-r--r--ui4/plugindiagnose.py6
-rw-r--r--ui4/plugindiagnose_base.py8
-rw-r--r--ui4/plugindiagnose_base.ui2
-rw-r--r--ui4/queuesconf.py181
-rw-r--r--ui4/settingsdialog.py14
-rw-r--r--ui4/setupdialog.py20
-rw-r--r--ui4/systemtray.py90
-rw-r--r--ui4/systrayframe.py53
-rw-r--r--ui4/systrayframe_base.py82
-rw-r--r--ui4/systrayframe_base.ui327
-rw-r--r--ui4/ui_utils.py33
-rw-r--r--ui4/upgradedialog.py127
-rw-r--r--ui4/upgradedialog_base.py62
-rw-r--r--ui4/upgradedialog_base.ui143
-rw-r--r--ui4/wifisetupdialog.py11
-rwxr-xr-xuninstall.py132
-rwxr-xr-xupgrade.py365
1675 files changed, 8997 insertions, 4863 deletions
diff --git a/Makefile.am b/Makefile.am
index 2ac05dc56..5a2349c98 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,590 +1,593 @@
-#
-# Makefile.am - hplip automake input file
-#
-# (c) 2004-2010 Copyright Hewlett-Packard Development Company, LP
-# Author: David Suffield, Naga Samrat Chowdary Narla,
-
-INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs
-
-hplipdir = $(datadir)/hplip
-
-docdir = $(hpdocdir)
-doc_DATA = COPYING copyright prnt/hpijs/README_LIBJPG
-EXTRA_DIST = prnt/hpijs/gdevijs-krgb-1.5-gs8.61.patch prnt/hpijs/README_LIBJPG copyright
-
-dist_noinst_SCRIPTS =
-dist_noinst_DATA =
-noinst_PROGRAMS =
-lib_LTLIBRARIES =
-
-include foomatic_drv.inc
-include unreleased.inc
-include cups_drv.inc
-
-if DOC_BUILD
-wwwsrc = doc
-www0dir = $(docdir)
-dist_www0_DATA = $(wwwsrc)/index.html $(wwwsrc)/commandline.html $(wwwsrc)/copying.html $(wwwsrc)/devicemanager.html $(wwwsrc)/faxtrouble.html $(wwwsrc)/gettinghelp.html $(wwwsrc)/hpscan.html $(wwwsrc)/mainttask.html $(wwwsrc)/plugins.html $(wwwsrc)/print.html $(wwwsrc)/printing.html $(wwwsrc)/printoptions.html $(wwwsrc)/printtroubleshooting.html $(wwwsrc)/scanning.html $(wwwsrc)/scantrouble.html $(wwwsrc)/sendfax.html $(wwwsrc)/setup.html $(wwwsrc)/systray.html $(wwwsrc)/troubleshooting.html $(wwwsrc)/uninstalling.html $(wwwsrc)/upgrading.html
-www3dir = $(docdir)/styles
-dist_www3_DATA = $(wwwsrc)/styles/*
-www4dir = $(docdir)/images
-dist_www4_DATA = $(wwwsrc)/images/*
-endif
-
-if HPLIP_BUILD
-
-# hp backend.
-hpdir = $(cupsbackenddir)
-hp_PROGRAMS = hp
-hp_SOURCES = prnt/backend/hp.c
-hp_LDADD = libhpmud.la $(DBUS_LIBS)
-hp_CFLAGS = $(DBUS_CFLAGS)
-
-# hpaio sane backend
-if SCAN_BUILD
-libsane_hpaiodir = $(libdir)/sane
-libsane_hpaio_LTLIBRARIES = libsane-hpaio.la
-libsane_hpaio_la_SOURCES = scan/sane/hpaio.c scan/sane/mfpdtf.c scan/sane/pml.c scan/sane/scl.c scan/sane/io.c scan/sane/hpaio.h \
- scan/sane/pml.h scan/sane/saneopts.h scan/sane/io.h scan/sane/mfpdtf.h scan/sane/sane.h scan/sane/scl.h scan/sane/tables.h \
- scan/sane/common.c scan/sane/common.h scan/sane/soap.h scan/sane/soapht.h scan/sane/sanei_debug.h scan/sane/sanei.h \
- scan/sane/sanei_init_debug.c scan/sane/marvell.h scan/sane/marvelli.h scan/sane/marvell.c scan/sane/soapht.c scan/sane/soap.c \
- scan/sane/soaphti.h scan/sane/soapi.h scan/sane/xml.c scan/sane/xml.h scan/sane/ledm.h scan/sane/ledmi.h scan/sane/ledm.c \
- scan/sane/bb_ledm.c scan/sane/http.h scan/sane/http.c
-if DARWIN_BUILD
-libsane_hpaio_la_LDFLAGS = -module -framework CoreFoundation -version-info 1:0:0
-else
-libsane_hpaio_la_LDFLAGS = -version-info 1:0:0
-endif
-# The following is a interlibrary dependency that must be compiled first.
-libsane_hpaio_la_LIBADD = libhpip.la libhpmud.la $(DBUS_LIBS) -lcups -ldl
-#libsane_hpaio_la_CFLAGS = -DWITH_NONAMESPACES -DSOAP_DEBUG
-libsane_hpaio_la_CFLAGS = $(DBUS_CFLAGS)
-endif # SCAN_BUILD
-
-# hpmud library
-MUDNAME=hpmud
-lib_LTLIBRARIES += libhpmud.la
-libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/musb.c io/hpmud/pml.c \
- io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/musb.h io/hpmud/pml.h io/hpmud/dot4.c \
- io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h
-if NETWORK_BUILD
-libhpmud_la_LDFLAGS = -version-info 0:6:0 -lusb -lpthread -l$(SNMPLIB) -lcrypto
-else
-libhpmud_la_LDFLAGS = -version-info 0:6:0 -lusb -lpthread
-endif
-libhpmud_la_CFLAGS = -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\"
-
-# ip library
-lib_LTLIBRARIES += libhpip.la
-libhpip_la_LDFLAGS = -version-info 0:1:0
-libhpip_la_LIBADD = -lm
-libhpip_la_SOURCES = ip/xconvolve.c ip/xfax.c ip/xgrayout.c ip/xjpg_dct.c ip/xjpg_fix.c ip/xpad.c ip/xrotate.c ip/xskel.c ip/xtiff.c \
- ip/ipmain.c ip/xchgbpp.c ip/xcrop.c ip/xgamma.c ip/xjpg_dec.c ip/xjpg_huf.c ip/xpcx.c ip/xsaturation.c ip/xtable.c ip/xtonemap.c \
- ip/xbi2gray.c ip/xcolrspc.c ip/xfakemono.c ip/xgray2bi.c ip/xinvert.c ip/xjpg_enc.c ip/xmatrix.c ip/xpnm.c ip/xscale.c ip/xthumb.c ip/xyxtract.c \
- ip/hpip.h ip/ipdefs.h ip/xform.h ip/xjpg_dct.h ip/xjpg_huf.h ip/xjpg_mrk.h
-
-# hp-mkuri.
-hp_mkuridir = $(bindir)
-hp_mkuri_PROGRAMS = hp-mkuri
-hp_mkuri_SOURCES = io/hpmud/hp-mkuri.c
-hp_mkuri_LDADD = -ldl libhpmud.la
-hp_mkuri_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\"
-
-# hpmud.rules
-rulesdir = /etc/udev/rules.d
-dist_rules_DATA = data/rules/56-hpmud_support.rules
-dist_rules_DATA += data/rules/86-hpmud_plugin.rules
-if UDEV_ACL_RULES
-dist_rules_DATA += data/rules/40-hplip.rules
-else
-dist_rules_DATA += data/rules/55-hpmud.rules
-endif
-halpredir = /usr/share/hal/fdi/preprobe/10osvendor
-dist_halpre_DATA = data/rules/20-hplip-devices.fdi
-
-# hplip.conf
-hplip_confdir = /etc/hp
-hplip_conf_DATA = hplip.conf
-
-#pstotiff filter
-pstotiffdir = $(cupsfilterdir)
-pstotiff_SCRIPTS = fax/filters/pstotiff
-
-# hplip.state
-hplip_statedir = /var/lib/hp
-dist_hplip_state_DATA = hplip.state
-
-# Log Files
-hplip_Logdir=/var/log/hp
-
-if FULL_BUILD
-
-dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
-dist_noinst_DATA += scan/sane/hpaio.desc prnt/drv/hpijs.drv.in.template
-dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall
-
-cmddir = $(hplipdir)
-dist_cmd_SCRIPTS = align.py info.py print.py toolbox.py clean.py colorcal.py unload.py testpage.py makeuri.py check.py fab.py levels.py \
- sendfax.py setup.py makecopies.py probe.py timedate.py firmware.py scan.py systray.py plugin.py linefeedcal.py pqdiag.py \
- faxsetup.py devicesettings.py printsettings.py query.py pkservice.py wificonfig.py check-plugin.py diagnose_plugin.py
-
-# base
-basedir = $(hplipdir)/base
-
-dist_base_DATA = base/maint.py base/codes.py base/g.py base/pml.py base/status.py \
- base/__init__.py base/mfpdtf.py base/utils.py base/wifi.py base/LedmWifi.py \
- base/device.py base/logger.py base/slp.py base/exif.py base/strings.py base/magic.py \
- base/imagesize.py base/pexpect.py base/models.py base/mdns.py base/tui.py base/dime.py \
- base/ldif.py base/vcard.py base/module.py base/pkit.py
-
-# installer
-installdir = $(hplipdir)/installer
-dist_install_DATA = installer/__init__.py installer/dcheck.py installer/distros.dat installer/core_install.py
-dist_noinst_DATA += installer/text_install.py
-
-# makecopies
-copierdir = $(hplipdir)/copier
-dist_copier_DATA = copier/copier.py copier/__init__.py
-
-# fax
-if FAX_BUILD
-faxdir = $(hplipdir)/fax
-dist_fax_DATA = fax/fax.py fax/__init__.py fax/coverpages.py fax/pmlfax.py fax/ledmfax.py fax/soapfax.py fax/ledmsoapfax.py fax/marvellfax.py \
- fax/faxdevice.py fax/filters/pstotiff fax/filters/pstotiff.convs fax/filters/pstotiff.types
-fax_filtersdir = $(mimedir)
-dist_fax_filters_DATA = fax/filters/pstotiff.convs fax/filters/pstotiff.types
-hpfaxdir = $(cupsbackenddir)
-dist_hpfax_SCRIPTS = fax/backend/hpfax.py
-hpijsfaxppddir = $(hpppddir)
-hpcupsfaxppddir = $(hpppddir)
-if HPIJS_INSTALL
-dist_hpijsfaxppd_DATA = fax/ppd/HP-Fax-hpijs.ppd.gz fax/ppd/HP-Fax2-hpijs.ppd.gz fax/ppd/HP-Fax3-hpijs.ppd.gz fax/ppd/HP-Fax4-hpijs.ppd.gz
-endif # HPIJS_INSTALL
-if HPCUPS_INSTALL
-dist_hpcupsfaxppd_DATA = fax/ppd/HP-Fax-hpcups.ppd.gz fax/ppd/HP-Fax2-hpcups.ppd.gz fax/ppd/HP-Fax3-hpcups.ppd.gz fax/ppd/HP-Fax4-hpcups.ppd.gz
-endif # HPCUPS_INSTALL
-endif # FAX_BUILD
-
-# ptest
-noinst_PROGRAMS += ptest
-ptest_SOURCES = pcard/ptest.c pcard/ptest.h pcard/fat.c pcard/fat.h
-ptest_LDADD = libhpmud.la
-
-# data
-modelsdir = $(hplipdir)/data/models
-images_16x16dir = $(hplipdir)/data/images/16x16
-images_24x24dir = $(hplipdir)/data/images/24x24
-images_32x32dir = $(hplipdir)/data/images/32x32
-images_64x64dir = $(hplipdir)/data/images/64x64
-images_128x128dir = $(hplipdir)/data/images/128x128
-images_256x256dir = $(hplipdir)/data/images/256x256
-images_devicesdir = $(hplipdir)/data/images/devices
-images_otherdir = $(hplipdir)/data/images/other
-pcldir = $(hplipdir)/data/pcl
-ldldir = $(hplipdir)/data/ldl
-postscriptdir = $(hplipdir)/data/ps
-localzdir = $(hplipdir)/data/localization
-dist_postscript_DATA = data/ps/testpage.ps.gz data/ps/clean_page.pdf.gz
-dist_models_DATA = data/models/models.dat
-dist_hplip_Log_DATA=
-
-if GUI_BUILD
-dist_images_16x16_DATA = data/images/16x16/*
-dist_images_24x24_DATA = data/images/24x24/*
-dist_images_32x32_DATA = data/images/32x32/*
-dist_images_64x64_DATA = data/images/64x64/*
-dist_images_128x128_DATA = data/images/128x128/*
-dist_images_256x256_DATA = data/images/256x256/*
-dist_images_devices_DATA = data/images/devices/*
-dist_images_other_DATA = data/images/other/*
-endif
-
-dist_pcl_DATA = data/pcl/align1_8xx.pcl.gz data/pcl/align1_9xx.pcl.gz data/pcl/align2_8xx.pcl.gz data/pcl/align3_8xx.pcl.gz data/pcl/align4_8xx.pcl.gz \
- data/pcl/align5_8xx.pcl.gz data/pcl/align2_9xx.pcl.gz data/pcl/align3_9xx.pcl.gz data/pcl/align4_450.pcl.gz data/pcl/align6_450.pcl.gz \
- data/pcl/colorcal1_450.pcl.gz data/pcl/colorcal2_450.pcl.gz data/pcl/crbcal.pcl.gz data/pcl/crcaldone.pcl.gz data/pcl/crcbcal.pcl.gz data/pcl/crccal.pcl.gz \
- data/pcl/crcpcal.pcl.gz data/pcl/crpcal.pcl.gz
-dist_ldl_DATA = data/ldl/cb2pcal.ldl.gz data/ldl/cb2pcal_done.ldl.gz data/ldl/cbbcal.ldl.gz data/ldl/cbccal.ldl.gz data/ldl/cbccal_done.ldl.gz data/ldl/cbcpcal.ldl.gz \
- data/ldl/cbpcal.ldl.gz
-dist_localz_DATA = data/localization/hplip_de.qm data/localization/hplip_es.qm data/localization/hplip_fr.qm data/localization/hplip_it.qm \
- data/localization/hplip_pt.qm data/localization/hplip_ru.qm data/localization/hplip_zh.qm
-dist_noinst_DATA += data/localization/hplip_de.ts data/localization/hplip_es.ts data/localization/hplip_fr.ts data/localization/hplip_it.ts \
- data/localization/hplip_pt.ts data/localization/hplip_ru.ts data/localization/hplip_zh.ts
-
-# pcard
-pcarddir = $(hplipdir)/pcard
-dist_pcard_DATA = pcard/__init__.py pcard/photocard.py
-
-# pcardext
-pcardextdir = $(pyexecdir)
-pcardext_LTLIBRARIES = pcardext.la
-pcardext_la_LDFLAGS = -module -avoid-version
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c
-pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
-
-# prnt
-prntdir = $(hplipdir)/prnt
-dist_prnt_DATA = prnt/cups.py prnt/__init__.py prnt/ldl.py prnt/pcl.py prnt/colorcal.py
-
-# cupsext
-cupsextdir = $(pyexecdir)
-cupsext_LTLIBRARIES = cupsext.la
-cupsext_la_LDFLAGS = -module -avoid-version
-cupsext_la_SOURCES = prnt/cupsext/cupsext.c
-cupsext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
-cupsext_la_LIBADD = -lcups
-
-if SCAN_BUILD
-# scan
-scandir = $(hplipdir)/scan
-dist_scan_DATA = scan/__init__.py scan/sane.py
-
-# scanext
-scanextdir = $(pyexecdir)
-scanext_LTLIBRARIES = scanext.la
-scanext_la_LDFLAGS = -module -avoid-version -lsane
-scanext_la_SOURCES = scan/scanext/scanext.c
-scanext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
-endif
-
-# hpmudext
-hpmudextdir = $(pyexecdir)
-hpmudext_LTLIBRARIES = hpmudext.la
-hpmudext_la_LDFLAGS = -module -avoid-version
-hpmudext_la_SOURCES = io/mudext/hpmudext.c
-hpmudext_la_LIBADD = libhpmud.la
-hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
-# ui (qt3)
-if GUI_BUILD
-if QT3_INSTALL
-uidir = $(hplipdir)/ui
-dist_ui_DATA = ui/alignform.py \
- ui/colorcalform_base.py ui/colorcalform.py ui/coloradjform_base.py ui/coloradjform.py ui/devmgr4_base.py ui/devmgr4.py \
- ui/__init__.py ui/loadpaperform_base.py ui/loadpaperform.py \
- ui/paperedgealignform_base.py ui/paperedgealignform.py ui/ui_utils.py \
- ui/settingsdialog_base.py ui/settingsdialog.py ui/aligntype6form1.py ui/aligntype6form1_base.py ui/aligntype6form2_base.py \
- ui/aligntype6form2.py ui/nodevicesform_base.py ui/nodevicesform.py ui/unloadform.py \
- ui/imagepropertiesdlg_base.py ui/imagepropertiesdlg.py ui/choosedevicedlg.py ui/chooseprinterdlg.py \
- ui/aboutdlg.py ui/aboutdlg_base.py ui/waitform.py ui/waitform_base.py ui/cleaningform_base.py ui/cleaningform.py \
- ui/cleaningform2_base.py ui/cleaningform2.py ui/colorcalform2_base.py ui/colorcalform2.py ui/colorcal4form.py \
- ui/colorcal4form_base.py ui/colorcal4form_base.ui ui/printerform.py \
- ui/faxaddrbookgroupsform_base.py ui/faxaddrbookgroupeditform_base.py ui/faxaddrbookform_base.py \
- ui/faxaddrbookform.py ui/faxaddrbookeditform_base.py ui/align10form.py ui/align10form_base.py \
- ui/faxsendjobform.py ui/faxsettingsform_base.py ui/faxsettingsform.py \
- ui/coverpageform_base.py ui/coverpageform.py ui/allowabletypesdlg_base.py ui/allowabletypesdlg.py \
- ui/makecopiesform.py ui/setupform_base.py ui/setupform.py ui/setupmanualfind_base.py \
- ui/setupmanualfind.py ui/setupsettings_base.py ui/setupsettings.py ui/scrollview.py \
- ui/scrollprintsettings.py ui/scrollprint.py ui/scrollfax.py \
- ui/scrollunload.py ui/scrollcopy.py ui/pluginform2.py ui/pluginform2_base.py ui/systemtray.py \
- ui/ui_utils.py ui/jobstoragemixin.py ui/pluginlicenseform_base.py ui/pluginlicenseform.py \
- ui/align13form_base.py ui/align13form.py ui/firmwaredialog_base.py ui/firmwaredialog.py \
- ui/deviceuricombobox.py
-
-dist_noinst_DATA += ui/colorcalform2_base.ui ui/settingsdialog_base.ui ui/aligntype6form1_base.ui \
- ui/aboutdlg_base.ui ui/imagepropertiesdlg_base.ui ui/paperedgealignform_base.ui ui/aligntype6form2_base.ui \
- ui/nodevicesform_base.ui ui/cleaningform_base.ui ui/colorcalform_base.ui ui/devmgr4_base.ui ui/loadpaperform_base.ui \
- ui/cleaningform2_base.ui ui/waitform_base.ui ui/coloradjform_base.ui ui/faxaddrbookeditform_base.ui \
- ui/faxaddrbookform_base.ui ui/faxaddrbookgroupeditform_base.ui ui/faxaddrbookgroupsform_base.ui \
- ui/align10form_base.ui ui/pluginform2_base.ui \
- plugins/powersettingsdialog_base.ui ui/faxsettingsform_base.ui ui/coverpageform_base.ui \
- ui/allowabletypesdlg_base.ui ui/setupform_base.ui ui/setupmanualfind_base.ui \
- ui/setupsettings_base.ui ui/pluginlicenseform_base.ui ui/align13form_base.ui ui/firmwaredialog_base.ui
-endif
-endif
-
-#ui4 (qt4)
-if GUI_BUILD
-if QT4_INSTALL
-ui4dir=$(hplipdir)/ui4
-#dist_ui4_SCRIPTS = ui4/devmgr5.py ui4/systemtray.py ui4/devmgr5_base.py ui4/__init__.py ui4/ui_utils.py \
-# ui4/settingsdialog_base.py ui4/settingsdialog.py ui4/printsettingstoolbox.py ui4/printdialog_base.py \
-# ui4/printdialog.py
-#dist_noinst_DATA += ui4/devmgr5_base.ui ui4/settingsdialog_base.ui ui4/printdialog_base.ui
-dist_ui4_DATA = ui4/*.py
-dist_noinst_DATA += ui4/*.ui
-endif
-endif
-
-# ui plugins (qt3)
-if GUI_BUILD
-if QT3_INSTALL
-pluginsdir = $(hplipdir)/plugins
-dist_plugins_DATA = plugins/dj450.py plugins/__init__.py plugins/powersettings.py plugins/powersettingsdialog.py \
- plugins/powersettingsdialog_base.py plugins/Deskjet_460.py plugins/Officejet_H470.py plugins/powersettings2.py
-endif
-endif
-
-# ui plugins (qt4)
-if GUI_BUILD
-if QT4_INSTALL
-plugins4dir = $(hplipdir)/ui4/plugins
-dist_plugins4_SCRIPTS =
-endif
-endif
-
-# PolicyKit
-if POLICYKIT_INSTALL
-policykit_dbus_etcdir = /etc/dbus-1/system.d
-dist_policykit_dbus_etc_DATA = data/policykit/com.hp.hplip.conf
-policykit_dbus_sharedir = /usr/share/dbus-1/system-services
-dist_policykit_dbus_share_DATA = data/policykit/com.hp.hplip.service
-policykit_policydir = $(policykit_dir)
-dist_policykit_policy_DATA = data/policykit/com.hp.hplip.policy
-endif
-
-# hppgsz
-noinst_PROGRAMS += hppgsz
-hppgsz_SOURCES = prnt/hpijs/PrinterProperties.cpp prnt/hpijs/PrinterProperties.h prnt/hpijs/bug.h
-hppgsz_CXXFLAGS = $(libapdk_la_CXXFLAGS)
-hppgsz_CFLAGS = $(libapdk_la_CFLAGS)
-hppgsz_LDADD = libapdk.la -ljpeg -ldl
-
-# hplip.desktop
-hplip_desktopdir = $(icondir)
-hplip_desktop_DATA = hplip.desktop
-
-# hplip-systray.desktop
-hplip_systraydir = $(systraydir)
-hplip_systray_DATA = hplip-systray.desktop
-
-# hpipjs (CUPS filter)
-hplipjsdir = $(cupsfilterdir)
-hplipjs_PROGRAMS = hplipjs
-hplipjs_SOURCES = prnt/filters/hplipjs.c
-
-# hpps (CUPS filter)
-hppsdir = $(cupsfilterdir)
-hpps_PROGRAMS = hpps
-hpps_SOURCES = prnt/hpps/hppsfilter.c
-hpps_LDADD = -lcups
-
-# hpcac (CUPS filter, Color Access Control, ie: CLJ 4700)
-cacdir = $(cupsfilterdir)
-dist_cac_SCRIPTS = prnt/filters/hpcac
-
-endif # FULL_BUILD
-endif # HPLIP_BUILD
-
-# foomatic-rip-hplip
-if RIP_INSTALL
-ripdir = $(cupsfilterdir)
-dist_rip_SCRIPTS = prnt/hpijs/foomatic-rip-hplip
-endif
-
-# apdk
-noinst_LTLIBRARIES = libapdk.la
-libapdk_la_SOURCES = prnt/hpijs/models.cpp prnt/hpijs/breaks_open.cpp \
- prnt/hpijs/dj9xxvip.cpp prnt/hpijs/dj9xx.cpp prnt/hpijs/capture.cpp prnt/hpijs/colormatch.cpp prnt/hpijs/colormatcher_open.cpp \
- prnt/hpijs/compression.cpp prnt/hpijs/context2.cpp prnt/hpijs/create_so.cpp prnt/hpijs/creator.cpp \
- prnt/hpijs/dj600.cpp prnt/hpijs/dj630.cpp prnt/hpijs/dj660.cpp prnt/hpijs/dj690.cpp prnt/hpijs/dj6xx.cpp prnt/hpijs/dj8xx.cpp prnt/hpijs/dj600_maps.cpp \
- prnt/hpijs/dj660_maps.cpp prnt/hpijs/dj690_maps.cpp prnt/hpijs/dj895_maps.cpp prnt/hpijs/dj895_maps2.cpp prnt/hpijs/dj970_maps.cpp \
- prnt/hpijs/dj970_maps2.cpp prnt/hpijs/dj970_maps3.cpp prnt/hpijs/filterhpa.cpp prnt/hpijs/apollo21xx.cpp prnt/hpijs/apollo2560.cpp prnt/hpijs/apollo2xxx.cpp \
- prnt/hpijs/dj8x5.cpp prnt/hpijs/psp100.cpp prnt/hpijs/phobos_cmaps.cpp prnt/hpijs/dj350.cpp prnt/hpijs/halftoner.cpp prnt/hpijs/halftoner_open.cpp \
- prnt/hpijs/globals.cpp prnt/hpijs/header2.cpp prnt/hpijs/htmtxhi.cpp prnt/hpijs/pmselect.cpp \
- prnt/hpijs/job.cpp prnt/hpijs/printer.cpp prnt/hpijs/registry.cpp prnt/hpijs/scaler.cpp \
- prnt/hpijs/scaler_open.cpp prnt/hpijs/script.cpp prnt/hpijs/systemservices.cpp \
- prnt/hpijs/translator.cpp prnt/hpijs/version.cpp prnt/hpijs/versioncode.cpp \
- prnt/hpijs/djgenericvip.cpp prnt/hpijs/dj540.cpp prnt/hpijs/dj850.cpp prnt/hpijs/dj850_maps.cpp prnt/hpijs/dj890.cpp \
- prnt/hpijs/apollo21xx.h prnt/hpijs/apollo2560.h prnt/hpijs/apollo2xxx.h prnt/hpijs/colormatch.h prnt/hpijs/colormatcher_open.h \
- prnt/hpijs/compression.h prnt/hpijs/config.h prnt/hpijs/context.h prnt/hpijs/dj350.h prnt/hpijs/dj400.h prnt/hpijs/dj540.h \
- prnt/hpijs/dj600.h prnt/hpijs/dj630.h prnt/hpijs/dj660.h prnt/hpijs/dj690.h prnt/hpijs/dj6xx.h prnt/hpijs/dj8x5.h prnt/hpijs/dj8xx.h \
- prnt/hpijs/dj850.h prnt/hpijs/dj890.h prnt/hpijs/dj9xx.h prnt/hpijs/dj9xxvip.h \
- prnt/hpijs/ernieplatform.h prnt/hpijs/filterhpa.h prnt/hpijs/global_types.h prnt/hpijs/halftoner.h prnt/hpijs/font.h prnt/hpijs/debug.h \
- prnt/hpijs/halftoner_open.h prnt/hpijs/header.h prnt/hpijs/hpprint_c_api.h \
- prnt/hpijs/hpprintapi.h prnt/hpijs/hptypes.h prnt/hpijs/htfed.h prnt/hpijs/internal.h \
- prnt/hpijs/interp.h prnt/hpijs/interp_data_50.h prnt/hpijs/io_defs.h prnt/hpijs/job.h prnt/hpijs/models.h prnt/hpijs/modes.h prnt/hpijs/pmselect.h \
- prnt/hpijs/printer.h prnt/hpijs/psp100.h prnt/hpijs/psp470.h prnt/hpijs/resources.h prnt/hpijs/scaler_open.h prnt/hpijs/scaler_prop.h prnt/hpijs/script.h \
- prnt/hpijs/systemservices.h prnt/hpijs/unistd_.h prnt/hpijs/djgenericvip.h prnt/hpijs/ljmono.h prnt/hpijs/ljmono.cpp \
- prnt/hpijs/dj3320.cpp prnt/hpijs/dj3320.h prnt/hpijs/dj3320_cmap.cpp prnt/hpijs/dj3600.cpp prnt/hpijs/dj3600.h prnt/hpijs/dj3600_cmap.cpp prnt/hpijs/dj4100.h prnt/hpijs/djd2600.h \
- prnt/hpijs/dj4100_cmap.cpp prnt/hpijs/ldlencap.h prnt/hpijs/ljcolor.cpp prnt/hpijs/ljcolor.h prnt/hpijs/pscript.h \
- prnt/hpijs/printerproxy.cpp prnt/hpijs/printerfactory.cpp prnt/hpijs/printerproxy.h prnt/hpijs/printerfactory.h \
- prnt/hpijs/ljjetready.cpp prnt/hpijs/ljjetready.h prnt/hpijs/jdatadbf.c prnt/hpijs/jccolor.c prnt/hpijs/ljfastraster.cpp prnt/hpijs/ljfastraster.h \
- prnt/hpijs/jinclude.h prnt/hpijs/jpegint.h prnt/hpijs/dj55xx.h prnt/hpijs/hpijsfax.h prnt/hpijs/ojprokx50.h \
- prnt/hpijs/ljzjs.cpp prnt/hpijs/ljzjs.h prnt/hpijs/ljzjsmono.cpp prnt/hpijs/ljm1005.cpp prnt/hpijs/ljm1005.h \
- prnt/hpijs/ljzjsmono.h prnt/hpijs/hpjbig_wrapper.h prnt/hpijs/quickconnect.cpp prnt/hpijs/quickconnect.h prnt/hpijs/ljp1xxx.h prnt/hpijs/ljzjscolor.cpp prnt/hpijs/ljzjscolor.h
-libapdk_la_CXXFLAGS = -DAPDK_DJ660 -DAPDK_DJ6xx -DAPDK_DJ6xxPhoto -DAPDK_DJ8xx -DAPDK_DJ9xx -DAPDK_DJ9xxVIP -DAPDK_DJ630 \
- -DAPDK_APOLLO2XXX -DAPDK_APOLLO21XX -DAPDK_APOLLO2560 -DAPDK_DJ600 -DAPDK_DJ350 -DAPDK_DJ8x5 -DAPDK_PSP100 -DAPDK_AUTODUPLEX \
- -DAPDK_HIGH_RES_MODES -DAPDK_LJMONO -DAPDK_DJ540 -DAPDK_DJ850 -DAPDK_DJ890 -DAPDK_DJ3320 -DAPDK_LJCOLOR -DAPDK_DJGENERICVIP \
- -DAPDK_LJJETREADY -DAPDK_LJFASTRASTER -DAPDK_BUFFER_SEND -DAPDK_LDL_COMPRESS -DAPDK_EXTENDED_MEDIASIZE \
- -DAPDK_MLC_PRINTER -DAPDK_DJ3600 -DAPDK_LJZJS_MONO -DAPDK_LJZJS_COLOR -DAPDK_LJM1005 -DAPDK_QUICKCONNECT \
- $(APDK_ENDIAN_FLAG) $(APDK_AUTO_INCLUDE_FLAG) -DAPDK_LINUX -DNDEBUG $(DBUS_CFLAGS)
-libapdk_la_CFLAGS = $(libapdk_la_CXXFLAGS) -Iprnt/hpijs
-
-if HPIJS_INSTALL
-# hpijs
-bin_PROGRAMS = hpijs
-hpijs_SOURCES = prnt/hpijs/hpijs.cpp prnt/hpijs/ijs_server.c prnt/hpijs/ijs.c prnt/hpijs/hpijsfax.cpp prnt/hpijs/services.cpp prnt/hpijs/bug.h \
- prnt/hpijs/hpijs.h prnt/hpijs/ijs.h prnt/hpijs/ijs_server.h prnt/hpijs/services.h prnt/hpijs/ijs_client.h prnt/hpijs/hpiom.c prnt/hpijs/hpiom.h
-hpijs_CXXFLAGS = $(libapdk_la_CXXFLAGS)
-hpijs_CFLAGS = $(libapdk_la_CFLAGS)
-if HPLIP_BUILD
-hpijs_LDADD = libapdk.la -ljpeg -ldl libhpip.la libhpmud.la $(DBUS_LIBS)
-else
-hpijs_LDADD = libapdk.la -ljpeg -ldl
-endif
-endif # HPIJS_INSTALL
-
-if HPCUPS_INSTALL
-# hpcups
-#if NEW_HPCUPS
-hpcupsdir = $(cupsfilterdir)
-hpcups_PROGRAMS = hpcups
-hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hpcups/dbuscomm.cpp prnt/hpcups/dbuscomm.h prnt/hpcups/Compressor.cpp prnt/hpcups/Compressor.h \
- prnt/hpcups/Mode2.cpp prnt/hpcups/Mode2.h prnt/hpcups/Mode3.cpp prnt/hpcups/Mode3.h \
- prnt/hpcups/Mode9.cpp prnt/hpcups/Mode9.h prnt/hpcups/Mode10.cpp prnt/hpcups/Mode10.h \
- prnt/hpcups/ModeDeltaPlus.cpp prnt/hpcups/ModeDeltaPlus.h prnt/hpcups/ModeJbig.cpp prnt/hpcups/ModeJbig.h \
- prnt/hpcups/ErnieFilter.cpp prnt/hpcups/ErnieFilter.h prnt/hpcups/EncapsulatorFactory.cpp prnt/hpcups/EncapsulatorFactory.h \
- prnt/hpcups/Encapsulator.cpp prnt/hpcups/Encapsulator.h prnt/hpcups/Pcl3.cpp prnt/hpcups/Pcl3.h \
- prnt/hpcups/Pcl3Gui.cpp prnt/hpcups/Pcl3Gui.h prnt/hpcups/Pcl3Gui2.cpp prnt/hpcups/Pcl3Gui2.h \
- prnt/hpcups/LJMono.cpp prnt/hpcups/LJMono.h prnt/hpcups/LJColor.cpp prnt/hpcups/LJColor.h \
- prnt/hpcups/LJFastRaster.cpp prnt/hpcups/LJFastRaster.h prnt/hpcups/LJJetReady.cpp prnt/hpcups/LJJetReady.h \
-prnt/hpcups/LJZjStream.cpp prnt/hpcups/LJZjStream.h \
- prnt/hpcups/LJZxStream.cpp prnt/hpcups/LJZxStream.h prnt/hpcups/Job.cpp prnt/hpcups/Job.h \
- prnt/hpcups/Pipeline.cpp prnt/hpcups/Pipeline.h prnt/hpcups/Processor.cpp prnt/hpcups/Processor.h \
- prnt/hpcups/RasterSender.cpp prnt/hpcups/RasterSender.h prnt/hpcups/ColorMatcher.cpp prnt/hpcups/ColorMatcher.h \
- prnt/hpcups/Halftoner.cpp prnt/hpcups/Halftoner.h prnt/hpcups/Scaler.cpp prnt/hpcups/Scaler.h prnt/hpcups/resources.h \
- prnt/hpcups/dj400ColorMaps.cpp prnt/hpcups/dj600ColorMaps.cpp prnt/hpcups/dj970ColorMaps.cpp prnt/hpcups/dj8xxColorMaps.cpp \
- prnt/hpcups/dj4100ColorMaps.cpp \
- prnt/hpcups/BreakTables.cpp prnt/hpcups/PrinterCommands.h prnt/hpcups/Utils.cpp prnt/hpcups/Utils.h \
- prnt/hpcups/SystemServices.cpp prnt/hpcups/SystemServices.h prnt/hpcups/CommonDefinitions.h prnt/hpcups/hpjbig_wrapper.h \
- prnt/hpcups/apPrintModes.h prnt/hpcups/dj400PrintModes.h prnt/hpcups/dj540PrintModes.h prnt/hpcups/dj600PrintModes.h \
- prnt/hpcups/dj630PrintModes.h prnt/hpcups/dj690PrintModes.h prnt/hpcups/dj850PrintModes.h prnt/hpcups/dj890PrintModes.h \
- prnt/hpcups/dj895PrintModes.h prnt/hpcups/dj8x5PrintModes.h prnt/hpcups/dj970PrintModes.h prnt/hpcups/Pcl3GuiPrintModes.h \
- prnt/hpcups/Pcl3PrintModes.h prnt/hpcups/ColorMaps.h \
- prnt/hpcups/QuickConnect.cpp prnt/hpcups/QuickConnect.h \
- prnt/hpcups/ModeJpeg.cpp prnt/hpcups/ModeJpeg.h \
- prnt/hpcups/jccolor.c prnt/hpcups/jinclude.h \
- prnt/hpcups/jdatadbf.c prnt/hpcups/jinclude.h \
- prnt/hpcups/Lidil.cpp prnt/hpcups/Lidil.h \
- prnt/hpcups/LidilCompress.cpp prnt/hpcups/LidilCompress.h \
- prnt/hpcups/LidilPrintModes.h prnt/hpcups/dj3320ColorMaps.cpp \
- prnt/hpcups/dj3600ColorMaps.cpp prnt/hpcups/dj3320PrintModes.h \
- prnt/hpcups/dj4100PrintModes.h
-
-hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
-hpcups_LDADD = -ljpeg -ldl -lcups -lcupsimage $(DBUS_LIBS)
-#else
-#hpcupsdir = $(cupsfilterdir)
-#hpcups_PROGRAMS = hpcups
-#hpcups_SOURCES = prnt/hpijs/hpcups.cpp prnt/hpijs/hpcups.h prnt/hpijs/services.cpp prnt/hpijs/services.h prnt/hpijs/hpiom.c prnt/hpijs/hpiom.h prnt/hpijs/bug.h prnt/hpijs/hpimage.cpp prnt/hpijs/hpimage.h
-#hpcups_CXXFLAGS = $(libapdk_la_CXXFLAGS)
-#hpcups_CFLAGS = $(libapdk_la_CFLAGS)
-#if HPCUPS_ONLY_BUILD
-#hpcups_LDADD = libapdk.la -ljpeg -ldl -lcups -lcupsimage
-#else
-#hpcups_LDADD = libapdk.la -ljpeg -ldl libhpip.la libhpmud.la $(DBUS_LIBS) -lcups -lcupsimage
-#endif #HPCUPS_ONLY_BUILD
-#endif # NEW_HPCUPS
-if !HPCUPS_ONLY_BUILD
-if FAX_BUILD
-# hpcupsfax
-hpcupsfaxdir = $(cupsfilterdir)
-hpcupsfax_PROGRAMS = hpcupsfax
-hpcupsfax_SOURCES = prnt/hpijs/hpcupsfax.cpp prnt/hpijs/hpcupsfax.h
-hpcupsfax_LDADD = libhpip.la -lcups -lcupsimage
-endif # FAX_BUILD
-endif # HPCUPS ONLY
-endif # HPCUPS_INSTALL
-
-# PPDs
-ppddir = $(hpppddir)
-dist_ppd_DATA = $(foomatic_ps_printers)
-if FOOMATIC_PPD_INSTALL
-dist_ppd_DATA += $(foomatic_ppd_printers)
-endif
-if FOOMATIC_DRV_INSTALL
-cupsdrvdir = $(drvdir)
-cupsdrv_DATA = $(foomatic_drv)
-endif
-if CUPS_PPD_INSTALL
-dist_ppd_DATA += $(cups_ppd_printers)
-endif
-if CUPS_DRV_INSTALL
-cupsdrv2dir = $(drvdir)
-cupsdrv2_DATA = $(cups_drv)
-endif
-
-install-dist_hplip_LogDATA:
-if FULL_BUILD
- test -z "$(DESTDIR)$(hplip_Logdir)" || mkdir -p $(DESTDIR)$(hplip_Logdir)
- chgrp "lp" -R $(DESTDIR)$(hplip_Logdir)
- chmod 774 $(DESTDIR)$(hplip_Logdir)
-endif #FULL_BUILD
-if HPLIP_BUILD
- test -z "$(DESTDIR)$(hplip_Logdir)" || mkdir -p $(DESTDIR)$(hplip_Logdir)
- chgrp "lp" -R $(DESTDIR)$(hplip_Logdir)
- chmod 774 $(DESTDIR)$(hplip_Logdir)
-endif #FULL_BUILD
-
-install-data-hook:
-if HPLIP_BUILD
-# If scanner build, add hpaio entry to sane dll.conf.
- if [ "$(scan_build)" = "yes" ]; then \
- $(mkinstalldirs) $(DESTDIR)/etc/sane.d; \
- if [ ! -f $(DESTDIR)/etc/sane.d/dll.conf ]; then \
- touch $(DESTDIR)/etc/sane.d/dll.conf; \
- fi; \
- if ! grep ^hpaio $(DESTDIR)/etc/sane.d/dll.conf >/dev/null 2>/dev/null ; then \
- echo "Adding hpaio entry to /etc/sane.d/dll.conf." ; \
- echo hpaio >>$(DESTDIR)/etc/sane.d/dll.conf ; \
- fi \
- fi
-if FULL_BUILD
-# Create hp-xxx commands in bindir.
- $(mkinstalldirs) $(DESTDIR)$(bindir)
- for i in $(dist_cmd_SCRIPTS); do \
- cmd=`basename $$i .py`; \
- if [ ! \( "$$cmd" = "toolbox" -a "$(gui_build)" = "no" \) ]; then \
- ln -sf ../share/$(PACKAGE)/$$i $(DESTDIR)$(bindir)/hp-$$cmd; \
- fi \
- done
-#
-# Install fax support.
- if [ "$(fax_build)" = "yes" ]; then \
- mv $(DESTDIR)$(hpfaxdir)/hpfax.py $(DESTDIR)$(hpfaxdir)/hpfax; \
- chmod 700 $(DESTDIR)$(hpfaxdir)/hpfax; \
- fi
-#
-# Make backend run as root.
-# chmod 700 $(DESTDIR)$(hpdir)/hp
-endif # FULL_BUILD
-endif # HPLIP_BUILD
-
-uninstall-hook:
-if HPLIP_BUILD
-# Remove hp-xxx commands.
- for i in $(dist_cmd_SCRIPTS); do \
- cmd=`basename $$i .py`; \
- rm -f $(DESTDIR)$(bindir)/hp-$$cmd; \
- done
-#
-# Remove fax support.
- rm -f $(DESTDIR)$(hpfaxdir)/hpfax
-endif
-
-rpm:
-if FULL_BUILD
- epm -f rpm hplipfull hplip.list
-endif
-if LITE_BUILD
- epm -f rpm hpliplite hplip.list
-endif
-if HPCUPS_ONLY_BUILD
- epm -f rpm hpliphpcupsonly hplip.list
-endif
-if HPIJS_ONLY_BUILD
- epm -f rpm hpliphpijsonly hplip.list
-endif
-
-deb:
-if FULL_BUILD
- epm -f deb hplipfull hplip.list
-endif
-if LITE_BUILD
- epm -f deb hpliplite hplip.list
-endif
-if HPCUPS_ONLY_BUILD
- epm -f deb hpliphpcupsonly hplip.list
-endif
-if HPIJS_ONLY_BUILD
- epm -f deb hpliphpijsonly hplip.list
-endif
+#
+# Makefile.am - hplip automake input file
+#
+# (c) 2004-2015 Copyright Hewlett-Packard Development Company, LP
+# Author: David Suffield, Naga Samrat Chowdary Narla, Sarbeswar Meher
+
+INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs
+
+hplipdir = $(datadir)/hplip
+
+docdir = $(hpdocdir)
+doc_DATA = COPYING copyright prnt/hpijs/README_LIBJPG
+EXTRA_DIST = prnt/hpijs/gdevijs-krgb-1.5-gs8.61.patch prnt/hpijs/README_LIBJPG copyright
+
+dist_noinst_SCRIPTS =
+dist_noinst_DATA =
+noinst_PROGRAMS =
+lib_LTLIBRARIES =
+
+include foomatic_drv.inc
+include unreleased.inc
+include cups_drv.inc
+
+if DOC_BUILD
+wwwsrc = doc
+www0dir = $(docdir)
+dist_www0_DATA = $(wwwsrc)/index.html $(wwwsrc)/commandline.html $(wwwsrc)/copying.html $(wwwsrc)/devicemanager.html $(wwwsrc)/faxtrouble.html $(wwwsrc)/gettinghelp.html $(wwwsrc)/hpscan.html $(wwwsrc)/mainttask.html $(wwwsrc)/plugins.html $(wwwsrc)/print.html $(wwwsrc)/printing.html $(wwwsrc)/printoptions.html $(wwwsrc)/printtroubleshooting.html $(wwwsrc)/scanning.html $(wwwsrc)/scantrouble.html $(wwwsrc)/sendfax.html $(wwwsrc)/setup.html $(wwwsrc)/systray.html $(wwwsrc)/troubleshooting.html $(wwwsrc)/uninstalling.html $(wwwsrc)/upgrading.html
+www3dir = $(docdir)/styles
+dist_www3_DATA = $(wwwsrc)/styles/*
+www4dir = $(docdir)/images
+dist_www4_DATA = $(wwwsrc)/images/*
+endif
+
+if HPLIP_BUILD
+
+# hp backend.
+hpdir = $(cupsbackenddir)
+hp_PROGRAMS = hp
+hp_SOURCES = prnt/backend/hp.c
+hp_LDADD = libhpmud.la $(DBUS_LIBS)
+hp_CFLAGS = $(DBUS_CFLAGS)
+
+# hpaio sane backend
+if SCAN_BUILD
+libsane_hpaiodir = $(libdir)/sane
+libsane_hpaio_LTLIBRARIES = libsane-hpaio.la
+libsane_hpaio_la_SOURCES = scan/sane/hpaio.c scan/sane/mfpdtf.c scan/sane/pml.c scan/sane/scl.c scan/sane/io.c scan/sane/hpaio.h \
+ scan/sane/pml.h scan/sane/saneopts.h scan/sane/io.h scan/sane/mfpdtf.h scan/sane/sane.h scan/sane/scl.h scan/sane/tables.h \
+ scan/sane/common.c scan/sane/common.h scan/sane/soap.h scan/sane/soapht.h scan/sane/sanei_debug.h scan/sane/sanei.h \
+ scan/sane/sanei_init_debug.c scan/sane/marvell.h scan/sane/marvelli.h scan/sane/marvell.c scan/sane/soapht.c scan/sane/soap.c \
+ scan/sane/soaphti.h scan/sane/soapi.h scan/sane/xml.c scan/sane/xml.h scan/sane/ledm.h scan/sane/ledmi.h scan/sane/ledm.c \
+ scan/sane/bb_ledm.c scan/sane/http.h scan/sane/http.c
+if DARWIN_BUILD
+libsane_hpaio_la_LDFLAGS = -module -framework CoreFoundation -version-info 1:0:0
+else
+libsane_hpaio_la_LDFLAGS = -version-info 1:0:0
+endif
+# The following is a interlibrary dependency that must be compiled first.
+libsane_hpaio_la_LIBADD = libhpip.la libhpmud.la $(DBUS_LIBS) -lcups -ldl
+#libsane_hpaio_la_CFLAGS = -DWITH_NONAMESPACES -DSOAP_DEBUG
+libsane_hpaio_la_CFLAGS = $(DBUS_CFLAGS)
+endif # SCAN_BUILD
+
+# hpmud library
+MUDNAME=hpmud
+lib_LTLIBRARIES += libhpmud.la
+libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/musb.c io/hpmud/pml.c \
+ io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/musb.h io/hpmud/pml.h io/hpmud/dot4.c \
+ io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h
+if NETWORK_BUILD
+libhpmud_la_LDFLAGS = -version-info 0:6:0 -lusb -lpthread -l$(SNMPLIB) -lcrypto
+else
+libhpmud_la_LDFLAGS = -version-info 0:6:0 -lusb -lpthread
+endif
+libhpmud_la_CFLAGS = -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\"
+
+# ip library
+lib_LTLIBRARIES += libhpip.la
+libhpip_la_LDFLAGS = -version-info 0:1:0
+libhpip_la_LIBADD = -lm
+libhpip_la_SOURCES = ip/xconvolve.c ip/xfax.c ip/xgrayout.c ip/xjpg_dct.c ip/xjpg_fix.c ip/xpad.c ip/xrotate.c ip/xskel.c ip/xtiff.c \
+ ip/ipmain.c ip/xchgbpp.c ip/xcrop.c ip/xgamma.c ip/xjpg_dec.c ip/xjpg_huf.c ip/xpcx.c ip/xsaturation.c ip/xtable.c ip/xtonemap.c \
+ ip/xbi2gray.c ip/xcolrspc.c ip/xfakemono.c ip/xgray2bi.c ip/xinvert.c ip/xjpg_enc.c ip/xmatrix.c ip/xpnm.c ip/xscale.c ip/xthumb.c ip/xyxtract.c \
+ ip/hpip.h ip/ipdefs.h ip/xform.h ip/xjpg_dct.h ip/xjpg_huf.h ip/xjpg_mrk.h
+
+# hp-mkuri.
+hp_mkuridir = $(bindir)
+hp_mkuri_PROGRAMS = hp-mkuri
+hp_mkuri_SOURCES = io/hpmud/hp-mkuri.c
+hp_mkuri_LDADD = -ldl libhpmud.la
+hp_mkuri_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\"
+
+# hpmud.rules
+rulesdir = /etc/udev/rules.d
+dist_rules_DATA = data/rules/56-hpmud_support.rules
+dist_rules_DATA += data/rules/86-hpmud_plugin.rules
+dist_rules_DATA += data/rules/56-hpmud_add_printer.rules
+if UDEV_ACL_RULES
+dist_rules_DATA += data/rules/40-hplip.rules
+else
+dist_rules_DATA += data/rules/55-hpmud.rules
+endif
+halpredir = /usr/share/hal/fdi/preprobe/10osvendor
+dist_halpre_DATA = data/rules/20-hplip-devices.fdi
+
+# hplip.conf
+hplip_confdir = /etc/hp
+hplip_conf_DATA = hplip.conf
+
+#pstotiff filter
+pstotiffdir = $(cupsfilterdir)
+pstotiff_SCRIPTS = fax/filters/pstotiff
+
+# hplip.state
+hplip_statedir = /var/lib/hp
+dist_hplip_state_DATA =
+#dist_hplip_state_DATA = hplip.state
+
+# Log Files
+hplip_Logdir=/var/log/hp
+
+if FULL_BUILD
+
+dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
+dist_noinst_DATA += scan/sane/hpaio.desc prnt/drv/hpijs.drv.in.template
+dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall
+
+cmddir = $(hplipdir)
+dist_cmd_SCRIPTS = align.py info.py print.py toolbox.py clean.py colorcal.py unload.py testpage.py makeuri.py check.py fab.py levels.py \
+ sendfax.py setup.py makecopies.py probe.py timedate.py firmware.py scan.py systray.py plugin.py linefeedcal.py pqdiag.py \
+ faxsetup.py devicesettings.py printsettings.py query.py pkservice.py wificonfig.py check-plugin.py diagnose_plugin.py uninstall.py \
+ upgrade.py config_usb_printer.py diagnose_queues.py
+
+# base
+basedir = $(hplipdir)/base
+
+dist_base_DATA = base/maint.py base/codes.py base/g.py base/pml.py base/status.py \
+ base/__init__.py base/mfpdtf.py base/utils.py base/wifi.py base/LedmWifi.py \
+ base/device.py base/logger.py base/slp.py base/exif.py base/strings.py base/magic.py \
+ base/imagesize.py base/pexpect.py base/models.py base/mdns.py base/tui.py base/dime.py \
+ base/ldif.py base/vcard.py base/module.py base/pkit.py
+
+# installer
+installdir = $(hplipdir)/installer
+dist_install_DATA = installer/__init__.py installer/dcheck.py installer/distros.dat installer/core_install.py
+dist_noinst_DATA += installer/text_install.py
+
+# makecopies
+copierdir = $(hplipdir)/copier
+dist_copier_DATA = copier/copier.py copier/__init__.py
+
+# fax
+if FAX_BUILD
+faxdir = $(hplipdir)/fax
+dist_fax_DATA = fax/fax.py fax/__init__.py fax/coverpages.py fax/pmlfax.py fax/ledmfax.py fax/soapfax.py fax/ledmsoapfax.py fax/marvellfax.py \
+ fax/faxdevice.py fax/filters/pstotiff fax/filters/pstotiff.convs fax/filters/pstotiff.types
+fax_filtersdir = $(mimedir)
+dist_fax_filters_DATA = fax/filters/pstotiff.convs fax/filters/pstotiff.types
+hpfaxdir = $(cupsbackenddir)
+dist_hpfax_SCRIPTS = fax/backend/hpfax.py
+hpijsfaxppddir = $(hpppddir)
+hpcupsfaxppddir = $(hpppddir)
+if HPIJS_INSTALL
+dist_hpijsfaxppd_DATA = fax/ppd/HP-Fax-hpijs.ppd.gz fax/ppd/HP-Fax2-hpijs.ppd.gz fax/ppd/HP-Fax3-hpijs.ppd.gz fax/ppd/HP-Fax4-hpijs.ppd.gz
+endif # HPIJS_INSTALL
+if HPCUPS_INSTALL
+dist_hpcupsfaxppd_DATA = fax/ppd/HP-Fax-hpcups.ppd.gz fax/ppd/HP-Fax2-hpcups.ppd.gz fax/ppd/HP-Fax3-hpcups.ppd.gz fax/ppd/HP-Fax4-hpcups.ppd.gz
+endif # HPCUPS_INSTALL
+endif # FAX_BUILD
+
+# ptest
+noinst_PROGRAMS += ptest
+ptest_SOURCES = pcard/ptest.c pcard/ptest.h pcard/fat.c pcard/fat.h
+ptest_LDADD = libhpmud.la
+
+# data
+modelsdir = $(hplipdir)/data/models
+images_16x16dir = $(hplipdir)/data/images/16x16
+images_24x24dir = $(hplipdir)/data/images/24x24
+images_32x32dir = $(hplipdir)/data/images/32x32
+images_64x64dir = $(hplipdir)/data/images/64x64
+images_128x128dir = $(hplipdir)/data/images/128x128
+images_256x256dir = $(hplipdir)/data/images/256x256
+images_devicesdir = $(hplipdir)/data/images/devices
+images_otherdir = $(hplipdir)/data/images/other
+pcldir = $(hplipdir)/data/pcl
+ldldir = $(hplipdir)/data/ldl
+postscriptdir = $(hplipdir)/data/ps
+localzdir = $(hplipdir)/data/localization
+dist_postscript_DATA = data/ps/testpage.ps.gz data/ps/clean_page.pdf.gz
+dist_models_DATA = data/models/models.dat
+dist_hplip_Log_DATA=
+
+if GUI_BUILD
+dist_images_16x16_DATA = data/images/16x16/*
+dist_images_24x24_DATA = data/images/24x24/*
+dist_images_32x32_DATA = data/images/32x32/*
+dist_images_64x64_DATA = data/images/64x64/*
+dist_images_128x128_DATA = data/images/128x128/*
+dist_images_256x256_DATA = data/images/256x256/*
+dist_images_devices_DATA = data/images/devices/*
+dist_images_other_DATA = data/images/other/*
+endif
+
+dist_pcl_DATA = data/pcl/align1_8xx.pcl.gz data/pcl/align1_9xx.pcl.gz data/pcl/align2_8xx.pcl.gz data/pcl/align3_8xx.pcl.gz data/pcl/align4_8xx.pcl.gz \
+ data/pcl/align5_8xx.pcl.gz data/pcl/align2_9xx.pcl.gz data/pcl/align3_9xx.pcl.gz data/pcl/align4_450.pcl.gz data/pcl/align6_450.pcl.gz \
+ data/pcl/colorcal1_450.pcl.gz data/pcl/colorcal2_450.pcl.gz data/pcl/crbcal.pcl.gz data/pcl/crcaldone.pcl.gz data/pcl/crcbcal.pcl.gz data/pcl/crccal.pcl.gz \
+ data/pcl/crcpcal.pcl.gz data/pcl/crpcal.pcl.gz
+dist_ldl_DATA = data/ldl/cb2pcal.ldl.gz data/ldl/cb2pcal_done.ldl.gz data/ldl/cbbcal.ldl.gz data/ldl/cbccal.ldl.gz data/ldl/cbccal_done.ldl.gz data/ldl/cbcpcal.ldl.gz \
+ data/ldl/cbpcal.ldl.gz
+dist_localz_DATA = data/localization/hplip_de.qm data/localization/hplip_es.qm data/localization/hplip_fr.qm data/localization/hplip_it.qm \
+ data/localization/hplip_pt.qm data/localization/hplip_ru.qm data/localization/hplip_zh.qm
+dist_noinst_DATA += data/localization/hplip_de.ts data/localization/hplip_es.ts data/localization/hplip_fr.ts data/localization/hplip_it.ts \
+ data/localization/hplip_pt.ts data/localization/hplip_ru.ts data/localization/hplip_zh.ts
+
+# pcard
+pcarddir = $(hplipdir)/pcard
+dist_pcard_DATA = pcard/__init__.py pcard/photocard.py
+
+# pcardext
+pcardextdir = $(pyexecdir)
+pcardext_LTLIBRARIES = pcardext.la
+pcardext_la_LDFLAGS = -module -avoid-version
+pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c
+pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
+
+# prnt
+prntdir = $(hplipdir)/prnt
+dist_prnt_DATA = prnt/cups.py prnt/__init__.py prnt/ldl.py prnt/pcl.py prnt/colorcal.py
+
+# cupsext
+cupsextdir = $(pyexecdir)
+cupsext_LTLIBRARIES = cupsext.la
+cupsext_la_LDFLAGS = -module -avoid-version
+cupsext_la_SOURCES = prnt/cupsext/cupsext.c
+cupsext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
+cupsext_la_LIBADD = -lcups
+
+if SCAN_BUILD
+# scan
+scandir = $(hplipdir)/scan
+dist_scan_DATA = scan/__init__.py scan/sane.py
+
+# scanext
+scanextdir = $(pyexecdir)
+scanext_LTLIBRARIES = scanext.la
+scanext_la_LDFLAGS = -module -avoid-version -lsane
+scanext_la_SOURCES = scan/scanext/scanext.c
+scanext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
+endif
+
+# hpmudext
+hpmudextdir = $(pyexecdir)
+hpmudext_LTLIBRARIES = hpmudext.la
+hpmudext_la_LDFLAGS = -module -avoid-version
+hpmudext_la_SOURCES = io/mudext/hpmudext.c
+hpmudext_la_LIBADD = libhpmud.la
+hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
+# ui (qt3)
+if GUI_BUILD
+if QT3_INSTALL
+uidir = $(hplipdir)/ui
+dist_ui_DATA = ui/alignform.py \
+ ui/colorcalform_base.py ui/colorcalform.py ui/coloradjform_base.py ui/coloradjform.py ui/devmgr4_base.py ui/devmgr4.py \
+ ui/__init__.py ui/loadpaperform_base.py ui/loadpaperform.py \
+ ui/paperedgealignform_base.py ui/paperedgealignform.py ui/ui_utils.py \
+ ui/settingsdialog_base.py ui/settingsdialog.py ui/aligntype6form1.py ui/aligntype6form1_base.py ui/aligntype6form2_base.py \
+ ui/aligntype6form2.py ui/nodevicesform_base.py ui/nodevicesform.py ui/unloadform.py \
+ ui/imagepropertiesdlg_base.py ui/imagepropertiesdlg.py ui/choosedevicedlg.py ui/chooseprinterdlg.py \
+ ui/aboutdlg.py ui/aboutdlg_base.py ui/waitform.py ui/waitform_base.py ui/cleaningform_base.py ui/cleaningform.py \
+ ui/cleaningform2_base.py ui/cleaningform2.py ui/colorcalform2_base.py ui/colorcalform2.py ui/colorcal4form.py \
+ ui/colorcal4form_base.py ui/colorcal4form_base.ui ui/printerform.py \
+ ui/faxaddrbookgroupsform_base.py ui/faxaddrbookgroupeditform_base.py ui/faxaddrbookform_base.py \
+ ui/faxaddrbookform.py ui/faxaddrbookeditform_base.py ui/align10form.py ui/align10form_base.py \
+ ui/faxsendjobform.py ui/faxsettingsform_base.py ui/faxsettingsform.py \
+ ui/coverpageform_base.py ui/coverpageform.py ui/allowabletypesdlg_base.py ui/allowabletypesdlg.py \
+ ui/makecopiesform.py ui/setupform_base.py ui/setupform.py ui/setupmanualfind_base.py \
+ ui/setupmanualfind.py ui/setupsettings_base.py ui/setupsettings.py ui/scrollview.py \
+ ui/scrollprintsettings.py ui/scrollprint.py ui/scrollfax.py \
+ ui/scrollunload.py ui/scrollcopy.py ui/pluginform2.py ui/pluginform2_base.py ui/systemtray.py \
+ ui/ui_utils.py ui/jobstoragemixin.py ui/pluginlicenseform_base.py ui/pluginlicenseform.py \
+ ui/align13form_base.py ui/align13form.py ui/firmwaredialog_base.py ui/firmwaredialog.py \
+ ui/deviceuricombobox.py ui/upgradeform.py ui/upgradeform_base.py
+
+dist_noinst_DATA += ui/colorcalform2_base.ui ui/settingsdialog_base.ui ui/aligntype6form1_base.ui \
+ ui/aboutdlg_base.ui ui/imagepropertiesdlg_base.ui ui/paperedgealignform_base.ui ui/aligntype6form2_base.ui \
+ ui/nodevicesform_base.ui ui/cleaningform_base.ui ui/colorcalform_base.ui ui/devmgr4_base.ui ui/loadpaperform_base.ui \
+ ui/cleaningform2_base.ui ui/waitform_base.ui ui/coloradjform_base.ui ui/faxaddrbookeditform_base.ui \
+ ui/faxaddrbookform_base.ui ui/faxaddrbookgroupeditform_base.ui ui/faxaddrbookgroupsform_base.ui \
+ ui/align10form_base.ui ui/pluginform2_base.ui \
+ plugins/powersettingsdialog_base.ui ui/faxsettingsform_base.ui ui/coverpageform_base.ui \
+ ui/allowabletypesdlg_base.ui ui/setupform_base.ui ui/setupmanualfind_base.ui \
+ ui/setupsettings_base.ui ui/pluginlicenseform_base.ui ui/align13form_base.ui ui/firmwaredialog_base.ui
+endif
+endif
+
+#ui4 (qt4)
+if GUI_BUILD
+if QT4_INSTALL
+ui4dir=$(hplipdir)/ui4
+#dist_ui4_SCRIPTS = ui4/devmgr5.py ui4/systemtray.py ui4/devmgr5_base.py ui4/__init__.py ui4/ui_utils.py \
+# ui4/settingsdialog_base.py ui4/settingsdialog.py ui4/printsettingstoolbox.py ui4/printdialog_base.py \
+# ui4/printdialog.py
+#dist_noinst_DATA += ui4/devmgr5_base.ui ui4/settingsdialog_base.ui ui4/printdialog_base.ui
+dist_ui4_DATA = ui4/*.py
+dist_noinst_DATA += ui4/*.ui
+endif
+endif
+
+# ui plugins (qt3)
+if GUI_BUILD
+if QT3_INSTALL
+pluginsdir = $(hplipdir)/plugins
+dist_plugins_DATA = plugins/dj450.py plugins/__init__.py plugins/powersettings.py plugins/powersettingsdialog.py \
+ plugins/powersettingsdialog_base.py plugins/Deskjet_460.py plugins/Officejet_H470.py plugins/powersettings2.py
+endif
+endif
+
+# ui plugins (qt4)
+if GUI_BUILD
+if QT4_INSTALL
+plugins4dir = $(hplipdir)/ui4/plugins
+dist_plugins4_SCRIPTS =
+endif
+endif
+
+# PolicyKit
+if POLICYKIT_INSTALL
+policykit_dbus_etcdir = /etc/dbus-1/system.d
+dist_policykit_dbus_etc_DATA = data/policykit/com.hp.hplip.conf
+policykit_dbus_sharedir = /usr/share/dbus-1/system-services
+dist_policykit_dbus_share_DATA = data/policykit/com.hp.hplip.service
+policykit_policydir = $(policykit_dir)
+dist_policykit_policy_DATA = data/policykit/com.hp.hplip.policy
+endif
+
+# hppgsz
+noinst_PROGRAMS += hppgsz
+hppgsz_SOURCES = prnt/hpijs/PrinterProperties.cpp prnt/hpijs/PrinterProperties.h prnt/hpijs/bug.h
+hppgsz_CXXFLAGS = $(libapdk_la_CXXFLAGS)
+hppgsz_CFLAGS = $(libapdk_la_CFLAGS)
+hppgsz_LDADD = libapdk.la -ljpeg -ldl
+
+# hplip.desktop
+hplip_desktopdir = $(icondir)
+hplip_desktop_DATA = hplip.desktop
+
+# hplip-systray.desktop
+hplip_systraydir = $(systraydir)
+hplip_systray_DATA = hplip-systray.desktop
+
+# hpipjs (CUPS filter)
+hplipjsdir = $(cupsfilterdir)
+hplipjs_PROGRAMS = hplipjs
+hplipjs_SOURCES = prnt/filters/hplipjs.c
+
+# hpps (CUPS filter)
+hppsdir = $(cupsfilterdir)
+hpps_PROGRAMS = hpps
+hpps_SOURCES = prnt/hpps/hppsfilter.c
+hpps_LDADD = -lcups
+
+# hpcac (CUPS filter, Color Access Control, ie: CLJ 4700)
+cacdir = $(cupsfilterdir)
+dist_cac_SCRIPTS = prnt/filters/hpcac
+
+endif # FULL_BUILD
+endif # HPLIP_BUILD
+
+# foomatic-rip-hplip
+if RIP_INSTALL
+ripdir = $(cupsfilterdir)
+dist_rip_SCRIPTS = prnt/hpijs/foomatic-rip-hplip
+endif
+
+# apdk
+noinst_LTLIBRARIES = libapdk.la
+libapdk_la_SOURCES = prnt/hpijs/models.cpp prnt/hpijs/breaks_open.cpp \
+ prnt/hpijs/dj9xxvip.cpp prnt/hpijs/dj9xx.cpp prnt/hpijs/capture.cpp prnt/hpijs/colormatch.cpp prnt/hpijs/colormatcher_open.cpp \
+ prnt/hpijs/compression.cpp prnt/hpijs/context2.cpp prnt/hpijs/create_so.cpp prnt/hpijs/creator.cpp \
+ prnt/hpijs/dj600.cpp prnt/hpijs/dj630.cpp prnt/hpijs/dj660.cpp prnt/hpijs/dj690.cpp prnt/hpijs/dj6xx.cpp prnt/hpijs/dj8xx.cpp prnt/hpijs/dj600_maps.cpp \
+ prnt/hpijs/dj660_maps.cpp prnt/hpijs/dj690_maps.cpp prnt/hpijs/dj895_maps.cpp prnt/hpijs/dj895_maps2.cpp prnt/hpijs/dj970_maps.cpp \
+ prnt/hpijs/dj970_maps2.cpp prnt/hpijs/dj970_maps3.cpp prnt/hpijs/filterhpa.cpp prnt/hpijs/apollo21xx.cpp prnt/hpijs/apollo2560.cpp prnt/hpijs/apollo2xxx.cpp \
+ prnt/hpijs/dj8x5.cpp prnt/hpijs/psp100.cpp prnt/hpijs/phobos_cmaps.cpp prnt/hpijs/dj350.cpp prnt/hpijs/halftoner.cpp prnt/hpijs/halftoner_open.cpp \
+ prnt/hpijs/globals.cpp prnt/hpijs/header2.cpp prnt/hpijs/htmtxhi.cpp prnt/hpijs/pmselect.cpp \
+ prnt/hpijs/job.cpp prnt/hpijs/printer.cpp prnt/hpijs/registry.cpp prnt/hpijs/scaler.cpp \
+ prnt/hpijs/scaler_open.cpp prnt/hpijs/script.cpp prnt/hpijs/systemservices.cpp \
+ prnt/hpijs/translator.cpp prnt/hpijs/version.cpp prnt/hpijs/versioncode.cpp \
+ prnt/hpijs/djgenericvip.cpp prnt/hpijs/dj540.cpp prnt/hpijs/dj850.cpp prnt/hpijs/dj850_maps.cpp prnt/hpijs/dj890.cpp \
+ prnt/hpijs/apollo21xx.h prnt/hpijs/apollo2560.h prnt/hpijs/apollo2xxx.h prnt/hpijs/colormatch.h prnt/hpijs/colormatcher_open.h \
+ prnt/hpijs/compression.h prnt/hpijs/config.h prnt/hpijs/context.h prnt/hpijs/dj350.h prnt/hpijs/dj400.h prnt/hpijs/dj540.h \
+ prnt/hpijs/dj600.h prnt/hpijs/dj630.h prnt/hpijs/dj660.h prnt/hpijs/dj690.h prnt/hpijs/dj6xx.h prnt/hpijs/dj8x5.h prnt/hpijs/dj8xx.h \
+ prnt/hpijs/dj850.h prnt/hpijs/dj890.h prnt/hpijs/dj9xx.h prnt/hpijs/dj9xxvip.h \
+ prnt/hpijs/ernieplatform.h prnt/hpijs/filterhpa.h prnt/hpijs/global_types.h prnt/hpijs/halftoner.h prnt/hpijs/font.h prnt/hpijs/debug.h \
+ prnt/hpijs/halftoner_open.h prnt/hpijs/header.h prnt/hpijs/hpprint_c_api.h \
+ prnt/hpijs/hpprintapi.h prnt/hpijs/hptypes.h prnt/hpijs/htfed.h prnt/hpijs/internal.h \
+ prnt/hpijs/interp.h prnt/hpijs/interp_data_50.h prnt/hpijs/io_defs.h prnt/hpijs/job.h prnt/hpijs/models.h prnt/hpijs/modes.h prnt/hpijs/pmselect.h \
+ prnt/hpijs/printer.h prnt/hpijs/psp100.h prnt/hpijs/psp470.h prnt/hpijs/resources.h prnt/hpijs/scaler_open.h prnt/hpijs/scaler_prop.h prnt/hpijs/script.h \
+ prnt/hpijs/systemservices.h prnt/hpijs/unistd_.h prnt/hpijs/djgenericvip.h prnt/hpijs/ljmono.h prnt/hpijs/ljmono.cpp \
+ prnt/hpijs/dj3320.cpp prnt/hpijs/dj3320.h prnt/hpijs/dj3320_cmap.cpp prnt/hpijs/dj3600.cpp prnt/hpijs/dj3600.h prnt/hpijs/dj3600_cmap.cpp prnt/hpijs/dj4100.h prnt/hpijs/djd2600.h \
+ prnt/hpijs/dj4100_cmap.cpp prnt/hpijs/ldlencap.h prnt/hpijs/ljcolor.cpp prnt/hpijs/ljcolor.h prnt/hpijs/pscript.h \
+ prnt/hpijs/printerproxy.cpp prnt/hpijs/printerfactory.cpp prnt/hpijs/printerproxy.h prnt/hpijs/printerfactory.h \
+ prnt/hpijs/ljjetready.cpp prnt/hpijs/ljjetready.h prnt/hpijs/jdatadbf.c prnt/hpijs/jccolor.c prnt/hpijs/ljfastraster.cpp prnt/hpijs/ljfastraster.h \
+ prnt/hpijs/jinclude.h prnt/hpijs/jpegint.h prnt/hpijs/dj55xx.h prnt/hpijs/hpijsfax.h prnt/hpijs/ojprokx50.h \
+ prnt/hpijs/ljzjs.cpp prnt/hpijs/ljzjs.h prnt/hpijs/ljzjsmono.cpp prnt/hpijs/ljm1005.cpp prnt/hpijs/ljm1005.h \
+ prnt/hpijs/ljzjsmono.h prnt/hpijs/hpjbig_wrapper.h prnt/hpijs/quickconnect.cpp prnt/hpijs/quickconnect.h prnt/hpijs/ljp1xxx.h prnt/hpijs/ljzjscolor.cpp prnt/hpijs/ljzjscolor.h
+libapdk_la_CXXFLAGS = -DAPDK_DJ660 -DAPDK_DJ6xx -DAPDK_DJ6xxPhoto -DAPDK_DJ8xx -DAPDK_DJ9xx -DAPDK_DJ9xxVIP -DAPDK_DJ630 \
+ -DAPDK_APOLLO2XXX -DAPDK_APOLLO21XX -DAPDK_APOLLO2560 -DAPDK_DJ600 -DAPDK_DJ350 -DAPDK_DJ8x5 -DAPDK_PSP100 -DAPDK_AUTODUPLEX \
+ -DAPDK_HIGH_RES_MODES -DAPDK_LJMONO -DAPDK_DJ540 -DAPDK_DJ850 -DAPDK_DJ890 -DAPDK_DJ3320 -DAPDK_LJCOLOR -DAPDK_DJGENERICVIP \
+ -DAPDK_LJJETREADY -DAPDK_LJFASTRASTER -DAPDK_BUFFER_SEND -DAPDK_LDL_COMPRESS -DAPDK_EXTENDED_MEDIASIZE \
+ -DAPDK_MLC_PRINTER -DAPDK_DJ3600 -DAPDK_LJZJS_MONO -DAPDK_LJZJS_COLOR -DAPDK_LJM1005 -DAPDK_QUICKCONNECT \
+ $(APDK_ENDIAN_FLAG) $(APDK_AUTO_INCLUDE_FLAG) -DAPDK_LINUX -DNDEBUG $(DBUS_CFLAGS)
+libapdk_la_CFLAGS = $(libapdk_la_CXXFLAGS) -Iprnt/hpijs
+
+if HPIJS_INSTALL
+# hpijs
+bin_PROGRAMS = hpijs
+hpijs_SOURCES = prnt/hpijs/hpijs.cpp prnt/hpijs/ijs_server.c prnt/hpijs/ijs.c prnt/hpijs/hpijsfax.cpp prnt/hpijs/services.cpp prnt/hpijs/bug.h \
+ prnt/hpijs/hpijs.h prnt/hpijs/ijs.h prnt/hpijs/ijs_server.h prnt/hpijs/services.h prnt/hpijs/ijs_client.h prnt/hpijs/hpiom.c prnt/hpijs/hpiom.h
+hpijs_CXXFLAGS = $(libapdk_la_CXXFLAGS)
+hpijs_CFLAGS = $(libapdk_la_CFLAGS)
+if HPLIP_BUILD
+hpijs_LDADD = libapdk.la -ljpeg -ldl libhpip.la libhpmud.la $(DBUS_LIBS)
+else
+hpijs_LDADD = libapdk.la -ljpeg -ldl
+endif
+endif # HPIJS_INSTALL
+
+if HPCUPS_INSTALL
+# hpcups
+#if NEW_HPCUPS
+hpcupsdir = $(cupsfilterdir)
+hpcups_PROGRAMS = hpcups
+hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hpcups/dbuscomm.cpp prnt/hpcups/dbuscomm.h prnt/hpcups/Compressor.cpp prnt/hpcups/Compressor.h \
+ prnt/hpcups/Mode2.cpp prnt/hpcups/Mode2.h prnt/hpcups/Mode3.cpp prnt/hpcups/Mode3.h \
+ prnt/hpcups/Mode9.cpp prnt/hpcups/Mode9.h prnt/hpcups/Mode10.cpp prnt/hpcups/Mode10.h \
+ prnt/hpcups/ModeDeltaPlus.cpp prnt/hpcups/ModeDeltaPlus.h prnt/hpcups/ModeJbig.cpp prnt/hpcups/ModeJbig.h \
+ prnt/hpcups/ErnieFilter.cpp prnt/hpcups/ErnieFilter.h prnt/hpcups/EncapsulatorFactory.cpp prnt/hpcups/EncapsulatorFactory.h \
+ prnt/hpcups/Encapsulator.cpp prnt/hpcups/Encapsulator.h prnt/hpcups/Pcl3.cpp prnt/hpcups/Pcl3.h \
+ prnt/hpcups/Pcl3Gui.cpp prnt/hpcups/Pcl3Gui.h prnt/hpcups/Pcl3Gui2.cpp prnt/hpcups/Pcl3Gui2.h \
+ prnt/hpcups/LJMono.cpp prnt/hpcups/LJMono.h prnt/hpcups/LJColor.cpp prnt/hpcups/LJColor.h \
+ prnt/hpcups/LJFastRaster.cpp prnt/hpcups/LJFastRaster.h prnt/hpcups/LJJetReady.cpp prnt/hpcups/LJJetReady.h \
+prnt/hpcups/LJZjStream.cpp prnt/hpcups/LJZjStream.h \
+ prnt/hpcups/LJZxStream.cpp prnt/hpcups/LJZxStream.h prnt/hpcups/Job.cpp prnt/hpcups/Job.h \
+ prnt/hpcups/Pipeline.cpp prnt/hpcups/Pipeline.h prnt/hpcups/Processor.cpp prnt/hpcups/Processor.h \
+ prnt/hpcups/RasterSender.cpp prnt/hpcups/RasterSender.h prnt/hpcups/ColorMatcher.cpp prnt/hpcups/ColorMatcher.h \
+ prnt/hpcups/Halftoner.cpp prnt/hpcups/Halftoner.h prnt/hpcups/Scaler.cpp prnt/hpcups/Scaler.h prnt/hpcups/resources.h \
+ prnt/hpcups/dj400ColorMaps.cpp prnt/hpcups/dj600ColorMaps.cpp prnt/hpcups/dj970ColorMaps.cpp prnt/hpcups/dj8xxColorMaps.cpp \
+ prnt/hpcups/dj4100ColorMaps.cpp \
+ prnt/hpcups/BreakTables.cpp prnt/hpcups/PrinterCommands.h prnt/hpcups/Utils.cpp prnt/hpcups/Utils.h \
+ prnt/hpcups/SystemServices.cpp prnt/hpcups/SystemServices.h prnt/hpcups/CommonDefinitions.h prnt/hpcups/hpjbig_wrapper.h \
+ prnt/hpcups/apPrintModes.h prnt/hpcups/dj400PrintModes.h prnt/hpcups/dj540PrintModes.h prnt/hpcups/dj600PrintModes.h \
+ prnt/hpcups/dj630PrintModes.h prnt/hpcups/dj690PrintModes.h prnt/hpcups/dj850PrintModes.h prnt/hpcups/dj890PrintModes.h \
+ prnt/hpcups/dj895PrintModes.h prnt/hpcups/dj8x5PrintModes.h prnt/hpcups/dj970PrintModes.h prnt/hpcups/Pcl3GuiPrintModes.h \
+ prnt/hpcups/Pcl3PrintModes.h prnt/hpcups/ColorMaps.h \
+ prnt/hpcups/QuickConnect.cpp prnt/hpcups/QuickConnect.h \
+ prnt/hpcups/ModeJpeg.cpp prnt/hpcups/ModeJpeg.h \
+ prnt/hpcups/jccolor.c prnt/hpcups/jinclude.h \
+ prnt/hpcups/jdatadbf.c prnt/hpcups/jinclude.h \
+ prnt/hpcups/Lidil.cpp prnt/hpcups/Lidil.h \
+ prnt/hpcups/LidilCompress.cpp prnt/hpcups/LidilCompress.h \
+ prnt/hpcups/LidilPrintModes.h prnt/hpcups/dj3320ColorMaps.cpp \
+ prnt/hpcups/dj3600ColorMaps.cpp prnt/hpcups/dj3320PrintModes.h \
+ prnt/hpcups/dj4100PrintModes.h
+
+hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
+hpcups_LDADD = -ljpeg -ldl -lcups -lcupsimage $(DBUS_LIBS)
+#else
+#hpcupsdir = $(cupsfilterdir)
+#hpcups_PROGRAMS = hpcups
+#hpcups_SOURCES = prnt/hpijs/hpcups.cpp prnt/hpijs/hpcups.h prnt/hpijs/services.cpp prnt/hpijs/services.h prnt/hpijs/hpiom.c prnt/hpijs/hpiom.h prnt/hpijs/bug.h prnt/hpijs/hpimage.cpp prnt/hpijs/hpimage.h
+#hpcups_CXXFLAGS = $(libapdk_la_CXXFLAGS)
+#hpcups_CFLAGS = $(libapdk_la_CFLAGS)
+#if HPCUPS_ONLY_BUILD
+#hpcups_LDADD = libapdk.la -ljpeg -ldl -lcups -lcupsimage
+#else
+#hpcups_LDADD = libapdk.la -ljpeg -ldl libhpip.la libhpmud.la $(DBUS_LIBS) -lcups -lcupsimage
+#endif #HPCUPS_ONLY_BUILD
+#endif # NEW_HPCUPS
+if !HPCUPS_ONLY_BUILD
+if FAX_BUILD
+# hpcupsfax
+hpcupsfaxdir = $(cupsfilterdir)
+hpcupsfax_PROGRAMS = hpcupsfax
+hpcupsfax_SOURCES = prnt/hpijs/hpcupsfax.cpp prnt/hpijs/hpcupsfax.h
+hpcupsfax_LDADD = libhpip.la -lcups -lcupsimage
+endif # FAX_BUILD
+endif # HPCUPS ONLY
+endif # HPCUPS_INSTALL
+
+# PPDs
+ppddir = $(hpppddir)
+dist_ppd_DATA = $(foomatic_ps_printers)
+if FOOMATIC_PPD_INSTALL
+dist_ppd_DATA += $(foomatic_ppd_printers)
+endif
+if FOOMATIC_DRV_INSTALL
+cupsdrvdir = $(drvdir)
+cupsdrv_DATA = $(foomatic_drv)
+endif
+if CUPS_PPD_INSTALL
+dist_ppd_DATA += $(cups_ppd_printers)
+endif
+if CUPS_DRV_INSTALL
+cupsdrv2dir = $(drvdir)
+cupsdrv2_DATA = $(cups_drv)
+endif
+
+install-dist_hplip_LogDATA:
+if FULL_BUILD
+ test -z "$(DESTDIR)$(hplip_Logdir)" || mkdir -p $(DESTDIR)$(hplip_Logdir)
+ chgrp "lp" -R $(DESTDIR)$(hplip_Logdir)
+ chmod 774 $(DESTDIR)$(hplip_Logdir)
+endif #FULL_BUILD
+if HPLIP_BUILD
+ test -z "$(DESTDIR)$(hplip_Logdir)" || mkdir -p $(DESTDIR)$(hplip_Logdir)
+ chgrp "lp" -R $(DESTDIR)$(hplip_Logdir)
+ chmod 774 $(DESTDIR)$(hplip_Logdir)
+endif #FULL_BUILD
+
+install-data-hook:
+if HPLIP_BUILD
+# If scanner build, add hpaio entry to sane dll.conf.
+ if [ "$(scan_build)" = "yes" ]; then \
+ $(mkinstalldirs) $(DESTDIR)/etc/sane.d; \
+ if [ ! -f $(DESTDIR)/etc/sane.d/dll.conf ]; then \
+ touch $(DESTDIR)/etc/sane.d/dll.conf; \
+ fi; \
+ if ! grep ^hpaio $(DESTDIR)/etc/sane.d/dll.conf >/dev/null 2>/dev/null ; then \
+ echo "Adding hpaio entry to /etc/sane.d/dll.conf." ; \
+ echo hpaio >>$(DESTDIR)/etc/sane.d/dll.conf ; \
+ fi \
+ fi
+if FULL_BUILD
+# Create hp-xxx commands in bindir.
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ for i in $(dist_cmd_SCRIPTS); do \
+ cmd=`basename $$i .py`; \
+ if [ ! \( "$$cmd" = "toolbox" -a "$(gui_build)" = "no" \) ]; then \
+ ln -sf ../share/$(PACKAGE)/$$i $(DESTDIR)$(bindir)/hp-$$cmd; \
+ fi \
+ done
+#
+# Install fax support.
+ if [ "$(fax_build)" = "yes" ]; then \
+ mv $(DESTDIR)$(hpfaxdir)/hpfax.py $(DESTDIR)$(hpfaxdir)/hpfax; \
+ chmod 700 $(DESTDIR)$(hpfaxdir)/hpfax; \
+ fi
+#
+# Make backend run as root.
+# chmod 700 $(DESTDIR)$(hpdir)/hp
+endif # FULL_BUILD
+endif # HPLIP_BUILD
+
+uninstall-hook:
+if HPLIP_BUILD
+# Remove hp-xxx commands.
+ for i in $(dist_cmd_SCRIPTS); do \
+ cmd=`basename $$i .py`; \
+ rm -f $(DESTDIR)$(bindir)/hp-$$cmd; \
+ done
+#
+# Remove fax support.
+ rm -f $(DESTDIR)$(hpfaxdir)/hpfax
+endif
+
+rpm:
+if FULL_BUILD
+ epm -f rpm hplipfull hplip.list
+endif
+if LITE_BUILD
+ epm -f rpm hpliplite hplip.list
+endif
+if HPCUPS_ONLY_BUILD
+ epm -f rpm hpliphpcupsonly hplip.list
+endif
+if HPIJS_ONLY_BUILD
+ epm -f rpm hpliphpijsonly hplip.list
+endif
+
+deb:
+if FULL_BUILD
+ epm -f deb hplipfull hplip.list
+endif
+if LITE_BUILD
+ epm -f deb hpliplite hplip.list
+endif
+if HPCUPS_ONLY_BUILD
+ epm -f deb hpliphpcupsonly hplip.list
+endif
+if HPIJS_ONLY_BUILD
+ epm -f deb hpliphpijsonly hplip.list
+endif
diff --git a/Makefile.in b/Makefile.in
index aaa064005..3b7b41a92 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -18,8 +18,8 @@
#
# Makefile.am - hplip automake input file
#
-# (c) 2004-2010 Copyright Hewlett-Packard Development Company, LP
-# Author: David Suffield, Naga Samrat Chowdary Narla,
+# (c) 2004-2015 Copyright Hewlett-Packard Development Company, LP
+# Author: David Suffield, Naga Samrat Chowdary Narla, Sarbeswar Meher
@@ -52,7 +52,6 @@ DIST_COMMON = $(am__configure_deps) $(am__dist_base_DATA_DIST) \
$(am__dist_hpfax_SCRIPTS_DIST) \
$(am__dist_hpijsfaxppd_DATA_DIST) \
$(am__dist_hplip_SCRIPTS_DIST) \
- $(am__dist_hplip_state_DATA_DIST) \
$(am__dist_images_128x128_DATA_DIST) \
$(am__dist_images_16x16_DATA_DIST) \
$(am__dist_images_24x24_DATA_DIST) \
@@ -75,8 +74,8 @@ DIST_COMMON = $(am__configure_deps) $(am__dist_base_DATA_DIST) \
$(am__dist_ui4_DATA_DIST) $(am__dist_ui_DATA_DIST) \
$(am__dist_www0_DATA_DIST) $(am__dist_www3_DATA_DIST) \
$(am__dist_www4_DATA_DIST) $(dist_hplip_Log_DATA) \
- $(dist_plugins4_SCRIPTS) $(dist_unrel_DATA) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(dist_hplip_state_DATA) $(dist_plugins4_SCRIPTS) \
+ $(dist_unrel_DATA) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/cups_drv.inc $(srcdir)/foomatic_drv.inc \
$(srcdir)/hplip-systray.desktop.in $(srcdir)/hplip.conf.in \
$(srcdir)/hplip.desktop.in $(srcdir)/hplip.list.in \
@@ -535,7 +534,8 @@ am__dist_cmd_SCRIPTS_DIST = align.py info.py print.py toolbox.py \
timedate.py firmware.py scan.py systray.py plugin.py \
linefeedcal.py pqdiag.py faxsetup.py devicesettings.py \
printsettings.py query.py pkservice.py wificonfig.py \
- check-plugin.py diagnose_plugin.py
+ check-plugin.py diagnose_plugin.py uninstall.py upgrade.py \
+ config_usb_printer.py diagnose_queues.py
am__dist_hpfax_SCRIPTS_DIST = fax/backend/hpfax.py
am__dist_hplip_SCRIPTS_DIST = hpssd.py __init__.py hpdio.py
am__dist_noinst_SCRIPTS_DIST = dat2drv.py install.py hplip-install \
@@ -605,7 +605,6 @@ am__dist_hpcupsfaxppd_DATA_DIST = fax/ppd/HP-Fax-hpcups.ppd.gz \
am__dist_hpijsfaxppd_DATA_DIST = fax/ppd/HP-Fax-hpijs.ppd.gz \
fax/ppd/HP-Fax2-hpijs.ppd.gz fax/ppd/HP-Fax3-hpijs.ppd.gz \
fax/ppd/HP-Fax4-hpijs.ppd.gz
-am__dist_hplip_state_DATA_DIST = hplip.state
am__dist_images_128x128_DATA_DIST = data/images/128x128/*
am__dist_images_16x16_DATA_DIST = data/images/16x16/*
am__dist_images_24x24_DATA_DIST = data/images/24x24/*
@@ -931,6 +930,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz \
+ ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz \
ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz \
@@ -973,7 +973,6 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz \
ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1027nw-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz \
@@ -1035,7 +1034,6 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1021-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz \
ppd/hpijs/hp-dj450-hpijs.ppd.gz \
@@ -1049,6 +1047,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6100-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz \
@@ -1107,6 +1106,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz \
@@ -1125,7 +1125,6 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1022-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz \
ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz \
@@ -1192,6 +1191,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-officejet-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6700-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz \
ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz \
@@ -1289,9 +1289,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1023-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz \
- ppd/hpijs/hp-officejet_series_500-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz \
@@ -1434,11 +1432,9 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1028nw-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz \
- ppd/hpijs/hp-laserjet_professional_p1102s-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz \
@@ -1497,6 +1493,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz \
ppd/hpijs/hp-cp1160-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz \
@@ -1900,13 +1897,10 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1021.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1022.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1023.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1027nw.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1028nw.ppd.gz \
ppd/hpcups/hp-laserjet_m1005.ppd.gz \
ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz \
@@ -1977,7 +1971,6 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz \
- ppd/hpcups/hp-laserjet_professional_p1102s.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz \
@@ -2007,6 +2000,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpcups/hp-officejet_5600_series.ppd.gz \
ppd/hpcups/hp-officejet_6000_e609a.ppd.gz \
ppd/hpcups/hp-officejet_6000_e609n.ppd.gz \
+ ppd/hpcups/hp-officejet_6100.ppd.gz \
ppd/hpcups/hp-officejet_6100_series.ppd.gz \
ppd/hpcups/hp-officejet_6150_series.ppd.gz \
ppd/hpcups/hp-officejet_6200_series.ppd.gz \
@@ -2015,6 +2009,8 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpcups/hp-officejet_6500_e709n.ppd.gz \
ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz \
ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz \
+ ppd/hpcups/hp-officejet_6600.ppd.gz \
+ ppd/hpcups/hp-officejet_6700.ppd.gz \
ppd/hpcups/hp-officejet_7000_e809a.ppd.gz \
ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz \
ppd/hpcups/hp-officejet_7100_series.ppd.gz \
@@ -2076,7 +2072,6 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
ppd/hpcups/hp-officejet_series_320.ppd.gz \
ppd/hpcups/hp-officejet_series_330.ppd.gz \
ppd/hpcups/hp-officejet_series_350.ppd.gz \
- ppd/hpcups/hp-officejet_series_500.ppd.gz \
ppd/hpcups/hp-officejet_series_520.ppd.gz \
ppd/hpcups/hp-officejet_series_570.ppd.gz \
ppd/hpcups/hp-officejet_series_580.ppd.gz \
@@ -2225,8 +2220,9 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_4250-ps.ppd.gz \
am__dist_prnt_DATA_DIST = prnt/cups.py prnt/__init__.py prnt/ldl.py \
prnt/pcl.py prnt/colorcal.py
am__dist_rules_DATA_DIST = data/rules/56-hpmud_support.rules \
- data/rules/86-hpmud_plugin.rules data/rules/40-hplip.rules \
- data/rules/55-hpmud.rules
+ data/rules/86-hpmud_plugin.rules \
+ data/rules/56-hpmud_add_printer.rules \
+ data/rules/40-hplip.rules data/rules/55-hpmud.rules
am__dist_scan_DATA_DIST = scan/__init__.py scan/sane.py
am__dist_ui_DATA_DIST = ui/alignform.py ui/colorcalform_base.py \
ui/colorcalform.py ui/coloradjform_base.py ui/coloradjform.py \
@@ -2261,7 +2257,8 @@ am__dist_ui_DATA_DIST = ui/alignform.py ui/colorcalform_base.py \
ui/pluginlicenseform_base.py ui/pluginlicenseform.py \
ui/align13form_base.py ui/align13form.py \
ui/firmwaredialog_base.py ui/firmwaredialog.py \
- ui/deviceuricombobox.py
+ ui/deviceuricombobox.py ui/upgradeform.py \
+ ui/upgradeform_base.py
am__dist_ui4_DATA_DIST = ui4/*.py
am__dist_www0_DATA_DIST = $(wwwsrc)/index.html \
$(wwwsrc)/commandline.html $(wwwsrc)/copying.html \
@@ -2563,6 +2560,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz \
+ ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz \
ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz \
@@ -2605,7 +2603,6 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz \
ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1027nw-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz \
@@ -2667,7 +2664,6 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1021-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz \
ppd/hpijs/hp-dj450-hpijs.ppd.gz \
@@ -2681,6 +2677,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6100-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz \
@@ -2739,6 +2736,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz \
@@ -2757,7 +2755,6 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1022-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz \
ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz \
@@ -2824,6 +2821,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-officejet-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6700-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz \
ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz \
@@ -2921,9 +2919,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1023-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz \
- ppd/hpijs/hp-officejet_series_500-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz \
@@ -3066,11 +3062,9 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1028nw-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz \
- ppd/hpijs/hp-laserjet_professional_p1102s-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz \
@@ -3129,6 +3123,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz \
ppd/hpijs/hp-cp1160-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz \
@@ -3742,13 +3737,10 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1021.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1022.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1023.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1027nw.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1028nw.ppd.gz \
ppd/hpcups/hp-laserjet_m1005.ppd.gz \
ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz \
@@ -3819,7 +3811,6 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz \
- ppd/hpcups/hp-laserjet_professional_p1102s.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz \
@@ -3849,6 +3840,7 @@ cups_ppd_printers = \
ppd/hpcups/hp-officejet_5600_series.ppd.gz \
ppd/hpcups/hp-officejet_6000_e609a.ppd.gz \
ppd/hpcups/hp-officejet_6000_e609n.ppd.gz \
+ ppd/hpcups/hp-officejet_6100.ppd.gz \
ppd/hpcups/hp-officejet_6100_series.ppd.gz \
ppd/hpcups/hp-officejet_6150_series.ppd.gz \
ppd/hpcups/hp-officejet_6200_series.ppd.gz \
@@ -3857,6 +3849,8 @@ cups_ppd_printers = \
ppd/hpcups/hp-officejet_6500_e709n.ppd.gz \
ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz \
ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz \
+ ppd/hpcups/hp-officejet_6600.ppd.gz \
+ ppd/hpcups/hp-officejet_6700.ppd.gz \
ppd/hpcups/hp-officejet_7000_e809a.ppd.gz \
ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz \
ppd/hpcups/hp-officejet_7100_series.ppd.gz \
@@ -3918,7 +3912,6 @@ cups_ppd_printers = \
ppd/hpcups/hp-officejet_series_320.ppd.gz \
ppd/hpcups/hp-officejet_series_330.ppd.gz \
ppd/hpcups/hp-officejet_series_350.ppd.gz \
- ppd/hpcups/hp-officejet_series_500.ppd.gz \
ppd/hpcups/hp-officejet_series_520.ppd.gz \
ppd/hpcups/hp-officejet_series_570.ppd.gz \
ppd/hpcups/hp-officejet_series_580.ppd.gz \
@@ -4093,7 +4086,7 @@ cups_drv = prnt/drv/hpcups.drv
@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@ scan/sane/common.c scan/sane/common.h scan/sane/soap.h scan/sane/soapht.h scan/sane/sanei_debug.h scan/sane/sanei.h \
@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@ scan/sane/sanei_init_debug.c scan/sane/marvell.h scan/sane/marvelli.h scan/sane/marvell.c scan/sane/soapht.c scan/sane/soap.c \
@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@ scan/sane/soaphti.h scan/sane/soapi.h scan/sane/xml.c scan/sane/xml.h scan/sane/ledm.h scan/sane/ledmi.h scan/sane/ledm.c \
-@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@ scan/sane/bb_ledm.c scan/sane/http.h scan/sane/http.c
+@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@ scan/sane/bb_ledm.c scan/sane/http.h scan/sane/http.c
@DARWIN_BUILD_FALSE@@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@libsane_hpaio_la_LDFLAGS = -version-info 1:0:0
@DARWIN_BUILD_TRUE@@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@libsane_hpaio_la_LDFLAGS = -module -framework CoreFoundation -version-info 1:0:0
@@ -4129,6 +4122,7 @@ cups_drv = prnt/drv/hpcups.drv
@HPLIP_BUILD_TRUE@rulesdir = /etc/udev/rules.d
@HPLIP_BUILD_TRUE@dist_rules_DATA = data/rules/56-hpmud_support.rules \
@HPLIP_BUILD_TRUE@ data/rules/86-hpmud_plugin.rules \
+@HPLIP_BUILD_TRUE@ data/rules/56-hpmud_add_printer.rules \
@HPLIP_BUILD_TRUE@ $(am__append_2) $(am__append_3)
@HPLIP_BUILD_TRUE@halpredir = /usr/share/hal/fdi/preprobe/10osvendor
@HPLIP_BUILD_TRUE@dist_halpre_DATA = data/rules/20-hplip-devices.fdi
@@ -4143,7 +4137,8 @@ cups_drv = prnt/drv/hpcups.drv
# hplip.state
@HPLIP_BUILD_TRUE@hplip_statedir = /var/lib/hp
-@HPLIP_BUILD_TRUE@dist_hplip_state_DATA = hplip.state
+@HPLIP_BUILD_TRUE@dist_hplip_state_DATA =
+#dist_hplip_state_DATA = hplip.state
# Log Files
@HPLIP_BUILD_TRUE@hplip_Logdir = /var/log/hp
@@ -4151,7 +4146,8 @@ cups_drv = prnt/drv/hpcups.drv
@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@cmddir = $(hplipdir)
@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@dist_cmd_SCRIPTS = align.py info.py print.py toolbox.py clean.py colorcal.py unload.py testpage.py makeuri.py check.py fab.py levels.py \
@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ sendfax.py setup.py makecopies.py probe.py timedate.py firmware.py scan.py systray.py plugin.py linefeedcal.py pqdiag.py \
-@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ faxsetup.py devicesettings.py printsettings.py query.py pkservice.py wificonfig.py check-plugin.py diagnose_plugin.py
+@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ faxsetup.py devicesettings.py printsettings.py query.py pkservice.py wificonfig.py check-plugin.py diagnose_plugin.py uninstall.py \
+@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ upgrade.py config_usb_printer.py diagnose_queues.py
# base
@@ -4287,7 +4283,7 @@ cups_drv = prnt/drv/hpcups.drv
@FULL_BUILD_TRUE@@GUI_BUILD_TRUE@@HPLIP_BUILD_TRUE@@QT3_INSTALL_TRUE@ ui/scrollunload.py ui/scrollcopy.py ui/pluginform2.py ui/pluginform2_base.py ui/systemtray.py \
@FULL_BUILD_TRUE@@GUI_BUILD_TRUE@@HPLIP_BUILD_TRUE@@QT3_INSTALL_TRUE@ ui/ui_utils.py ui/jobstoragemixin.py ui/pluginlicenseform_base.py ui/pluginlicenseform.py \
@FULL_BUILD_TRUE@@GUI_BUILD_TRUE@@HPLIP_BUILD_TRUE@@QT3_INSTALL_TRUE@ ui/align13form_base.py ui/align13form.py ui/firmwaredialog_base.py ui/firmwaredialog.py \
-@FULL_BUILD_TRUE@@GUI_BUILD_TRUE@@HPLIP_BUILD_TRUE@@QT3_INSTALL_TRUE@ ui/deviceuricombobox.py
+@FULL_BUILD_TRUE@@GUI_BUILD_TRUE@@HPLIP_BUILD_TRUE@@QT3_INSTALL_TRUE@ ui/deviceuricombobox.py ui/upgradeform.py ui/upgradeform_base.py
#ui4 (qt4)
diff --git a/align.py b/align.py
index adb55b705..da6052563 100755
--- a/align.py
+++ b/align.py
@@ -205,13 +205,16 @@ try:
elif align_type == ALIGN_TYPE_LIDIL_DJ_D1600:
maint.AlignType14(d, tui.load_paper_prompt, type10and11and14Align, invalidPen2)
-
+
elif align_type == ALIGN_TYPE_LEDM:
maint.AlignType15(d, tui.load_paper_prompt, aioUI2)
elif align_type == ALIGN_TYPE_LEDM_MANUAL:
maint.AlignType16(d, tui.load_paper_prompt, enterAlignmentNumber)
+ elif align_type == ALIGN_TYPE_LEDM_FF_CC_0:
+ maint.AlignType17(d, tui.load_paper_prompt, aioUI2)
+
else:
log.error("Invalid alignment type.")
diff --git a/base/LedmWifi.py b/base/LedmWifi.py
index db77337b5..4e7720976 100644
--- a/base/LedmWifi.py
+++ b/base/LedmWifi.py
@@ -296,9 +296,14 @@ def getVSACodes(dev, adapterName):
if params is not None:
try:
severity= params['io:vsacodes-wifi:vsacode-dd:severity']
+ except:
+ severity = ""
+ try:
rule = params['io:vsacodes-wifi:vsacode-wifi:rulenumber']
- except KeyError, e:
- log.error("Missing response key: %s" % str(e))
+ # except KeyError, e:
+ # log.error("Missing response key: %s" % str(e))
+ except:
+ rule = ""
ret.append((rule, severity))
return ret
@@ -362,22 +367,36 @@ def readXmlDataFromURI(dev,URI,xmlRootNode,xmlChildNode,timeout=5):
params,code,elementCount ={},HTTP_ERROR,0
data = format_http_get(URI,0,"")
- log.info(data)
- dev.openLEDM()
- dev.writeLEDM(data)
+ log.info(data)
response = cStringIO.StringIO()
- try:
- while dev.readLEDM(1024, response, timeout):
- pass
- except Error:
- dev.closeLEDM()
- log.error("Unable to read LEDM Channel")
- dev.closeEWS_LEDM()
- strResp = str(response.getvalue())
+ if dev.openLEDM() == -1:
+ dev.openEWS_LEDM()
+ dev.writeEWS_LEDM(data)
+ try:
+ while dev.readEWS_LEDM(1024, response, timeout):
+ pass
+ except Error:
+ dev.closeEWS_LEDM()
+ log.error("Unable to read EWS_LEDM Channel")
+ else:
+ dev.writeLEDM(data)
+
+ #response = cStringIO.StringIO()
+ try:
+ while dev.readLEDM(1024, response, timeout):
+ pass
+ except Error:
+ dev.closeLEDM()
+ log.error("Unable to read LEDM Channel")
+ #dev.closeEWS_LEDM()
+ strResp = str(response.getvalue())
+ #log.error(strResp)
if strResp is not None:
code = get_error_code(strResp)
pos = strResp.find(xmlRootNode,0,len(strResp))
repstr = strResp[pos:].strip()
+ repstr = filter(lambda c: c not in "\r\t\n", repstr) # To remove formating characters from the received xml
+ repstr = repstr.rstrip('0') # To remove trailing zero from the received xml
elementCount = repstr.count(xmlChildNode)
try:
params = utils.XMLToDictParser().parseXML(repstr)
@@ -390,17 +409,30 @@ def readXmlDataFromURI(dev,URI,xmlRootNode,xmlChildNode,timeout=5):
def writeXmlDataToURI(dev,URI,xml,timeout=5):
code = HTTP_ERROR
- data = format_http_put(URI,len(xml),xml)
- dev.openLEDM()
- dev.writeLEDM(data)
+ data = format_http_put(URI,len(xml),xml)
response = cStringIO.StringIO()
- try:
- while dev.readLEDM(1000, response, timeout):
- pass
- except Error:
- dev.closeLEDM()
- log.error("Unable to read LEDM Channel")
- dev.closeLEDM()
+
+ if dev.openLEDM() == -1:
+ dev.openEWS_LEDM()
+ dev.writeEWS_LEDM(data)
+ try:
+ while dev.readEWS_LEDM(1000, response, timeout):
+ pass
+ except Error:
+ dev.closeEWS_LEDM()
+ log.error("Unable to read EWS_LEDM Channel")
+
+ else:
+ dev.writeLEDM(data)
+ #response = cStringIO.StringIO()
+ try:
+ while dev.readLEDM(1000, response, timeout):
+ pass
+ except Error:
+ dev.closeLEDM()
+ log.error("Unable to read LEDM Channel")
+
+
strResp = str(response.getvalue())
if strResp is not None:
code = get_error_code(strResp)
diff --git a/base/codes.py b/base/codes.py
index 830c5e206..6b9356777 100644
--- a/base/codes.py
+++ b/base/codes.py
@@ -207,6 +207,9 @@ EVENT_SCAN_ADF_JAM = 2007
EVENT_SCAN_ADF_DOOR_OPEN = 2008
EVENT_SCAN_CANCEL = 2009
EVENT_SIZE_WARNING = 2010
+EVENT_SCAN_ADF_NO_DOCS = 2011
+EVENT_SCAN_ADF_MISPICK = 2012
+EVENT_SCAN_BUSY = 2013
#end
# fax
@@ -253,6 +256,11 @@ EVENT_ERROR_DEVICEOPEN_FAILED_ONE_DEVICE_ONLY = 5037
EVENT_ERROR_DEVICEOPEN_FAILED_DEV_NODE_MOVED = 5038
# end
+# diagnosis tool codes
+EVENT_ADD_PRINTQUEUE = 5501
+EVENT_DIAGNOSE_PRINTQUEUE = 5502
+#end
+
# pcard
EVENT_START_PCARD_JOB = 6000
EVENT_END_PCARD_JOB = 6001
@@ -399,7 +407,7 @@ STATUS_TO_ERROR_STATE_MAP = {
STATUS_DEVICE_UNSUPPORTED : ERROR_STATE_ERROR,
STATUS_PRINTER_CARTRIDGE_MISSING : ERROR_STATE_ERROR,
STATUS_PRINTER_CARTRIDGE_WRONG : ERROR_STATE_ERROR,
- STATUS_PRINTER_PRINTHEAD_MISSING : ERROR_STATE_ERROR,
+ STATUS_PRINTER_PRINTHEAD_MISSING : ERROR_STATE_ERROR,
# The following block are EVENTs because they are only
# recieved as events from hpmud, hp backend, etc.
# i.e., a device does not produce status codes in this range
@@ -430,6 +438,9 @@ STATUS_TO_ERROR_STATE_MAP = {
EVENT_SCAN_ADF_LOADED : ERROR_STATE_OK,
EVENT_SCAN_CANCEL : ERROR_STATE_OK,
EVENT_SIZE_WARNING : ERROR_STATE_WARNING,
+ EVENT_SCAN_ADF_NO_DOCS : ERROR_STATE_OK,
+ EVENT_SCAN_ADF_MISPICK : ERROR_STATE_WARNING,
+ EVENT_SCAN_BUSY : ERROR_STATE_SCANNING,
# Fax
EVENT_FAX_DIALING : ERROR_STATE_BUSY,
EVENT_FAX_CONNECTING : ERROR_STATE_BUSY,
@@ -603,6 +614,7 @@ ALIGN_TYPE_AIO = 13 # AiO Non-LIDIL (OJ J4500/J4600)
ALIGN_TYPE_LIDIL_DJ_D1600 = 14
ALIGN_TYPE_LEDM = 15
ALIGN_TYPE_LEDM_MANUAL = 16
+ALIGN_TYPE_LEDM_FF_CC_0 = 17
# clean-types
CLEAN_TYPE_UNSUPPORTED = -1
@@ -634,6 +646,7 @@ STATUS_TYPE_LJ_XML = 6
STATUS_TYPE_PJL = 8
STATUS_TYPE_PML_AND_PJL = 9 # Same as types 3(tbx)+8(hp:)
STATUS_TYPE_LEDM = 10 # Low-end Data Model
+STATUS_TYPE_LEDM_FF_CC_0 = 11 #Low-end Data Model over FF/CC/0 USB channel
# status-battery-check
STATUS_BATTERY_CHECK_NONE = 0
@@ -688,17 +701,11 @@ SCAN_TYPE_SCL_DUPLEX = 6
SCAN_TYPE_LEDM = 7
SCAN_TYPE_MARVEL2 = 8
-# scan-styles
-SCAN_STYLE_NONE = 0
-SCAN_STYLE_FLATBED = 1
-SCAN_STYLE_SCROLLFED = 2
-SCAN_STYLE_BOTH = 3
-
# scan-src
-SCAN_SRC_NA = 0
-SCAN_SRC_ADF = 1
-SCAN_SRC_FLATBED = 2
-SCAN_SRC_BOTH = 3
+SCAN_SRC_NONE = 0x0
+SCAN_SRC_FLATBED = 0x1
+SCAN_SRC_SCROLLFED = 0x2
+SCAN_SRC_CAMERA = 0x4
# copy-types
COPY_TYPE_NOT_SUPPORTED = -1
@@ -781,6 +788,12 @@ PLUGIN_NONE = 0
PLUGIN_REQUIRED = 1
PLUGIN_OPTIONAL = 2
+
+#Plugin installation status values
+PLUGIN_VERSION_MISMATCH = '-1'
+PLUGIN_NOT_INSTALLED = '0'
+PLUGIN_INSTALLED = '1'
+
# plugin-reason
PLUGIN_REASON_NONE = 0x0
PLUGIN_REASON_PRINTING_SUPPORT = 0x1
@@ -862,3 +875,11 @@ SUPPORT_RELEASED = 1
#USB-Autoplugin-installation
EVENT_AUTO_CONFIGURE = 900
+
+# Queue diagnosis codes
+QUEUES_CONFIG_ERROR = 1
+QUEUES_PAUSED = 2
+QUEUES_INCORRECT_PPD = 3
+QUEUES_USER_GROUPS_ERROR = 4
+QUEUES_MSG_SENDING = 5
+
diff --git a/base/device.py b/base/device.py
index c03353998..234fad4c1 100644
--- a/base/device.py
+++ b/base/device.py
@@ -96,7 +96,7 @@ usb_pat = re.compile(r"""(\d+):(\d+)""", re.IGNORECASE)
### **********Lambda Function UniStar for checking type of arguments to constructor of class event*******************************
-UniStr = lambda title: isinstance(title, str) and utils.xrstrip(title, '\x00')[:128] or utils.xrstrip(title, '\x00')[:128].encode('utf-8')
+UniStr = lambda title: isinstance(title, str) and utils.xrstrip(title, '\x00')[:128] or utils.xrstrip(title, '\x00')[:128].encode('utf-8')
#
@@ -1303,7 +1303,7 @@ class Device(object):
def openEWS_LEDM(self):
return self.__openChannel(hpmudext.HPMUD_S_EWS_LEDM_CHANNEL)
-
+
def openLEDM(self):
return self.__openChannel(hpmudext.HPMUD_S_LEDM_SCAN)
@@ -1330,7 +1330,7 @@ class Device(object):
def closeEWS_LEDM(self):
return self.__closeChannel(hpmudext.HPMUD_S_EWS_LEDM_CHANNEL)
-
+
def closeLEDM(self):
return self.__closeChannel(hpmudext.HPMUD_S_LEDM_SCAN)
@@ -1714,7 +1714,11 @@ class Device(object):
elif status_type == STATUS_TYPE_LEDM:
log.debug("Type 10: LEDM")
- status_block = status.StatusType10(self)
+ status_block = status.StatusType10(self.getEWSUrl_LEDM)
+
+ elif status_type == STATUS_TYPE_LEDM_FF_CC_0:
+ log.debug("Type 11: LEDM_FF_CC_0")
+ status_block = status.StatusType10(self.getUrl_LEDM)
else:
log.error("Unimplemented status type: %d" % status_type)
@@ -2466,12 +2470,12 @@ class Device(object):
if footer:
return opener.open_hp(url2, data, footer)
else:
- return opener.open_hp(url2, data)
+ return opener.open_hp(url2, data)
except Error:
log.debug("Status read failed: %s" % url2)
finally:
self.closeEWS_LEDM()
-
+
def getUrl_LEDM(self, url, stream, footer=""):
try:
url2 = "%s&loc=%s" % (self.device_uri.replace('hpfax:', 'hp:'), url)
@@ -2481,7 +2485,7 @@ class Device(object):
if footer:
return opener.open_hp(url2, data, footer)
else:
- return opener.open_hp(url2, data)
+ return opener.open_hp(url2, data)
except Error:
log.debug("Status read failed: %s" % url2)
@@ -2501,7 +2505,7 @@ class Device(object):
return data
#-------------------------For LEDM SOAP PROTOCOL(FAX) Devices----------------------------------------------------------------------#
-
+
def FetchEWS_LEDMUrl(self, url, footer=""):
data_fp = cStringIO.StringIO()
if footer:
@@ -2521,19 +2525,25 @@ class Device(object):
log.error("Unable To read the XML data from device")
return ""
xmlDict = utils.XMLToDictParser().parseXML(data)
- return str(xmlDict[attribute])
+ try:
+ return str(xmlDict[attribute])
+ except:
+ return str("")
#---------------------------------------------------------------------------------------------------#
-
+
def readAttributeFromXml(self,uri,attribute):
stream = cStringIO.StringIO()
- data = self.FetchLEDMUrl(uri)
+ data = self.FetchLEDMUrl(uri)
if not data:
log.error("Unable To read the XML data from device")
return ""
- xmlDict = utils.XMLToDictParser().parseXML(data)
- return str(xmlDict[attribute])
-
+ xmlDict = utils.XMLToDictParser().parseXML(data)
+ try:
+ return str(xmlDict[attribute])
+ except:
+ return str("")
+
def downloadFirmware(self, usb_bus_id=None, usb_device_id=None): # Note: IDs not currently used
ok = False
filename = os.path.join(prop.data_dir, "firmware", self.model.lower() + '.fw.gz')
@@ -2630,7 +2640,7 @@ class LocalOpenerEWS_LEDM(urllib.URLopener):
reply = xStringIO()
- while dev.readEWS_LEDM(8080, reply, timeout=3):
+ while dev.readEWS_LEDM(512, reply, timeout=3):
pass
reply.seek(0)
@@ -2656,11 +2666,11 @@ class LocalOpener_LEDM(urllib.URLopener):
reply = xStringIO()
- while dev.readLEDM(8080, reply, timeout=3):
+ while dev.readLEDM(512, reply, timeout=3):
pass
reply.seek(0)
return reply.getvalue()
-
+
diff --git a/base/g.py b/base/g.py
index ffae656e1..b49a916c6 100644
--- a/base/g.py
+++ b/base/g.py
@@ -268,16 +268,22 @@ prop.hpijs_build = to_bool(sys_conf.get('configure', 'hpijs-install', '0'))
# Spinner, ala Gentoo Portage
spinner = "\|/-\|/-"
spinpos = 0
+enable_spinner = True
+
+def change_spinner_state(enable =True):
+ global enable_spinner
+ enable_spinner = enable
def update_spinner():
- global spinner, spinpos
- if not log.is_debug() and sys.stdout.isatty():
+ global spinner, spinpos, enable_spinner
+ if enable_spinner and not log.is_debug() and sys.stdout.isatty():
sys.stdout.write("\b" + spinner[spinpos])
spinpos=(spinpos + 1) % 8
sys.stdout.flush()
def cleanup_spinner():
- if not log.is_debug() and sys.stdout.isatty():
+ global enable_spinner
+ if enable_spinner and not log.is_debug() and sys.stdout.isatty():
sys.stdout.write("\b \b")
sys.stdout.flush()
diff --git a/base/maint.py b/base/maint.py
index 487247252..4b8193547 100644
--- a/base/maint.py
+++ b/base/maint.py
@@ -33,12 +33,12 @@ def AlignType1(dev, loadpaper_ui): # Auto VIP (using embedded PML)
ok = loadpaper_ui()
if ok:
dev.writeEmbeddedPML(pml.OID_AUTO_ALIGNMENT,
- pml.AUTO_ALIGNMENT, style=0,
+ pml.AUTO_ALIGNMENT, style=0,
direct=True)
dev.closePrint()
return ok
-
+
def AlignType1PML(dev, loadpaper_ui): # Auto VIP (using PML)
ok = loadpaper_ui()
if ok:
@@ -404,7 +404,7 @@ def alignType10SetPattern(dev):
log.debug("Pattern=%d" % pattern)
return pattern
-
+
def alignType10Phase1(dev):
dev.writeEmbeddedPML(pml.OID_PRINT_INTERNAL_PAGE,
@@ -422,7 +422,7 @@ def alignType10Phase2(dev, values, pattern):
break
p = ''.join([p, pcl.ESC, '*o5W\x1a', chr(i), '\x00', chr(pattern), chr(x), '\n'])
- p = ''.join([p, pcl.UEL])
+ p = ''.join([p, pcl.UEL])
dev.printData(p)
dev.closePrint()
@@ -490,7 +490,7 @@ def align10and11and14Controls(pattern, align_type):
'F' : (True, 9),
'G' : (True, 9),
'H' : (True, 9),
- 'I' : (True, 9),}
+ 'I' : (True, 9),}
else:
if pattern == 1:
@@ -530,7 +530,7 @@ def AlignType11(dev, loadpaper_ui, align_ui, invalidpen_ui):
if pattern is None:
invalidpen_ui()
return
-
+
state = 0
while state != -1:
if state == 0:
@@ -570,9 +570,9 @@ def alignType11SetPattern(dev):
elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
return None
- log.debug("Pattern=%d" % pattern)
+ log.debug("Pattern=%d" % pattern)
return pattern
-
+
def alignType11Phase1(dev):
dev.printData(ldl.buildResetPacket())
@@ -622,85 +622,101 @@ def alignType13Phase1(dev):
calibrationSession = 1
-def dataModelHelper(dev, ui2):
- data = status.StatusType10FetchUrl(dev, "/Calibration/State")
+def dataModelHelper(dev, func, ui2):
+ data = status.StatusType10FetchUrl(func, "/Calibration/State")
if not data:
- data = status.StatusType10FetchUrl(dev, "/Calibration/State")
+ data = status.StatusType10FetchUrl(func, "/Calibration/State")
if not data:
log.debug("Unable to retrieve calibration state")
+ dev.close()
return 0
if "ParmsRequested" in data:
log.error("Restart device and start alignment")
- return 1
+ dev.close()
+ return 1
if "404 Not Found" in data:
log.error("Device may not support Alignment")
+ dev.close()
return 1
if "Printing<" in data:
log.warn("Previous alignment job not completed")
+ dev.close()
return 1
- data = status.StatusType10FetchUrl(dev, "/DevMgmt/ConsumableConfigDyn.xml")
+ data = status.StatusType10FetchUrl(func, "/DevMgmt/ConsumableConfigDyn.xml")
if "AlignmentMode" not in data:
log.error("Device may not support Alignment")
- return 1
+ dev.close()
+ return 1
if "automatic" in data:
log.debug("Device supports automatic calibration")
- status.StatusType10FetchUrl(dev, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
+ status.StatusType10FetchUrl(func, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
+ dev.close()
return 0
if "semiAutomatic" in data:
log.debug("Device supports semiAutomatic calibration")
- status.StatusType10FetchUrl(dev, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
+ status.StatusType10FetchUrl(func, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
+ dev.close()
return ui2()
if "manual" in data:
log.debug("Device supports manual calibration")
- data = status.StatusType10FetchUrl(dev, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
+ data = status.StatusType10FetchUrl(func, "/Calibration/Session", "<cal:CalibrationState xmlns:cal=\\\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\\\" xmlns:dd=\\\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\\\">Printing</cal:CalibrationState>")
import string
data = string.split(data, "/Jobs")[1]
data = string.split(data, "\r\n")[0]
data = "/Jobs" + data
- data = status.StatusType10FetchUrl(dev, data)
+ data = status.StatusType10FetchUrl(func, data)
data = string.split(data, "Session/")[1]
data = string.split(data, "<")[0]
data = "/Calibration/Session/" + data + "/ManualSelectedPatterns.xml"
global calibrationSession
- calibrationSession = data
-
+ calibrationSession = data
+ dev.close()
return 0
def AlignType16Manual(dev, a, b, c, d, e, f, g, h, i):
log.debug("a=%s b=%s c=%s d=%s e=%s f=%s g=%s h=%s i=%s" % (a, b, c, d, e, f, g, h, i ))
- data = status.StatusType10FetchUrl(dev, "/Calibration/State")
-
+ data = status.StatusType10FetchUrl(func, "/Calibration/State")
+
if not data:
return 0
while "ParmsRequested" not in data:
if "CalibrationValid" in data:
return
- data = status.StatusType10FetchUrl(dev, "/Calibration/State")
+ data = status.StatusType10FetchUrl(func, "/Calibration/State")
data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- THIS DATA SUBJECT TO DISCLAIMER(S) INCLUDED WITH THE PRODUCT OF ORIGIN. -->\n<ManualSelectedPatterns xmlns=\"http://www.hp.com/schemas/imaging/con/cnx/markingagentcalibration/2009/04/08\" xmlns:locid=\"http://www.hp.com/schemas/imaging/con/ledm/localizationids/2007/10/31/\" xmlns:psdyn=\"http://www.hp.com/schemas/imaging/con/ledm/productstatdyn/2007/10/31\"><SelectedPattern><Identifier><Id>1</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>2</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>3</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>4</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>5</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>6</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>7</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>8</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern><SelectedPattern><Identifier><Id>9</Id></Identifier><Choice><Identifier><Id>%s</Id></Identifier></Choice></SelectedPattern></ManualSelectedPattern>" % ( a, b, c, d, e, f, g, h, i )
data = "PUT %s HTTP/1.1\r\nHost: localhost\r\nUser-Agent: hp\r\nAccept: text/plain\r\nAccept-Language: en-us,en\r\nAccept-Charset:utf-8\r\nContent-Type: text/xml\r\nContent-Length: %s\r\n\r\n" % ( calibrationSession, len(data)) + data
- data = status.StatusType10FetchUrl(dev, calibrationSession, data)
+ data = status.StatusType10FetchUrl(func, calibrationSession, data)
def AlignType15(dev, loadpaper_ui, ui2):
if not loadpaper_ui():
return
- return dataModelHelper(dev, ui2)
+ return dataModelHelper(dev, dev.getEWSUrl_LEDM, ui2)
def AlignType15Phase1(dev, ui2):
- return dataModelHelper(dev, ui2)
+ return dataModelHelper(dev, dev.getEWSUrl_LEDM, ui2)
+
+#AlignType 17 is LEDM via FF/CC/0 USB channel
+def AlignType17(dev, loadpaper_ui, ui2):
+ if not loadpaper_ui():
+ return
+ return dataModelHelper(dev, dev.getUrl_LEDM, ui2)
+
+def AlignType17Phase1(dev, ui2):
+ return dataModelHelper(dev, dev.getUrl_LEDM, ui2)
def AlignType16(dev, loadpaper_ui, align_ui):
if not loadpaper_ui():
return
- dataModelHelper(dev, align_ui)
+ dataModelHelper(dev, dev.getEWSUrl_LEDM, align_ui)
state, a, b, c, d, e, f, g, h, i = 0, 6, 6, 3, 3, 6, 6, 6, 6, 6
ok = False
while state != -1:
@@ -773,7 +789,7 @@ def AlignType14(dev, loadpaper_ui, align_ui, invalidpen_ui):
if pattern is None:
invalidpen_ui()
return
-
+
state = 0
while state != -1:
if state == 0:
@@ -813,9 +829,9 @@ def alignType14SetPattern(dev):
elif dev.pen_config == AGENT_CONFIG_PHOTO_ONLY:
return None
- log.debug("Pattern=%d" % pattern)
+ log.debug("Pattern=%d" % pattern)
return pattern
-
+
def alignType14Phase1(dev):
dev.printData(ldl.buildResetPacket())
@@ -1227,8 +1243,8 @@ def alignType8Phase2(dev, num_inks, a, b, c, d): # 450
dev.printData(s)
dev.closePrint()
-
-
+
+
def AlignType12(dev, loadpaper_ui):
if loadpaper_ui():
dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_ALIGNMENT_PAGE)
@@ -1603,7 +1619,7 @@ def colorCalType4(dev, loadpaper_ui, colorcal_ui, wait_ui):
def colorCalType4Phase1(dev):
dev.setPML(pml.OID_PRINT_INTERNAL_PAGE,
pml.PRINT_INTERNAL_PAGE_COLOR_CAL)
-
+
dev.closePML()
@@ -1637,29 +1653,29 @@ def colorCalType4Phase2(dev, values):
dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_1,
kadj)
-
+
dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_2,
Cadj)
-
+
dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_3,
Madj)
-
+
dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_4,
Yadj)
-
+
dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_5,
cadj)
-
+
dev.setPML(pml.OID_COLOR_CALIBRATION_ARRAY_6,
madj)
-
+
dev.closePML()
def colorCalType4Phase3(dev):
dev.setPML(pml.OID_PRINT_INTERNAL_PAGE,
pml.PRINT_INTERNAL_PAGE_COLOR_PALETTE_CMYK_PAGE)
-
+
dev.closePML()
@@ -1668,32 +1684,32 @@ def colorCalType5(dev, loadpaper_ui):
dev.printData("""\x1b%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n\x1bE\x1b%Puifp.multi_button_push 20;\nudw.quit;\x1b*rC\x1bE\x1b%-12345X""")
dev.closePrint()
-
+
def colorCalType6(dev, loadpaper_ui):
if loadpaper_ui():
dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_COLOR_CAL)
dev.closePML()
-
+
def colorCalType7(dev, loadpaper_ui):
if loadpaper_ui():
dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_AUTOMATIC_COLOR_CALIBRATION)
dev.closePML()
-# ********************** LF Cal **********************
-
+# ********************** LF Cal **********************
+
def linefeedCalType1(dev, loadpaper_ui):
if loadpaper_ui():
dev.printData("""\x1b%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n\x1bE\x1b%Puifp.multi_button_push 3;\nudw.quit;\x1b*rC\x1bE\x1b%-12345X""")
dev.closePrint()
-
+
def linefeedCalType2(dev, loadpaper_ui):
if loadpaper_ui():
dev.setPML(pml.OID_PRINT_INTERNAL_PAGE, pml.PRINT_INTERNAL_PAGE_LINEFEED_CALIBRATION)
dev.closePML()
-# ********************** PQ Diag **********************
-
+# ********************** PQ Diag **********************
+
def printQualityDiagType1(dev, loadpaper_ui):
if loadpaper_ui():
dev.printData("""\x1b%-12345X@PJL ENTER LANGUAGE=PCL3GUI\n\x1bE\x1b%Puifp.multi_button_push 14;\nudw.quit;\x1b*rC\x1bE\x1b%-12345X""")
diff --git a/base/models.py b/base/models.py
index ff66417ec..87b88fec9 100644
--- a/base/models.py
+++ b/base/models.py
@@ -105,6 +105,7 @@ TECH_CLASSES = [
"Copperhead",
"Ampere",
"Python11",
+ "Saipan",
]
TECH_CLASSES.sort()
@@ -159,6 +160,7 @@ TECH_CLASS_PDLS = {
"Mimas" : 'pcl3',
"StingrayOJ" : 'pcl3',
"Copperhead" : 'pcl3',
+ "Copperhead12" : 'pcl3',
"Ampere" : 'pcl3'
}
@@ -306,7 +308,6 @@ class ModelData:
'power-settings': TYPE_INT,
'pq-diag-type' : TYPE_INT,
'r-type' : TYPE_INT,
- 'scan-style' : TYPE_INT,
'scan-type' : TYPE_INT,
'scan-src' : TYPE_INT,
#'scan-duplex' : TYPE_BOOL,
diff --git a/base/module.py b/base/module.py
index 8087cf29a..254def898 100644
--- a/base/module.py
+++ b/base/module.py
@@ -444,7 +444,7 @@ class Module(object):
log.info(log.bold("%s ver. %s" % (self.title, self.version)))
log.info("")
- log.info("Copyright (c) 2001-9 Hewlett-Packard Development Company, LP")
+ log.info("Copyright (c) 2001-14 Hewlett-Packard Development Company, LP")
log.info("This software comes with ABSOLUTELY NO WARRANTY.")
log.info("This is free software, and you are welcome to distribute it")
log.info("under certain conditions. See COPYING file for more details.")
diff --git a/base/pkit.py b/base/pkit.py
index fedb440db..06e98dab3 100644
--- a/base/pkit.py
+++ b/base/pkit.py
@@ -435,7 +435,8 @@ def copyPluginFiles(src_dir):
sys_state.set('plugin', "installed", '1')
log.debug("Updating hplip.conf - eula = 1")
sys_state.set('plugin', "eula", '1')
-
+ plugin_version = sys_conf.get('hplip', 'version', '0.0.0')
+ sys_state.set('plugin','version', plugin_version)
return True
diff --git a/base/status.py b/base/status.py
index a18a53e16..d0cd60563 100644
--- a/base/status.py
+++ b/base/status.py
@@ -1490,7 +1490,7 @@ def clean(data):
if data[0] is not '<':
size = -1
temp = ""
- while size:
+ while size:
index = data.find('\r\n')
size = int(data[0:index+1], 16)
temp = temp + data[index+2:index+2+size]
@@ -1498,19 +1498,21 @@ def clean(data):
data = temp
return data
-def StatusType10FetchUrl(dev, url, footer=""):
+def StatusType10FetchUrl(func, url, footer=""):
data_fp = cStringIO.StringIO()
if footer:
- data = dev.getEWSUrl_LEDM(url, data_fp, footer)
+ #data = dev.getEWSUrl_LEDM(url, data_fp, footer)
+ data = func(url, data_fp, footer)
else:
- data = dev.getEWSUrl_LEDM(url, data_fp)
+ #data = dev.getEWSUrl_LEDM(url, data_fp)
+ data = func(url, data_fp)
if data:
data = data.split('\r\n\r\n', 1)[1]
if data:
data = clean(data)
return data
-def StatusType10(dev): # Low End Data Model
+def StatusType10(func): # Low End Data Model
status_block = { 'revision' : STATUS_REV_UNKNOWN,
'agents' : [],
'top-door' : TOP_DOOR_NOT_PRESENT,
@@ -1528,7 +1530,7 @@ def StatusType10(dev): # Low End Data Model
return status_block
# Get the dynamic consumables configuration
- data = StatusType10FetchUrl(dev, "/DevMgmt/ConsumableConfigDyn.xml")
+ data = StatusType10FetchUrl(func, "/DevMgmt/ConsumableConfigDyn.xml")
if not data:
return status_block
data = data.replace("ccdyn:", "").replace("dd:", "")
@@ -1562,7 +1564,7 @@ def StatusType10(dev): # Low End Data Model
ink_level = 100
log.debug("type '%s' state '%s' ink_type '%s' ink_level %d" % (type, state, ink_type, ink_level))
-
+
entry = { 'kind' : element_type10_xlate.get(type, AGENT_KIND_NONE),
'type' : pen_type10_xlate.get(ink_type, AGENT_TYPE_NONE),
'health' : pen_health10_xlate.get(state, AGENT_HEALTH_OK),
@@ -1579,7 +1581,7 @@ def StatusType10(dev): # Low End Data Model
status_block['agents'] = agents
# Get the media handling configuration
- data = StatusType10FetchUrl(dev, "/DevMgmt/MediaHandlingDyn.xml")
+ data = StatusType10FetchUrl(func, "/DevMgmt/MediaHandlingDyn.xml")
if not data:
return status_block
data = data.replace("mhdyn:", "").replace("dd:", "")
@@ -1613,7 +1615,7 @@ def StatusType10(dev): # Low End Data Model
status_block['duplexer'] = DUPLEXER_DOOR_CLOSED
# Get the product status
- data = StatusType10FetchUrl(dev, "/DevMgmt/ProductStatusDyn.xml")
+ data = StatusType10FetchUrl(func, "/DevMgmt/ProductStatusDyn.xml")
if not data:
return status_block
data = data.replace("psdyn:", "").replace("locid:", "")
diff --git a/base/strings.py b/base/strings.py
index b858fea49..83fdb463e 100644
--- a/base/strings.py
+++ b/base/strings.py
@@ -135,6 +135,9 @@ class StringTable:
'2008' : (self.__tr('Scanner automatic document feeder door opened'), ''),
'2009' : (self.__tr('Scan job cancelled'), ''),
'2010' : (self.__tr('Check scan image size requirements'), ''),
+ '2011' : (self.__tr('Scanner ADF empty'), ''),
+ '2012' : (self.__tr('Scanner ADF mispick'), ''),
+ '2013' : (self.__tr('Scanner busy'), ''),
'3000' : (self.__tr('Fax job started'), ''),
'3001' : (self.__tr('Fax job complete'), ''),
'3002' : (self.__tr('Fax job failed'), '%try_again%'),
@@ -158,6 +161,7 @@ class StringTable:
'5026' : (self.__tr("Device status not available"), ''),
'5031' : ('%5021%', ''),
'5034' : (self.__tr('Device does not support requested operation'), '%try_again%'),
+ '5501' : (self.__tr('Device added'), ''),
'6000' : (self.__tr('Photocard unload started'), ''),
'6001' : (self.__tr('Photocard unload ended'), ''),
'6002' : (self.__tr('Photocard unload failed'), self.__tr('Make sure photocard is inserted properly and try again')),
diff --git a/base/utils.py b/base/utils.py
index b31c7fc74..ae22c5c86 100644
--- a/base/utils.py
+++ b/base/utils.py
@@ -45,6 +45,7 @@ import xml.parsers.expat as expat
import getpass
import locale
import htmlentitydefs
+import urllib
try:
import platform
@@ -545,6 +546,11 @@ class UserSettings(object): # Note: Deprecated after 2.8.8 in Qt4 (see ui4/ui_ut
self.cmd_copy = user_conf.get('commands', 'cpy', self.cmd_copy)
self.cmd_fax = user_conf.get('commands', 'fax', self.cmd_fax)
self.cmd_fab = user_conf.get('commands', 'fab', self.cmd_fab)
+
+ self.upgrade_notify= to_bool(user_conf.get('upgrade', 'notify_upgrade', '0'))
+ self.upgrade_last_update_time = int(user_conf.get('upgrade','last_upgraded_time', '0'))
+ self.upgrade_pending_update_time =int(user_conf.get('upgrade', 'pending_upgrade_time', '0'))
+ self.latest_available_version=str(user_conf.get('upgrade', 'latest_available_version',''))
self.debug()
def debug(self):
@@ -557,6 +563,10 @@ class UserSettings(object): # Note: Deprecated after 2.8.8 in Qt4 (see ui4/ui_ut
log.debug("Auto refresh: %s" % self.auto_refresh)
log.debug("Auto refresh rate: %s" % self.auto_refresh_rate)
log.debug("Auto refresh type: %s" % self.auto_refresh_type)
+ log.debug("Upgrade notification:%d" %self.upgrade_notify)
+ log.debug("Last Installed time:%d" %self.upgrade_last_update_time)
+ log.debug("Next scheduled installation time:%d" % self.upgrade_pending_update_time)
+
def save(self):
log.debug("Saving user settings...")
@@ -568,6 +578,11 @@ class UserSettings(object): # Note: Deprecated after 2.8.8 in Qt4 (see ui4/ui_ut
user_conf.set('refresh', 'enable',self.auto_refresh)
user_conf.set('refresh', 'rate', self.auto_refresh_rate)
user_conf.set('refresh', 'type', self.auto_refresh_type)
+ user_conf.set('upgrade', 'notify_upgrade', self.upgrade_notify)
+ user_conf.set('upgrade','last_upgraded_time', self.upgrade_last_update_time)
+ user_conf.set('upgrade', 'pending_upgrade_time', self.upgrade_pending_update_time)
+ user_conf.set('upgrade', 'latest_available_version', self.latest_available_version)
+
self.debug()
@@ -1034,7 +1049,7 @@ def getEndian():
def get_password():
return getpass.getpass("Enter password: ")
-def get_password_ui():
+def get_password_ui(pswd_msg=''):
fp = open("/etc/hp/hplip.conf", "r")
qt = "qt3"
for line in fp:
@@ -1043,13 +1058,19 @@ def get_password_ui():
fp.close()
if qt is "qt4":
from ui4.setupdialog import showPasswordUI
- username, password = showPasswordUI("Your HP Device requires to install HP proprietary plugin\nPlease enter root/superuser password to continue", "root", False)
+ if pswd_msg == '':
+ username, password = showPasswordUI("Your HP Device requires to install HP proprietary plugin\nPlease enter root/superuser password to continue", "root", False)
+ else:
+ username, password = showPasswordUI(pswd_msg, "root", False)
if qt is "qt3":
from ui.setupform import showPasswordUI
- username, password = showPasswordUI("Your HP Device requires to install HP proprietary plugin\nPlease enter root/superuser password to continue", "root", False)
+ if pswd_msg == '':
+ username, password = showPasswordUI("Your HP Device requires to install HP proprietary plugin\nPlease enter root/superuser password to continue", "root", False)
+ else:
+ username, password = showPasswordUI(pswd_msg, "root", False)
return password
-def run(cmd, log_output=True, password_func=get_password, timeout=1, spinner=True):
+def run(cmd, log_output=True, password_func=get_password, timeout=1, spinner=True, pswd_msg=''):
output = cStringIO.StringIO()
try:
@@ -1072,7 +1093,7 @@ def run(cmd, log_output=True, password_func=get_password, timeout=1, spinner=Tru
if i == 0: # Password:
if password_func is not None:
if password_func == "get_password_ui":
- child.sendline(get_password_ui())
+ child.sendline(get_password_ui(pswd_msg))
else:
child.sendline(password_func())
else:
@@ -1585,7 +1606,7 @@ encoding: utf8
log.info("contact the HPLIP Team.")
log.info(".SH COPYRIGHT")
- log.info("Copyright (c) 2011-14 Hewlett-Packard Development Company, L.P.")
+ log.info("Copyright (c) 2001-14 Hewlett-Packard Development Company, L.P.")
log.info(".LP")
log.info("This software comes with ABSOLUTELY NO WARRANTY.")
log.info("This is free software, and you are welcome to distribute it")
@@ -1604,7 +1625,7 @@ def log_title(program_name, version, show_ver=True): # TODO: Move to base/module
log.info(log.bold("%s ver. %s" % (program_name, version)))
log.info("")
- log.info("Copyright (c) 2011-14 Hewlett-Packard Development Company, LP")
+ log.info("Copyright (c) 2001-14 Hewlett-Packard Development Company, LP")
log.info("This software comes with ABSOLUTELY NO WARRANTY.")
log.info("This is free software, and you are welcome to distribute it")
log.info("under certain conditions. See COPYING file for more details.")
@@ -1737,6 +1758,103 @@ def Is_Process_Running(process_name):
print >>sys.stderr, "Execution failed:", e
return False, None
+#return tye: strings
+#Return values.
+# None --> on error.
+# "terminal name"-->success
+def get_terminal():
+ terminal_list=['gnome-terminal', 'konsole','x-terminal-emulator', 'xterm', 'gtkterm']
+ cnt = 0
+ terminal_cmd = None
+ while cnt < len(terminal_list):
+ if which(terminal_list[cnt]):
+ terminal_cmd = terminal_list[cnt]+" -e "
+ log.debug("Available Terminal = %s " %terminal_cmd)
+ break
+
+ return terminal_cmd
+
+#Return Type: bool
+# Return values:
+# True --> if it is older version
+# False --> if it is same or later version.
+
+def Is_HPLIP_older_version(installed_version, available_version):
+
+ if available_version == "" or available_version == None or installed_version == "" or installed_version == None:
+ log.debug("available_version is ''")
+ return False
+
+ installed_array=installed_version.split('.')
+ available_array=available_version.split('.')
+
+ log.debug("HPLIP Installed_version=%s Available_version=%s"%(installed_version,available_version))
+ cnt = 0
+ Is_older = False
+ while cnt <len(installed_array) and cnt <len(available_array):
+ if(int(installed_array[cnt]) < int(available_array[cnt])):
+ Is_older = True
+ break
+ elif(int(installed_array[cnt]) > int(available_array[cnt])):
+ log.debug("Already new verison is installed")
+ return False
+ cnt += 1
+
+ # To check internal version is installed.
+ if Is_older is False and len(installed_array) >len(available_array):
+ Is_older = True
+
+ return Is_older
+
+
+def downLoad_status(count, blockSize, totalSize):
+ percent = int(count*blockSize*100/totalSize)
+ if count != 0:
+ sys.stdout.write("\b\b\b")
+ sys.stdout.write("%s" %(log.color("%2d%%"%percent, 'bold')))
+ sys.stdout.flush()
+
+
+def download_from_network(weburl, outputFile = None, useURLLIB=False):
+ result =False
+
+ if weburl is "" or weburl is None:
+ log.error("URL is empty")
+ return result, ""
+
+ if outputFile is None:
+ fp, outputFile = make_temp_file()
+
+ try:
+ if useURLLIB is False:
+ wget = which("wget")
+ if wget:
+ wget = os.path.join(wget, "wget")
+ status, output = run("%s --cache=off --timeout=60 --output-document=%s %s" %(wget, outputFile, weburl))
+ if status:
+ log.error("Failed to connect to HPLIP site. Error code = %d" %status)
+ return False, ""
+ else:
+ useURLLIB = True
+
+ if useURLLIB:
+ sys.stdout.write("Download in progress...")
+ urllib.urlretrieve(weburl, outputFile, downLoad_status)
+
+ except IOError, e:
+ log.error("I/O Error: %s" % e.strerror)
+ return False, ""
+
+ if not os.path.exists(outputFile):
+ log.error("Failed to get hplip version/ %s file not found."%hplip_version_file)
+ return False, ""
+
+ return True, outputFile
+
+
+
+
+
class Sync_Lock:
def __init__(self, filename):
self.Lock_filename = filename
diff --git a/check-plugin.py b/check-plugin.py
index fa8b8db7c..aed07e811 100755
--- a/check-plugin.py
+++ b/check-plugin.py
@@ -90,7 +90,7 @@ def install_firmware(Plugin_Installation_Completed):
if ps_plugin is False and ps_diagnose_plugin is False:
Plugin_Installation_Completed = True
- if core.check_for_plugin() is True:
+ if core.check_for_plugin() == PLUGIN_INSTALLED:
break
else:
log.error("Failed to download firmware required files. manually run hp-plugin command in terminal fisrt")
@@ -277,11 +277,14 @@ else:
core = core_install.CoreInstall()
core.set_plugin_version()
-if core.check_for_plugin():
+plugin_sts = core.check_for_plugin()
+if plugin_sts == PLUGIN_INSTALLED:
log.info("Device Plugin is already installed")
Is_Plugin_Already_Installed = True
+elif plugin_sts == PLUGIN_VERSION_MISMATCH:
+ log.info("HP Device Plug-in version mismatch or some files are corrupted")
else:
- log.info("Device Plugin is not found")
+ log.info("HP Device Plug-in is not found.")
if Systray_Msg_Enabled:
if not Is_Plugin_Already_Installed:
diff --git a/check.py b/check.py
index 2c3254dec..5e28306aa 100755
--- a/check.py
+++ b/check.py
@@ -508,7 +508,7 @@ try:
try:
output = file(os.path.expanduser('/var/lib/hp/hplip.state'), 'r').read()
except (IOError, OSError), e:
- log.error("Could not access file: %s" % e.strerror)
+ log.info("Plugins are not installed. Could not access file: %s" % e.strerror)
else:
log.info(output)
@@ -661,15 +661,18 @@ try:
plugin = d.mq.get('plugin', PLUGIN_NONE)
if plugin in (PLUGIN_REQUIRED, PLUGIN_OPTIONAL):
-
- if core.check_for_plugin():
+ plugin_sts = core.check_for_plugin()
+ if plugin_sts == PLUGIN_INSTALLED:
if plugin == PLUGIN_REQUIRED:
log.info("Required plug-in status: Installed")
else:
log.info("Optional plug-in status: Installed")
+ elif plugin_sts == PLUGIN_VERSION_MISMATCH:
+ num_errors += 1
+ log.warn("Optional plug-in status: Version mismatch")
+
else:
num_errors += 1
-
if plugin == PLUGIN_REQUIRED:
log.error("Required plug-in status: Not installed")
else:
diff --git a/config_usb_printer.py b/config_usb_printer.py
new file mode 100755
index 000000000..62e2a6b0a
--- /dev/null
+++ b/config_usb_printer.py
@@ -0,0 +1,272 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#
+# (c) Copyright 2011-2014 Hewlett-Packard Development Company, L.P.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Author: Amarnath Chitumalla
+#
+
+__version__ = '1.0'
+__title__ = 'HP device setup using USB'
+__mod__ = 'hp-config_usb_printer'
+__doc__ = "Detects HP printers connected using USB and installs HPLIP printers and faxes in the CUPS spooler. Tries to automatically determine the correct PPD file to use."
+
+# Std Lib
+import sys
+import os
+import getopt
+import commands
+import re
+import time
+
+# Local
+from base.g import *
+from base import device,utils, tui, models,module
+from prnt import cups
+
+
+LPSTAT_PAT = re.compile(r"""(\S*): (.*)""", re.IGNORECASE)
+USB_PATTERN = re.compile(r'''serial=(.*)''',re.IGNORECASE)
+BACK_END_PATTERN = re.compile(r'''(.*):(.*)''',re.IGNORECASE)
+DBUS_SERVICE='com.hplip.StatusService'
+
+##### METHODS #####
+
+# Returns already existing print queues for this printer.
+def get_already_added_queues(udev_MDL, udev_serial_no, udev_back_end,remove_non_hp_config):
+ status, output = utils.run('lpstat -v')
+
+ same_printer_queues = []
+ for p in output.splitlines():
+ try:
+ match = LPSTAT_PAT.search(p)
+ printer_name = match.group(1)
+ device_uri = match.group(2)
+ if device_uri.startswith("cups-pdf:/"):
+ continue
+ if not USB_PATTERN.search(device_uri):
+ continue
+
+ back_end = BACK_END_PATTERN.search(device_uri).group(1)
+ serial = USB_PATTERN.search(device_uri).group(1)
+ log.debug("udev_serial_no[%s] serial[%s] udev_back_end[%s] back_end[%s]"%(udev_serial_no, serial, udev_back_end, back_end))
+ if udev_serial_no == serial and (udev_back_end == back_end or back_end == 'usb'):
+ if remove_non_hp_config and printer_name.find('_') == -1 and printer_name.find('-') != -1:
+ log.debug("Removed %s Queue"%printer_name)
+ # remove queues using cups API
+ cups.delPrinter(printer_name)
+ else:
+ same_printer_queues.append(printer_name)
+
+ except AttributeError:
+ pass
+
+ log.debug(same_printer_queues)
+ return same_printer_queues
+
+def check_cups_process():
+ cups_running_sts = False
+ sts, output = utils.run('lpstat -r')
+ if sts == 0 and ('is running' in output):
+ cups_running_sts = True
+
+ return cups_running_sts
+
+
+def showPasswordUI(prompt):
+ import getpass
+ print ""
+ print log.bold(prompt)
+ username = raw_input("Username: ")
+ password = getpass.getpass("Password: ")
+
+ return (username, password)
+
+
+# Restart cups
+def restart_cups():
+ if os.path.exists('/etc/init.d/cups'):
+ return '/etc/init.d/cups restart'
+
+ elif os.path.exists('/etc/init.d/cupsys'):
+ return '/etc/init.d/cupsys restart'
+
+ else:
+ return 'killall -HUP cupsd'
+
+
+# Send dbus event to hpssd on dbus system bus
+def send_message(device_uri, printer_name, event_code, username, job_id, title, pipe_name=''):
+ log.debug("send_message() entered")
+ args = [device_uri, printer_name, event_code, username, job_id, title, pipe_name]
+ msg = lowlevel.SignalMessage('/', DBUS_SERVICE, 'Event')
+ msg.append(signature='ssisiss', *args)
+ SystemBus().send_message(msg)
+ log.debug("send_message() returning")
+
+
+# Usage function
+def usage(typ='text'):
+ utils.format_text(USAGE, typ, __title__, __mod__, __version__)
+ sys.exit(0)
+
+# Systray service. If hp-systray is not running, starts.
+def start_systray():
+ Systray_Is_Running=False
+ status,output = utils.Is_Process_Running('hp-systray')
+ if status is False:
+ log.debug("hp-systray is not running.")
+ if os.getuid() == 0:
+ log.error("Run \'hp-systray &\' in a terminal. ")
+ else:
+ log.debug("Starting hp-systray service")
+ child_pid = os.fork()
+ if child_pid == 0:
+ status,output =utils.run('hp-systray &', True, None, 1, False)
+ if status is not 0:
+ log.error("Failed to start \'hp-systray\' service. Manually run \'hp-sysray &\' from terminal as non-root user.")
+ sys.exit()
+ else:
+ time.sleep(1)
+ status,output = utils.Is_Process_Running('hp-systray')
+ if status is True:
+ Systray_Is_Running=True
+ else:
+ Systray_Is_Running=True
+ log.debug("hp-systray service is running\n")
+ return Systray_Is_Running
+
+
+USAGE = [ (__doc__, "", "name", True),
+ ("Usage: %s [OPTIONS] [SERIAL NO.|USB bus:device]" % __mod__, "", "summary", True),
+ utils.USAGE_OPTIONS,
+ utils.USAGE_LOGGING1, utils.USAGE_LOGGING2, utils.USAGE_LOGGING3,
+ utils.USAGE_HELP,
+ ("[SERIAL NO.|USB bus:device]", "", "heading", False),
+ ("USB bus:device :", """"xxx:yyy" where 'xxx' is the USB bus and 'yyy' is the USB device. (Note: The ':' and all leading zeros must be present.)""", 'option', False),
+ ("", "Use the 'lsusb' command to obtain this information.", "option", False),
+ ("SERIAL NO.:", '"serial no." (future use)', "option", True),
+ utils.USAGE_EXAMPLES,
+ ("USB, IDs specified:", "$%s 001:002"%(__mod__), "example", False),
+ ("USB, using serial number:", "$%s US12345678A"%(__mod__), "example", False),
+ utils.USAGE_SPACE,
+ utils.USAGE_NOTES,
+ ("1. Using 'lsusb' to obtain USB IDs: (example)", "", 'note', False),
+ (" $ lsusb", "", 'note', False),
+ (" Bus 003 Device 011: ID 03f0:c202 Hewlett-Packard", "", 'note', False),
+ (" $ %s 003:011"%(__mod__), "", 'note', False),
+ (" (Note: You may have to run 'lsusb' from /sbin or another location. Use '$ locate lsusb' to determine this.)", "", 'note', True),
+ ]
+
+
+
+mod = module.Module(__mod__, __title__, __version__, __doc__, USAGE, (INTERACTIVE_MODE, GUI_MODE), (UI_TOOLKIT_QT3, UI_TOOLKIT_QT4), run_as_root_ok=True, quiet=True)
+
+opts, device_uri, printer_name, mode, ui_toolkit, loc = \
+ mod.parseStdOpts('gh',['time-out=', 'timeout='],handle_device_printer=False)
+
+
+LOG_FILE = "/var/log/hp/hplip_config_usb_printer.log"
+if os.path.exists(LOG_FILE):
+ os.remove(LOG_FILE)
+
+log.set_logfile(LOG_FILE)
+log.set_where(log.LOG_TO_CONSOLE_AND_FILE)
+cmd="chmod 777 "+LOG_FILE
+sts,output = utils.run(cmd)
+if sts != 0:
+ log.warn("Failed to change log file permissions: %s" %output)
+
+cmd="chgrp lp "+LOG_FILE
+sts,output = utils.run(cmd)
+if sts != 0:
+ log.warn("Failed to change log file group permissions: %s" %output)
+
+try:
+ import dbus
+ from dbus import SystemBus, lowlevel
+except ImportError:
+ log.error("hp-check-plugin Tool requires dBus and python-dbus")
+ sys.exit(1)
+
+try:
+ param = mod.args[0]
+except IndexError:
+ param = ''
+
+log.debug("param=%s" % param)
+if len(param) < 1:
+ usage()
+ sys.exit()
+
+try:
+ # ******************************* MAKEURI
+ if param:
+ device_uri, sane_uri, fax_uri = device.makeURI(param)
+ if not device_uri:
+ log.error("This is not a valid device")
+ sys.exit(0)
+
+ # ******************************* QUERY MODEL AND COLLECT PPDS
+ log.debug("\nSetting up device: %s\n" % device_uri)
+ back_end, is_hp, bus, model, serial, dev_file, host, zc, port = device.parseDeviceURI(device_uri)
+
+ mq = device.queryModelByURI(device_uri)
+ if not mq or mq.get('support-type', SUPPORT_TYPE_NONE) == SUPPORT_TYPE_NONE:
+ log.error("Unsupported printer model.")
+ sys.exit(1)
+ while check_cups_process() is False:
+ log.debug("CUPS is not running.. waiting for 30 sec")
+ time.sleep(30)
+
+ time.sleep(1)
+ norm_model = models.normalizeModelName(model).lower()
+ remove_non_hp_config =True
+ if not mq.get('fax-type', FAX_TYPE_NONE) in (FAX_TYPE_NONE, FAX_TYPE_NOT_SUPPORTED):
+ fax_config_list = get_already_added_queues(norm_model, serial, 'hpfax',remove_non_hp_config)
+
+
+ printer_config_list = get_already_added_queues(norm_model, serial, back_end, remove_non_hp_config)
+ if len(printer_config_list) ==0 or len(printer_config_list) == 0:
+ cmd ="hp-setup -i -x -a -q %s"%param
+ log.debug("%s"%cmd)
+ os.system(cmd)
+
+ if start_systray():
+ printer_name = ""
+ username = ""
+ send_message( device_uri, printer_name, EVENT_ADD_PRINTQUEUE, username, 0,'')
+ send_message( device_uri, printer_name, EVENT_DIAGNOSE_PRINTQUEUE, username, 0,'')
+ else:
+ if start_systray():
+ printer_name = ""
+ username = ""
+ send_message( device_uri, printer_name, EVENT_DIAGNOSE_PRINTQUEUE, username, 0,'')
+
+ # Cleaning CUPS created Queues. If any,
+ i =0
+ while i <24:
+ time.sleep(5)
+ get_already_added_queues(norm_model, serial, 'hpfax',remove_non_hp_config)
+ get_already_added_queues(norm_model, serial, 'hp',remove_non_hp_config)
+ i += 1
+
+
+except KeyboardInterrupt:
+ log.error("User exit")
+
+log.debug("Done.")
diff --git a/configure b/configure
index 19fbe4b50..9d54ddecf 100755
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for HP Linux Imaging and Printing 3.12.2.
+# Generated by GNU Autoconf 2.63 for HP Linux Imaging and Printing 3.12.4.
#
-# Report bugs to <3.12.2>.
+# Report bugs to <3.12.4>.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -750,9 +750,9 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='HP Linux Imaging and Printing'
PACKAGE_TARNAME='hplip'
-PACKAGE_VERSION='3.12.2'
-PACKAGE_STRING='HP Linux Imaging and Printing 3.12.2'
-PACKAGE_BUGREPORT='3.12.2'
+PACKAGE_VERSION='3.12.4'
+PACKAGE_STRING='HP Linux Imaging and Printing 3.12.4'
+PACKAGE_BUGREPORT='3.12.4'
# Factoring default headers for most tests.
ac_includes_default="\
@@ -1636,7 +1636,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures HP Linux Imaging and Printing 3.12.2 to adapt to many kinds of systems.
+\`configure' configures HP Linux Imaging and Printing 3.12.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1706,7 +1706,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of HP Linux Imaging and Printing 3.12.2:";;
+ short | recursive ) echo "Configuration of HP Linux Imaging and Printing 3.12.4:";;
esac
cat <<\_ACEOF
@@ -1795,7 +1795,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <3.12.2>.
+Report bugs to <3.12.4>.
_ACEOF
ac_status=$?
fi
@@ -1858,7 +1858,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-HP Linux Imaging and Printing configure 3.12.2
+HP Linux Imaging and Printing configure 3.12.4
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1872,7 +1872,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by HP Linux Imaging and Printing $as_me 3.12.2, which was
+It was created by HP Linux Imaging and Printing $as_me 3.12.4, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2722,7 +2722,7 @@ fi
# Define the identity of the package.
PACKAGE='hplip'
- VERSION='3.12.2'
+ VERSION='3.12.4'
cat >>confdefs.h <<_ACEOF
@@ -6063,7 +6063,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -20681,7 +20681,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -20836,7 +20836,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -22566,7 +22566,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -22722,7 +22722,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -22881,7 +22881,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -23112,7 +23112,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -23340,7 +23340,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -23721,7 +23721,7 @@ $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## --------------------- ##
-## Report this to 3.12.2 ##
+## Report this to 3.12.4 ##
## --------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
@@ -24891,7 +24891,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by HP Linux Imaging and Printing $as_me 3.12.2, which was
+This file was extended by HP Linux Imaging and Printing $as_me 3.12.4, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -24945,7 +24945,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-HP Linux Imaging and Printing config.status 3.12.2
+HP Linux Imaging and Printing config.status 3.12.4
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.in b/configure.in
index d3e46cc4f..d00af872d 100755
--- a/configure.in
+++ b/configure.in
@@ -26,7 +26,7 @@
# 104 = no libdl
#AC_PREREQ(2.59)
-AC_INIT([HP Linux Imaging and Printing], [3.12.2], [3.12.2], [hplip])
+AC_INIT([HP Linux Imaging and Printing], [3.12.4], [3.12.4], [hplip])
#AM_INIT_AUTOMAKE([1.9 foreign])
AM_INIT_AUTOMAKE
AC_DISABLE_STATIC
diff --git a/copier/copier.py b/copier/copier.py
index 39ebfb685..83f6c09cd 100644
--- a/copier/copier.py
+++ b/copier/copier.py
@@ -60,12 +60,12 @@ class PMLCopyDevice(device.Device):
def copy(self, num_copies=1, contrast=0, reduction=100,
quality=pml.COPIER_QUALITY_NORMAL,
fit_to_page=pml.COPIER_FIT_TO_PAGE_ENABLED,
- scan_style=SCAN_STYLE_FLATBED,
+ scan_src=SCAN_SRC_FLATBED,
update_queue=None, event_queue=None):
if not self.isCopyActive():
self.copy_thread = PMLCopyThread(self, num_copies, contrast, reduction, quality,
- fit_to_page, scan_style, update_queue, event_queue)
+ fit_to_page, scan_src, update_queue, event_queue)
self.copy_thread.start()
return True
else:
@@ -87,7 +87,7 @@ class PMLCopyDevice(device.Device):
class PMLCopyThread(threading.Thread):
def __init__(self, dev, num_copies, contrast, reduction, quality,
- fit_to_page, scan_style,
+ fit_to_page, scan_src,
update_queue=None, event_queue=None):
threading.Thread.__init__(self)
@@ -97,7 +97,7 @@ class PMLCopyThread(threading.Thread):
self.reduction = reduction
self.quality = quality
self.fit_to_page = fit_to_page
- self.scan_style = scan_style
+ self.scan_src = scan_src
self.event_queue = event_queue
self.update_queue = update_queue
self.prev_update = ''
@@ -223,7 +223,7 @@ class PMLCopyThread(threading.Thread):
self.dev.setPML(pml.OID_COPIER_JOB_QUALITY, self.quality)
# fit_to_page
- if self.scan_style == SCAN_STYLE_FLATBED:
+ if self.scan_src == SCAN_SRC_FLATBED:
self.dev.setPML(pml.OID_COPIER_JOB_FIT_TO_PAGE, self.fit_to_page)
else: # AiO
diff --git a/cups_drv.inc b/cups_drv.inc
index d6183b86d..e2e0de271 100644
--- a/cups_drv.inc
+++ b/cups_drv.inc
@@ -359,13 +359,10 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz \
ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1021.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1022.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1023.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
+ ppd/hpcups/hp-laserjet_cp_1025.ppd.gz \
ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1027nw.ppd.gz \
- ppd/hpcups/hp-laserjet_cp1028nw.ppd.gz \
ppd/hpcups/hp-laserjet_m1005.ppd.gz \
ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz \
@@ -436,7 +433,6 @@ cups_ppd_printers = \
ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz \
- ppd/hpcups/hp-laserjet_professional_p1102s.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \
ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz \
@@ -466,6 +462,7 @@ cups_ppd_printers = \
ppd/hpcups/hp-officejet_5600_series.ppd.gz \
ppd/hpcups/hp-officejet_6000_e609a.ppd.gz \
ppd/hpcups/hp-officejet_6000_e609n.ppd.gz \
+ ppd/hpcups/hp-officejet_6100.ppd.gz \
ppd/hpcups/hp-officejet_6100_series.ppd.gz \
ppd/hpcups/hp-officejet_6150_series.ppd.gz \
ppd/hpcups/hp-officejet_6200_series.ppd.gz \
@@ -474,6 +471,8 @@ cups_ppd_printers = \
ppd/hpcups/hp-officejet_6500_e709n.ppd.gz \
ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz \
ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz \
+ ppd/hpcups/hp-officejet_6600.ppd.gz \
+ ppd/hpcups/hp-officejet_6700.ppd.gz \
ppd/hpcups/hp-officejet_7000_e809a.ppd.gz \
ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz \
ppd/hpcups/hp-officejet_7100_series.ppd.gz \
@@ -535,7 +534,6 @@ cups_ppd_printers = \
ppd/hpcups/hp-officejet_series_320.ppd.gz \
ppd/hpcups/hp-officejet_series_330.ppd.gz \
ppd/hpcups/hp-officejet_series_350.ppd.gz \
- ppd/hpcups/hp-officejet_series_500.ppd.gz \
ppd/hpcups/hp-officejet_series_520.ppd.gz \
ppd/hpcups/hp-officejet_series_570.ppd.gz \
ppd/hpcups/hp-officejet_series_580.ppd.gz \
diff --git a/data/models/models.dat b/data/models/models.dat
index 830729543..3e03f2949 100644
--- a/data/models/models.dat
+++ b/data/models/models.dat
@@ -20,7 +20,7 @@
# This file automatically generated by the HPLIP model editor (model_editor.py).
# Please do NOT hand edit this file.
#
-# Last written on Wed, 01 Feb 2012 16:39:47 by goutam.
+# Last written on Tue, 10 Apr 2012 12:15:36 by sanjay.
# Model editor version 10.2 (Qt4).
@@ -47,7 +47,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -87,7 +87,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -127,7 +127,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -166,7 +166,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -211,7 +211,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -253,7 +253,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -294,7 +294,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -333,7 +333,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -375,7 +375,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=26(51626A)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -437,7 +437,7 @@ r0-agent5-type=5
r0-agent6-kind=1
r0-agent6-sku=14 (C4923A)
r0-agent6-type=6
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -479,7 +479,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=26(51626A)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -527,7 +527,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D or C1823T)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -566,7 +566,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -608,7 +608,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=92274A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -650,7 +650,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=92298A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -693,7 +693,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=92298A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -738,7 +738,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=92274A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -780,7 +780,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=92291A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -823,7 +823,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=92291A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -868,7 +868,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3909A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -912,7 +912,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3906A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -955,7 +955,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3909A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -997,7 +997,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3903A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1051,7 +1051,7 @@ r0-agent4-type=6
r0-agent5-kind=5
r0-agent5-sku=67
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1105,7 +1105,7 @@ r0-agent4-type=6
r0-agent5-kind=5
r0-agent5-sku=67
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1147,7 +1147,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3903A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1193,7 +1193,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3906A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1235,7 +1235,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3903A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1279,7 +1279,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3903A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1378,7 +1378,7 @@ r8-agent3-type=5
r8-agent4-kind=2
r8-agent4-sku=862/862XL
r8-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -1417,7 +1417,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1456,7 +1456,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1501,7 +1501,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1542,7 +1542,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1587,7 +1587,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1632,7 +1632,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1678,7 +1678,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1723,7 +1723,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1768,7 +1768,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1813,7 +1813,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1852,7 +1852,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -1897,7 +1897,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1942,7 +1942,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -1987,7 +1987,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN/C6578DN)
r0-agent2-type=2
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2032,7 +2032,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN/C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2077,7 +2077,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D or C1823T)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2122,7 +2122,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2161,7 +2161,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -2206,7 +2206,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN/C6578DN)
r0-agent2-type=2
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2251,7 +2251,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN/C6578DN)
r0-agent2-type=2
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2296,7 +2296,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2341,7 +2341,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2386,7 +2386,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2431,7 +2431,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2472,7 +2472,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -2517,7 +2517,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN/C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -2568,7 +2568,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -2670,7 +2670,7 @@ r8-agent3-type=3
r8-agent4-kind=3
r8-agent4-sku=100
r8-agent4-type=19
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=2
status-dynamic-counters=1
@@ -2710,7 +2710,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -2785,7 +2785,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=0
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=1
@@ -2836,7 +2836,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -2887,7 +2887,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -2938,7 +2938,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -2989,7 +2989,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -3040,7 +3040,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -3091,7 +3091,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -3142,7 +3142,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -3184,7 +3184,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=57 (C6657AN)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -3286,7 +3286,7 @@ r8-agent3-type=5
r8-agent4-kind=2
r8-agent4-sku=862/862XL
r8-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -3356,7 +3356,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=703
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=3
@@ -3457,7 +3457,7 @@ r8-agent3-type=5
r8-agent4-kind=2
r8-agent4-sku=862/862XL
r8-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -3559,7 +3559,7 @@ r8-agent3-type=5
r8-agent4-kind=2
r8-agent4-sku=862/862XL
r8-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -3601,7 +3601,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -3676,7 +3676,7 @@ r8-agent1-type=1
r8-agent2-kind=2
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=1
@@ -3751,7 +3751,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -3850,7 +3850,7 @@ r8-agent3-type=5
r8-agent4-kind=2
r8-agent4-sku=862/862XL
r8-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -3890,7 +3890,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -3934,7 +3934,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=57 (C6657AN)
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -3976,7 +3976,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4025,7 +4025,7 @@ r0-agent1-type=2
r0-agent2-kind=3
r0-agent2-sku=59 (C9359A)
r0-agent2-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4076,7 +4076,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE322A
r0-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -4127,7 +4127,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE322A
r0-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -4178,7 +4178,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE322A
r0-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -4218,7 +4218,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4269,7 +4269,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE322A
r0-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -4309,7 +4309,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4410,7 +4410,7 @@ r8-agent3-type=5
r8-agent4-kind=2
r8-agent4-sku=862/862XL
r8-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -4485,7 +4485,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=703
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -4584,7 +4584,7 @@ r8-agent3-type=5
r8-agent4-kind=2
r8-agent4-sku=862/862XL
r8-agent4-type=6
-scan-style=0
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=2
@@ -4623,7 +4623,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4662,7 +4662,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4701,7 +4701,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4745,7 +4745,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=57 (C6657AN)
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4787,7 +4787,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=43 (C8543X)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4835,7 +4835,7 @@ r0-agent1-type=2
r0-agent2-kind=3
r0-agent2-sku=59 (C9359A)
r0-agent2-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4875,7 +4875,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4914,7 +4914,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -4953,7 +4953,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -5032,7 +5032,7 @@ r7-agent2-type=2
r7-agent3-kind=3
r7-agent3-sku=58
r7-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=3
@@ -5084,7 +5084,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE412A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -5126,7 +5126,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=26 (51626A)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -5178,7 +5178,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE412A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -5226,7 +5226,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -5340,7 +5340,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=862/862XL
r8-agent5-type=19
-scan-style=1
+scan-src=1
scan-type=6
status-battery-check=0
status-dynamic-counters=2
@@ -5467,7 +5467,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=178/178XL
r8-agent5-type=19
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -5594,7 +5594,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=178/178XL
r8-agent5-type=19
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -5639,7 +5639,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -5681,7 +5681,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=26 (51626A)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -5795,7 +5795,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=862/862XL
r8-agent5-type=19
-scan-style=0
+scan-src=1
scan-type=10
status-battery-check=0
status-dynamic-counters=2
@@ -5837,7 +5837,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=26 (51626A)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -5879,7 +5879,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=43 (C8543X)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -5919,7 +5919,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6007,7 +6007,7 @@ r7-agent1-type=2
r7-agent2-kind=3
r7-agent2-sku=100 (C9368AN)
r7-agent2-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -6050,7 +6050,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6139,7 +6139,7 @@ r7-agent1-type=2
r7-agent2-kind=3
r7-agent2-sku=100 (C9368AN)
r7-agent2-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -6178,7 +6178,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6220,7 +6220,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=26 (51626A)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6262,7 +6262,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6301,7 +6301,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6343,7 +6343,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=26 (51626A)
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6395,7 +6395,7 @@ r0-agent3-type=3
r0-agent4-kind=9
r0-agent4-sku=C8222A/C8263A
r0-agent4-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=1
status-dynamic-counters=0
@@ -6434,7 +6434,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6523,7 +6523,7 @@ r7-agent1-type=2
r7-agent2-kind=3
r7-agent2-sku=100 (C9368AN)
r7-agent2-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -6609,7 +6609,7 @@ r7-agent1-type=2
r7-agent2-kind=3
r7-agent2-sku=100 (C9368AN)
r7-agent2-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -6655,7 +6655,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6707,7 +6707,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE412A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6759,7 +6759,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE412A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -6811,7 +6811,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE412A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6856,7 +6856,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6908,7 +6908,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE412A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -6960,7 +6960,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE412A
r0-agent4-type=6
-scan-style=3
+scan-src=3
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -7074,7 +7074,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=862/862XL
r8-agent5-type=19
-scan-style=0
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -7166,7 +7166,7 @@ r7-agent1-type=2
r7-agent2-kind=3
r7-agent2-sku=100 (C9368AN)
r7-agent2-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -7212,7 +7212,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -7252,7 +7252,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -7296,7 +7296,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -7336,7 +7336,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -7389,7 +7389,7 @@ r0-agent3-type=3
r0-agent4-kind=9
r0-agent4-sku=C8222A/C8263A
r0-agent4-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=1
status-dynamic-counters=1
@@ -7429,7 +7429,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -7486,7 +7486,7 @@ r0-agent4-type=62
r0-agent5-kind=3
r0-agent5-sku=100
r0-agent5-type=19
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=1
status-dynamic-counters=1
@@ -7573,7 +7573,7 @@ r7-agent1-type=2
r7-agent2-kind=3
r7-agent2-sku=100 (C9368AN)
r7-agent2-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -7690,7 +7690,7 @@ r8-agent4-type=19
r8-agent5-kind=9
r8-agent5-sku=
r8-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=2
status-dynamic-counters=1
@@ -7729,7 +7729,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -7745,51 +7745,6 @@ usb-pid=0
usb-vid=3f0
wifi-config=0
-[officejet_series_500]
-align-type=0
-clean-type=0
-color-cal-type=0
-copy-type=0
-embedded-server-type=0
-fax-type=2
-fw-download=False
-icon=officejet_500.png
-io-mfp-mode=7
-io-mode=1
-io-support=1
-job-storage=0
-linefeed-cal-type=0
-model1=HP Officejet 500 All-in-One Printer
-monitor-type=0
-panel-check-type=0
-pcard-type=0
-plugin=0
-plugin-reason=0
-power-settings=0
-pq-diag-type=0
-r-type=0
-r0-agent1-kind=3
-r0-agent1-sku=29 (51629A)
-r0-agent1-type=1
-r0-agent2-kind=3
-r0-agent2-sku=49 (51649A)
-r0-agent2-type=2
-scan-style=2
-scan-type=1
-status-battery-check=0
-status-dynamic-counters=0
-status-type=0
-support-released=True
-support-subtype=324a
-support-type=2
-support-ver=0.9.5
-tech-class=DJ6xx
-tech-subclass=Normal
-tech-type=2
-usb-pid=0
-usb-vid=3f0
-wifi-config=0
-
[deskjet_500c]
align-type=0
clean-type=0
@@ -7819,7 +7774,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -7861,7 +7816,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -7907,7 +7862,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D or C1823T)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -7955,7 +7910,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8006,7 +7961,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE402A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8050,7 +8005,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8095,7 +8050,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8140,7 +8095,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8182,7 +8137,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8226,7 +8181,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8301,7 +8256,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -8415,7 +8370,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=862/862XL
r8-agent5-type=19
-scan-style=0
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -8460,7 +8415,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8506,7 +8461,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8551,7 +8506,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -8595,7 +8550,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8640,7 +8595,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8679,7 +8634,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8739,7 +8694,7 @@ r0-agent5-type=4
r0-agent6-kind=2
r0-agent6-sku=HP 88 (C9387/C9392)
r0-agent6-type=5
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -8784,7 +8739,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -8829,7 +8784,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -8874,7 +8829,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -8919,7 +8874,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -8958,7 +8913,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9005,7 +8960,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9049,7 +9004,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE390A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9094,7 +9049,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE390A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9139,7 +9094,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE390A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9185,7 +9140,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9230,7 +9185,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9275,7 +9230,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -9320,7 +9275,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9360,7 +9315,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9405,7 +9360,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9451,7 +9406,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9490,7 +9445,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9533,7 +9488,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9579,7 +9534,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -9624,7 +9579,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9669,7 +9624,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9721,7 +9676,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9763,7 +9718,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9811,7 +9766,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9854,7 +9809,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9903,7 +9858,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9950,7 +9905,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -9996,7 +9951,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10041,7 +9996,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10086,7 +10041,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10131,7 +10086,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10176,7 +10131,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10221,7 +10176,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=49 (51649A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10270,7 +10225,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10319,7 +10274,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10368,7 +10323,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10416,7 +10371,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10464,7 +10419,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10513,7 +10468,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10561,7 +10516,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10609,7 +10564,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -10649,7 +10604,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10697,7 +10652,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -10736,7 +10691,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10780,7 +10735,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10819,7 +10774,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10858,7 +10813,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -10906,7 +10861,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -10951,7 +10906,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -10990,7 +10945,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11038,7 +10993,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=16 (C1816A)
r0-agent3-type=3
-scan-style=2
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -11107,7 +11062,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=703
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -11177,7 +11132,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=703
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -11219,7 +11174,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11264,7 +11219,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -11309,7 +11264,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -11354,7 +11309,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -11393,7 +11348,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11432,7 +11387,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11477,7 +11432,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -11522,7 +11477,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -11561,7 +11516,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -11601,7 +11556,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11640,7 +11595,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11682,7 +11637,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11727,7 +11682,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11772,7 +11727,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11811,7 +11766,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11856,7 +11811,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11901,7 +11856,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11940,7 +11895,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -11981,7 +11936,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12025,7 +11980,7 @@ r-type=0
r0-agent1-kind=3
r0-agent1-sku=110
r0-agent1-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12071,7 +12026,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12116,7 +12071,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12161,7 +12116,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12206,7 +12161,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12251,7 +12206,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12296,7 +12251,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12342,7 +12297,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12388,7 +12343,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12434,7 +12389,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12498,7 +12453,7 @@ r0-agent7-type=6
r0-agent8-kind=2
r0-agent8-sku=11 (C4837AN)
r0-agent8-type=5
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12545,7 +12500,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12593,7 +12548,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=17 (C6625AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12638,7 +12593,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12683,7 +12638,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12729,7 +12684,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12776,7 +12731,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -12821,7 +12776,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -12893,7 +12848,7 @@ r816-agent1-type=1
r816-agent2-kind=3
r816-agent2-sku=
r816-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13010,7 +12965,7 @@ r816-agent1-type=1
r816-agent2-kind=3
r816-agent2-sku=
r816-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -13055,7 +13010,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13103,7 +13058,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13148,7 +13103,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -13194,7 +13149,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13239,7 +13194,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13284,7 +13239,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13329,7 +13284,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13374,7 +13329,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13422,7 +13377,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13467,7 +13422,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13512,7 +13467,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13557,7 +13512,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -13602,7 +13557,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -13647,7 +13602,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -13692,7 +13647,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13738,7 +13693,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13783,7 +13738,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13828,7 +13783,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13875,7 +13830,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13922,7 +13877,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -13969,7 +13924,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14015,7 +13970,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14063,7 +14018,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14109,7 +14064,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14155,7 +14110,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14218,7 +14173,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14265,7 +14220,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=57 (C6657AN)/28 (C8728AN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -14304,7 +14259,7 @@ plugin-reason=1
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14379,7 +14334,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -14419,7 +14374,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14482,7 +14437,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14521,7 +14476,7 @@ plugin-reason=1
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14563,7 +14518,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=35A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14605,7 +14560,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=4
status-battery-check=0
status-dynamic-counters=0
@@ -14647,7 +14602,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=35A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14689,7 +14644,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=35A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14731,7 +14686,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=35A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14773,7 +14728,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=35A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14815,7 +14770,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14857,7 +14812,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14899,7 +14854,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -14950,7 +14905,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=Q6003A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=3
status-battery-check=0
status-dynamic-counters=0
@@ -15001,7 +14956,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=Q6003A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=3
status-battery-check=0
status-dynamic-counters=0
@@ -15044,7 +14999,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15087,7 +15042,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15103,108 +15058,6 @@ usb-pid=2b17
usb-vid=3f0
wifi-config=0
-[hp_laserjet_cp1021]
-align-type=0
-clean-type=0
-color-cal-type=0
-copy-type=0
-embedded-server-type=1
-fax-type=0
-fw-download=False
-icon=hp_color_laserjet_cp2025.png
-io-mfp-mode=3
-io-mode=1
-io-support=6
-job-storage=0
-linefeed-cal-type=0
-model1=HP LaserJet CP1021
-monitor-type=0
-panel-check-type=0
-pcard-type=0
-plugin=1
-plugin-reason=1
-power-settings=0
-pq-diag-type=0
-r-type=0
-r0-agent1-kind=4
-r0-agent1-sku=CE310A
-r0-agent1-type=1
-r0-agent2-kind=4
-r0-agent2-sku=CE311A
-r0-agent2-type=4
-r0-agent3-kind=4
-r0-agent3-sku=CE313A
-r0-agent3-type=5
-r0-agent4-kind=4
-r0-agent4-sku=CE312A
-r0-agent4-type=6
-scan-style=0
-scan-type=0
-status-battery-check=0
-status-dynamic-counters=0
-status-type=10
-support-released=True
-support-subtype=219b2b
-support-type=2
-support-ver=3.11.1
-tech-class=LJZjsColor
-tech-subclass=Advanced
-tech-type=4
-usb-pid=112a
-usb-vid=3f0
-wifi-config=0
-
-[hp_laserjet_cp1022]
-align-type=0
-clean-type=0
-color-cal-type=0
-copy-type=0
-embedded-server-type=1
-fax-type=0
-fw-download=False
-icon=hp_color_laserjet_cp2025.png
-io-mfp-mode=3
-io-mode=1
-io-support=6
-job-storage=0
-linefeed-cal-type=0
-model1=HP LaserJet CP1022
-monitor-type=0
-panel-check-type=0
-pcard-type=0
-plugin=1
-plugin-reason=1
-power-settings=0
-pq-diag-type=0
-r-type=0
-r0-agent1-kind=4
-r0-agent1-sku=CE310A
-r0-agent1-type=1
-r0-agent2-kind=4
-r0-agent2-sku=CE311A
-r0-agent2-type=4
-r0-agent3-kind=4
-r0-agent3-sku=CE313A
-r0-agent3-type=5
-r0-agent4-kind=4
-r0-agent4-sku=CE312A
-r0-agent4-type=6
-scan-style=0
-scan-type=0
-status-battery-check=0
-status-dynamic-counters=0
-status-type=10
-support-released=True
-support-subtype=219b2b
-support-type=2
-support-ver=3.11.1
-tech-class=LJZjsColor
-tech-subclass=Advanced
-tech-type=4
-usb-pid=112a
-usb-vid=3f0
-wifi-config=0
-
[hp_laserjet_1022nw]
align-type=0
clean-type=0
@@ -15231,7 +15084,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15274,7 +15127,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15316,7 +15169,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15332,57 +15185,6 @@ usb-pid=2c17
usb-vid=3f0
wifi-config=0
-[hp_laserjet_cp1023]
-align-type=0
-clean-type=0
-color-cal-type=0
-copy-type=0
-embedded-server-type=1
-fax-type=0
-fw-download=False
-icon=hp_color_laserjet_cp2025.png
-io-mfp-mode=3
-io-mode=1
-io-support=6
-job-storage=0
-linefeed-cal-type=0
-model1=HP LaserJet CP1023
-monitor-type=0
-panel-check-type=0
-pcard-type=0
-plugin=1
-plugin-reason=1
-power-settings=0
-pq-diag-type=0
-r-type=0
-r0-agent1-kind=4
-r0-agent1-sku=CE310A
-r0-agent1-type=1
-r0-agent2-kind=4
-r0-agent2-sku=CE311A
-r0-agent2-type=4
-r0-agent3-kind=4
-r0-agent3-sku=CE313A
-r0-agent3-type=5
-r0-agent4-kind=4
-r0-agent4-sku=CE312A
-r0-agent4-type=6
-scan-style=0
-scan-type=0
-status-battery-check=0
-status-dynamic-counters=0
-status-type=10
-support-released=True
-support-subtype=219b2b
-support-type=2
-support-ver=3.11.1
-tech-class=LJZjsColor
-tech-subclass=Advanced
-tech-type=4
-usb-pid=112a
-usb-vid=3f0
-wifi-config=0
-
[hp_laserjet_cp1025nw]
align-type=0
clean-type=0
@@ -15394,10 +15196,10 @@ fw-download=False
icon=hp_color_laserjet_cp2025.png
io-mfp-mode=3
io-mode=1
-io-support=6
+io-support=14
job-storage=0
linefeed-cal-type=0
-model1=HP LaserJet CP1025nw
+model1=HP LaserJet Pro CP1025nw Color Printer Series
monitor-type=0
panel-check-type=0
pcard-type=0
@@ -15418,7 +15220,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15432,7 +15234,7 @@ tech-subclass=Advanced
tech-type=4
usb-pid=b2a
usb-vid=3f0
-wifi-config=0
+wifi-config=3
[hp_laserjet_cp1025]
align-type=0
@@ -15445,10 +15247,10 @@ fw-download=False
icon=hp_color_laserjet_cp2025.png
io-mfp-mode=3
io-mode=1
-io-support=6
+io-support=2
job-storage=0
linefeed-cal-type=0
-model1=HP LaserJet CP1025
+model1=HP LaserJet Pro CP1025 Color Printer Series
monitor-type=0
panel-check-type=0
pcard-type=0
@@ -15469,7 +15271,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15485,7 +15287,7 @@ usb-pid=b2a
usb-vid=3f0
wifi-config=0
-[hp_laserjet_cp1027nw]
+[hp_laserjet_cp_1025nw]
align-type=0
clean-type=0
color-cal-type=0
@@ -15496,10 +15298,10 @@ fw-download=False
icon=hp_color_laserjet_cp2025.png
io-mfp-mode=3
io-mode=1
-io-support=6
+io-support=14
job-storage=0
linefeed-cal-type=0
-model1=HP LaserJet CP1027nw
+model1=HP LaserJet Pro CP 1025nw Color Printer Series
monitor-type=0
panel-check-type=0
pcard-type=0
@@ -15520,23 +15322,23 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
-status-type=10
+status-type=8
support-released=True
support-subtype=219b2b
support-type=2
-support-ver=3.11.1
+support-ver=3.12.4
tech-class=LJZjsColor
tech-subclass=Advanced
tech-type=4
usb-pid=112a
usb-vid=3f0
-wifi-config=0
+wifi-config=3
-[hp_laserjet_cp1028nw]
+[hp_laserjet_cp_1025]
align-type=0
clean-type=0
color-cal-type=0
@@ -15547,10 +15349,10 @@ fw-download=False
icon=hp_color_laserjet_cp2025.png
io-mfp-mode=3
io-mode=1
-io-support=6
+io-support=2
job-storage=0
linefeed-cal-type=0
-model1=HP LaserJet CP1028nw
+model1=HP LaserJet Pro CP 1025 Color Printer Series
monitor-type=0
panel-check-type=0
pcard-type=0
@@ -15571,7 +15373,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE312A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15579,7 +15381,7 @@ status-type=10
support-released=True
support-subtype=219b2b
support-type=2
-support-ver=3.11.1
+support-ver=3.12.4
tech-class=LJZjsColor
tech-subclass=Advanced
tech-type=4
@@ -15646,7 +15448,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=1
@@ -15686,7 +15488,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15726,7 +15528,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15769,7 +15571,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4092A
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -15808,7 +15610,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15854,7 +15656,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15893,7 +15695,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -15938,7 +15740,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16003,7 +15805,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16047,7 +15849,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4092A
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -16089,7 +15891,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4092A
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -16132,7 +15934,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16179,7 +15981,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=57 (C6657AN)/28 (C8728AN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -16195,48 +15997,6 @@ usb-pid=3011
usb-vid=3f0
wifi-config=0
-[hp_laserjet_professional_p1102s]
-align-type=0
-clean-type=0
-color-cal-type=0
-copy-type=0
-embedded-server-type=0
-fax-type=0
-fw-download=False
-icon=HP_LaserJet_1012.png
-io-mfp-mode=6
-io-mode=1
-io-support=2
-job-storage=0
-linefeed-cal-type=0
-model1=HP Laserjet Professional P1102s Printer
-monitor-type=0
-panel-check-type=0
-pcard-type=0
-plugin=1
-plugin-reason=1
-power-settings=0
-pq-diag-type=0
-r-type=0
-r0-agent1-kind=4
-r0-agent1-sku=35A
-r0-agent1-type=1
-scan-style=0
-scan-type=0
-status-battery-check=0
-status-dynamic-counters=0
-status-type=8
-support-released=True
-support-subtype=219b2b
-support-type=2
-support-ver=3.12.2
-tech-class=LJZjsMono
-tech-subclass=NoAutoDuplex
-tech-type=3
-usb-pid=2a
-usb-vid=3f0
-wifi-config=0
-
[hp_laserjet_professional_p1102w]
align-type=0
clean-type=0
@@ -16244,7 +16004,7 @@ color-cal-type=0
copy-type=0
embedded-server-type=0
fax-type=0
-fw-download=True
+fw-download=False
icon=HP_LaserJet_1012.png
io-mfp-mode=6
io-mode=1
@@ -16261,9 +16021,9 @@ power-settings=0
pq-diag-type=0
r-type=0
r0-agent1-kind=4
-r0-agent1-sku=35A
+r0-agent1-sku=85A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16277,7 +16037,7 @@ tech-subclass=NoAutoDuplex
tech-type=3
usb-pid=32a
usb-vid=3f0
-wifi-config=0
+wifi-config=3
[hp_laserjet_professional_p1102]
align-type=0
@@ -16286,7 +16046,7 @@ color-cal-type=0
copy-type=0
embedded-server-type=0
fax-type=0
-fw-download=True
+fw-download=False
icon=HP_LaserJet_1012.png
io-mfp-mode=6
io-mode=1
@@ -16294,6 +16054,7 @@ io-support=2
job-storage=0
linefeed-cal-type=0
model1=HP Laserjet Professional P1102 Printer
+model2=HP Laserjet Professional P1102s Printer
monitor-type=0
panel-check-type=0
pcard-type=0
@@ -16303,9 +16064,9 @@ power-settings=0
pq-diag-type=0
r-type=0
r0-agent1-kind=4
-r0-agent1-sku=35A
+r0-agent1-sku=85A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16328,7 +16089,7 @@ color-cal-type=0
copy-type=0
embedded-server-type=0
fax-type=0
-fw-download=True
+fw-download=False
icon=HP_LaserJet_1012.png
io-mfp-mode=6
io-mode=1
@@ -16345,9 +16106,9 @@ power-settings=0
pq-diag-type=0
r-type=0
r0-agent1-kind=4
-r0-agent1-sku=35A
+r0-agent1-sku=85A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16359,9 +16120,9 @@ support-ver=3.10.4
tech-class=LJZjsMono
tech-subclass=NoAutoDuplex
tech-type=3
-usb-pid=32a
+usb-pid=102a
usb-vid=3f0
-wifi-config=0
+wifi-config=3
[hp_laserjet_professional_p1106]
align-type=0
@@ -16387,9 +16148,9 @@ power-settings=0
pq-diag-type=0
r-type=0
r0-agent1-kind=4
-r0-agent1-sku=35A
+r0-agent1-sku=85A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16429,9 +16190,9 @@ power-settings=0
pq-diag-type=0
r-type=0
r0-agent1-kind=4
-r0-agent1-sku=88A
+r0-agent1-sku=85A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16476,7 +16237,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16523,7 +16284,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16562,7 +16323,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16601,7 +16362,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16643,7 +16404,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=4
status-battery-check=0
status-dynamic-counters=0
@@ -16685,7 +16446,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=4
status-battery-check=0
status-dynamic-counters=0
@@ -16729,7 +16490,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16774,7 +16535,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16805,6 +16566,7 @@ io-support=2
job-storage=0
linefeed-cal-type=0
model1=HP LaserJet Professional M1132 Multifunction Printer
+model2=HP LaserJet Professional M1132s Multifunction Printer
monitor-type=0
panel-check-type=0
pcard-type=0
@@ -16817,7 +16579,6 @@ r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
scan-src=2
-scan-style=1
scan-type=8
status-battery-check=0
status-dynamic-counters=0
@@ -16860,7 +16621,6 @@ r0-agent1-kind=4
r0-agent1-sku=CE285A
r0-agent1-type=1
scan-src=2
-scan-style=1
scan-type=8
status-battery-check=0
status-dynamic-counters=0
@@ -16902,7 +16662,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2624A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -16948,7 +16708,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=41 (51641A)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -17006,7 +16766,7 @@ r0-agent5-type=5
r0-agent6-kind=1
r0-agent6-sku=14 (C4923A)
r0-agent6-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17049,7 +16809,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17091,7 +16851,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17141,7 +16901,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=23 (C1823D or C1823T)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -17184,7 +16944,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17251,7 +17011,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17290,7 +17050,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17332,7 +17092,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17388,7 +17148,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=57 (C6657AN)/28 (C8728AN)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -17439,7 +17199,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=40
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17482,7 +17242,6 @@ r0-agent1-kind=4
r0-agent1-sku=CE285A
r0-agent1-type=1
scan-src=3
-scan-style=1
scan-type=8
status-battery-check=0
status-dynamic-counters=0
@@ -17525,7 +17284,6 @@ r0-agent1-kind=4
r0-agent1-sku=CE285A
r0-agent1-type=1
scan-src=3
-scan-style=1
scan-type=8
status-battery-check=0
status-dynamic-counters=0
@@ -17568,7 +17326,6 @@ r0-agent1-kind=4
r0-agent1-sku=CE285A
r0-agent1-type=1
scan-src=3
-scan-style=1
scan-type=8
status-battery-check=0
status-dynamic-counters=0
@@ -17619,7 +17376,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB542A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17665,7 +17422,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17708,7 +17465,6 @@ r0-agent1-kind=4
r0-agent1-sku=CE285A
r0-agent1-type=1
scan-src=3
-scan-style=1
scan-type=8
status-battery-check=0
status-dynamic-counters=0
@@ -17759,7 +17515,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB542A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17802,7 +17558,6 @@ r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
scan-src=3
-scan-style=1
scan-type=8
status-battery-check=0
status-dynamic-counters=0
@@ -17848,7 +17603,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -17891,7 +17646,6 @@ r0-agent1-kind=4
r0-agent1-sku=CE285A
r0-agent1-type=1
scan-src=3
-scan-style=1
scan-type=8
status-battery-check=0
status-dynamic-counters=0
@@ -17933,7 +17687,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -17975,7 +17729,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -18023,7 +17777,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18152,7 +17906,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -18191,7 +17945,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18234,7 +17988,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2613A/Q2613X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18308,7 +18062,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=22
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18362,7 +18116,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658AN)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -18404,7 +18158,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2613A/Q2613X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18446,7 +18200,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2613A/Q2613X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18502,7 +18256,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658AN)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -18553,7 +18307,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CB543A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -18604,7 +18358,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CB543A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -18649,7 +18403,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18691,7 +18445,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=4
status-battery-check=0
status-dynamic-counters=0
@@ -18733,7 +18487,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18775,7 +18529,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18817,7 +18571,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18860,7 +18614,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18902,7 +18656,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -18955,7 +18709,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658AN)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -19067,7 +18821,7 @@ r816-agent1-type=1
r816-agent2-kind=3
r816-agent2-sku=
r816-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -19121,7 +18875,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=22 (C9352A)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -19173,7 +18927,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -19225,7 +18979,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -19277,7 +19031,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -19329,7 +19083,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -19381,7 +19135,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -19433,7 +19187,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -19485,7 +19239,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -19537,7 +19291,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -19578,7 +19332,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -19689,7 +19443,7 @@ r816-agent1-type=1
r816-agent2-kind=3
r816-agent2-sku=
r816-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -19803,7 +19557,7 @@ r7-agent2-type=2
r7-agent3-kind=3
r7-agent3-sku=858 (C9369ZN)
r7-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -19845,7 +19599,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=36A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -19887,7 +19641,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=36A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20005,7 +19759,7 @@ r7-agent2-type=2
r7-agent3-kind=3
r7-agent3-sku=858 (C9369ZN)
r7-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -20056,7 +19810,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB543A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20107,7 +19861,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB543A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20158,7 +19912,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB543A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20210,7 +19964,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20232,7 +19986,7 @@ clean-type=0
color-cal-type=0
copy-type=0
embedded-server-type=1
-fax-type=0
+fax-type=4
fw-download=False
icon=HP_LaserJet_m1522.png
io-mfp-mode=1
@@ -20252,7 +20006,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7573
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -20304,7 +20058,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20346,7 +20100,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7573
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -20388,7 +20142,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7573
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -20440,7 +20194,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20492,7 +20246,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20544,7 +20298,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20596,7 +20350,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20648,7 +20402,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20700,7 +20454,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CE323A
r0-agent4-type=5
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20743,7 +20497,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE278A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=2
status-dynamic-counters=0
@@ -20786,7 +20540,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE278A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=2
status-dynamic-counters=0
@@ -20829,7 +20583,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE278A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=2
status-dynamic-counters=0
@@ -20872,7 +20626,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE278A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=2
status-dynamic-counters=0
@@ -20914,7 +20668,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=36A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -20965,7 +20719,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=40
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21041,7 +20795,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=3
@@ -21160,7 +20914,7 @@ r7-agent2-type=2
r7-agent3-kind=3
r7-agent3-sku=858 (C9369ZN)
r7-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -21211,7 +20965,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=40
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21262,7 +21016,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=40
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21301,7 +21055,7 @@ plugin-reason=1
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21343,7 +21097,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=36A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21408,7 +21162,7 @@ r0-agent7-type=5
r0-agent8-kind=1
r0-agent8-sku=11 (4813A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21471,7 +21225,7 @@ r0-agent7-type=5
r0-agent8-kind=1
r0-agent8-sku=11 (4813A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21510,7 +21264,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21549,7 +21303,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21624,7 +21378,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -21690,7 +21444,7 @@ r0-agent7-type=5
r0-agent8-kind=1
r0-agent8-sku=10 (C4803A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21765,7 +21519,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -21807,7 +21561,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21849,7 +21603,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21892,7 +21646,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21935,7 +21689,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -21978,7 +21732,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22021,7 +21775,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22064,7 +21818,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5949A/Q5949X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22115,7 +21869,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22166,7 +21920,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22217,7 +21971,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22268,7 +22022,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22310,7 +22064,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE505A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22352,7 +22106,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE505A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22427,7 +22181,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=1
@@ -22470,7 +22224,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE505A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22513,7 +22267,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE505A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22556,7 +22310,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE505A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22599,7 +22353,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE505A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22674,7 +22428,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=1
@@ -22713,7 +22467,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22766,7 +22520,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -22807,7 +22561,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22853,7 +22607,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4096A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22895,7 +22649,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4096A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -22996,7 +22750,7 @@ r816-agent1-type=1
r816-agent2-kind=3
r816-agent2-sku=
r816-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -23044,7 +22798,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -23083,7 +22837,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23136,7 +22890,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -23178,7 +22932,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4096A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23243,7 +22997,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23291,7 +23045,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -23338,7 +23092,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4096A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23443,7 +23197,7 @@ r816-agent1-type=1
r816-agent2-kind=3
r816-agent2-sku=
r816-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -23482,7 +23236,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23532,7 +23286,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -23595,7 +23349,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23659,7 +23413,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23698,7 +23452,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23762,7 +23516,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23811,7 +23565,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658AN)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -23850,7 +23604,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23915,7 +23669,7 @@ r0-agent7-type=5
r0-agent8-kind=1
r0-agent8-sku=11 (C4813A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -23962,7 +23716,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2160A/Q2610D
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24050,7 +23804,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=58
r8-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24092,7 +23846,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2160A/Q2610D
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24143,7 +23897,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -24194,7 +23948,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -24245,7 +23999,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -24296,7 +24050,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -24416,7 +24170,7 @@ r7-agent2-type=2
r7-agent3-kind=3
r7-agent3-sku=858 (C9369ZN)
r7-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -24469,7 +24223,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658AN)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -24555,7 +24309,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -24695,7 +24449,7 @@ r816-agent1-type=1
r816-agent2-kind=3
r816-agent2-sku=
r816-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24737,7 +24491,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q6511A/Q6511X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24782,7 +24536,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q6511A/Q6511X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24828,7 +24582,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q6511A/Q6511X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24895,7 +24649,7 @@ r0-agent7-type=5
r0-agent8-kind=1
r0-agent8-sku=10 (C4803A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24934,7 +24688,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -24988,7 +24742,7 @@ r0-agent4-type=6
r0-agent5-kind=5
r0-agent5-sku=04 (C9704A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25027,7 +24781,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25084,7 +24838,7 @@ r0-agent4-type=6
r0-agent5-kind=5
r0-agent5-sku=04 (C9704A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25158,7 +24912,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -25209,7 +24963,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658AN)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -25263,7 +25017,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25319,7 +25073,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25462,7 +25216,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -25501,7 +25255,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25540,7 +25294,7 @@ plugin-reason=1
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25681,7 +25435,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -25756,7 +25510,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=3
@@ -25820,7 +25574,7 @@ r0-agent7-type=5
r0-agent8-kind=1
r0-agent8-sku=11 (C4813A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25874,7 +25628,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25929,7 +25683,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -25983,7 +25737,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26022,7 +25776,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26159,7 +25913,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -26213,7 +25967,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26267,7 +26021,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26310,7 +26064,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7573
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -26353,7 +26107,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7573
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -26396,7 +26150,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7573
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=5
status-battery-check=0
status-dynamic-counters=0
@@ -26435,7 +26189,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26489,7 +26243,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -26554,7 +26308,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26608,7 +26362,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -26662,7 +26416,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -26716,7 +26470,7 @@ r0-agent4-type=5
r0-agent5-kind=7
r0-agent5-sku=64 (Q3964A)
r0-agent5-type=62
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -26781,7 +26535,7 @@ r0-agent7-type=5
r0-agent8-kind=1
r0-agent8-sku=12 (C5026A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26835,7 +26589,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=Q7582A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26910,7 +26664,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -26949,7 +26703,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -26991,7 +26745,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -27038,7 +26792,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -27081,7 +26835,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE255A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -27123,7 +26877,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -27165,7 +26919,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -27208,7 +26962,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A/X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -27250,7 +27004,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -27299,7 +27053,7 @@ r0-agent2-type=62
r0-agent3-kind=6
r0-agent3-sku=Q5779A
r0-agent3-type=62
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -27374,7 +27128,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=1
@@ -27417,7 +27171,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -27492,7 +27246,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=122/122XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=1
@@ -27534,7 +27288,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q2612A
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -27576,7 +27330,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -27663,7 +27417,7 @@ r3-agent3-type=5
r3-agent4-kind=2
r3-agent4-sku=862/862XL
r3-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=0
@@ -27706,7 +27460,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -27747,7 +27501,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -27853,7 +27607,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -28038,7 +27792,7 @@ r7-agent5-type=7
r7-agent6-kind=2
r7-agent6-sku=801 (C8775Z)
r7-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -28079,7 +27833,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28121,7 +27875,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -28164,7 +27918,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4092A
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28353,7 +28107,7 @@ r7-agent5-type=7
r7-agent6-kind=2
r7-agent6-sku=801 (C8775Z)
r7-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -28395,7 +28149,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4092A
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28437,7 +28191,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4092A
r0-agent1-type=1
-scan-style=2
+scan-src=2
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28483,7 +28237,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28670,7 +28424,7 @@ r7-agent5-type=7
r7-agent6-kind=2
r7-agent6-sku=801 (C8775Z)
r7-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -28718,7 +28472,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=28 (C8728A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -28763,7 +28517,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=28 (C8728A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -28805,7 +28559,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28847,7 +28601,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28889,7 +28643,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28931,7 +28685,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=2
status-battery-check=0
status-dynamic-counters=0
@@ -28977,7 +28731,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=28 (C8728A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29022,7 +28776,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=28 (C8728A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29067,7 +28821,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=28 (C8728A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29106,7 +28860,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29160,7 +28914,7 @@ r0-agent4-type=6
r0-agent5-kind=5
r0-agent5-sku=55 (Q3655A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29210,7 +28964,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=28 (C8728A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29255,7 +29009,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=22
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -29311,7 +29065,7 @@ r0-agent4-type=6
r0-agent5-kind=5
r0-agent5-sku=55 (Q3655A)
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29365,7 +29119,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB402A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29419,7 +29173,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB402A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29471,7 +29225,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CC532A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29528,7 +29282,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=58 (Q3658A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29576,7 +29330,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=28 (C8728A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29633,7 +29387,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=58 (Q3658A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29689,7 +29443,7 @@ r0-agent4-type=6
r0-agent5-kind=5
r0-agent5-sku=Q5421A
r0-agent5-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29739,7 +29493,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=22
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -29790,7 +29544,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29846,7 +29600,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29903,7 +29657,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=58 (Q3658A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -29963,7 +29717,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=58 (Q3658A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30014,7 +29768,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=28 (C8728A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30053,7 +29807,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30107,7 +29861,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=Q7582A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30152,7 +29906,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30198,7 +29952,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30243,7 +29997,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30290,7 +30044,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30335,7 +30089,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30388,7 +30142,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30433,7 +30187,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30478,7 +30232,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=22 (C9352A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30531,7 +30285,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30576,7 +30330,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=22 (C9352A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30622,7 +30376,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=22 (C9352A)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30661,7 +30415,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30707,7 +30461,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4127A/C4127X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30746,7 +30500,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30816,7 +30570,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=703
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=3
@@ -30855,7 +30609,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30908,7 +30662,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB402A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30951,7 +30705,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -30994,7 +30748,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31037,7 +30791,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31080,7 +30834,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31123,7 +30877,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31166,7 +30920,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31209,7 +30963,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31252,7 +31006,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31293,7 +31047,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31332,7 +31086,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31395,7 +31149,7 @@ r1-agent3-type=5
r1-agent4-kind=4
r1-agent4-sku=CE263A
r1-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31441,7 +31195,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4127A/C4127X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31484,7 +31238,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8061A/C8061X
r0-agent1-type=1
-scan-style=1
+scan-src=1
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -31529,7 +31283,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8061A/C8061X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -31639,7 +31393,7 @@ r8-agent3-type=3
r8-agent4-kind=3
r8-agent4-sku=100
r8-agent4-type=10
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -31729,7 +31483,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=3
@@ -31856,7 +31610,7 @@ r816-agent1-type=1
r816-agent2-kind=3
r816-agent2-sku=
r816-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -31904,7 +31658,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=57 (C6657AN)/28 (C8728AN)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -31949,7 +31703,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=57 (C6657AN)/28 (C8728AN)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -31994,7 +31748,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=57 (C6657AN)/28 (C8728AN)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -32036,7 +31790,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8061A/C8061X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -32086,7 +31840,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q1338A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -32180,7 +31934,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -32234,7 +31988,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=56 (C6656AN)
r0-agent3-type=1
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -32273,7 +32027,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -32380,7 +32134,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -32468,7 +32222,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=3
@@ -32547,7 +32301,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -32626,7 +32380,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -32672,7 +32426,7 @@ r0-agent1-type=1
r0-agent2-kind=5
r0-agent2-sku=Q5421A/Q5422A
r0-agent2-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -32721,7 +32475,7 @@ r0-agent1-type=1
r0-agent2-kind=5
r0-agent2-sku=Q5421A/Q5422A
r0-agent2-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -32773,7 +32527,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=56 (C6656AN)
r0-agent3-type=1
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -32844,7 +32598,7 @@ r7-agent1-type=1
r7-agent2-kind=3
r7-agent2-sku=817
r7-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=3
@@ -32891,7 +32645,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q1339A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -32978,7 +32732,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=3
@@ -33076,7 +32830,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -33127,7 +32881,7 @@ r0-agent2-type=62
r0-agent3-kind=6
r0-agent3-sku=Q5779A
r0-agent3-type=62
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -33178,7 +32932,7 @@ r0-agent2-type=62
r0-agent3-kind=6
r0-agent3-sku=Q5779A
r0-agent3-type=62
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -33226,7 +32980,7 @@ r0-agent2-type=62
r0-agent3-kind=6
r0-agent3-sku=Q5779A
r0-agent3-type=62
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -33272,7 +33026,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q5942A/Q5942X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -33369,7 +33123,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -33477,7 +33231,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -33552,7 +33306,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=703
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -33636,7 +33390,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -33706,7 +33460,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -33747,7 +33501,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -33822,7 +33576,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -33891,7 +33645,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -33953,7 +33707,7 @@ r0-agent6-type=62
r0-agent7-kind=5
r0-agent7-sku=97 (C4197A)
r0-agent7-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -33992,7 +33746,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34069,7 +33823,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -34139,7 +33893,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -34243,7 +33997,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -34282,7 +34036,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -34351,7 +34105,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -34394,7 +34148,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34437,7 +34191,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34480,7 +34234,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34523,7 +34277,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34566,7 +34320,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7551A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34629,7 +34383,7 @@ r1-agent3-type=5
r1-agent4-kind=4
r1-agent4-sku=CE263A
r1-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34668,7 +34422,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34707,7 +34461,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -34748,7 +34502,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34799,7 +34553,7 @@ r0-agent3-type=6
r0-agent4-kind=4
r0-agent4-sku=CF033A
r0-agent4-type=5
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34864,7 +34618,7 @@ r0-agent6-type=62
r0-agent7-kind=5
r0-agent7-sku=97 (C4197A)
r0-agent7-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -34906,7 +34660,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE390A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -34967,7 +34721,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=24 (C9724A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35051,7 +34805,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -35108,7 +34862,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=24 (C9724A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35165,7 +34919,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=24 (C9724A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35226,7 +34980,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=24 (C9724A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35296,7 +35050,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -35367,7 +35121,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -35451,7 +35205,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -35515,7 +35269,7 @@ r0-agent6-type=62
r0-agent7-kind=5
r0-agent7-sku=Q7502A/Q7503A
r0-agent7-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35569,7 +35323,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=Q6462A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -35632,7 +35386,7 @@ r0-agent6-type=62
r0-agent7-kind=5
r0-agent7-sku=Q7502A/Q7503A
r0-agent7-type=62
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -35674,7 +35428,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35716,7 +35470,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4129X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35762,7 +35516,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4129X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35804,7 +35558,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7570A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -35848,7 +35602,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7570A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -35890,7 +35644,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=Q7570A
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -36028,7 +35782,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -36166,7 +35920,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801
r8-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -36212,7 +35966,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4129X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -36267,7 +36021,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -36371,7 +36125,7 @@ r8-agent3-type=3
r8-agent4-kind=3
r8-agent4-sku=100
r8-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -36410,7 +36164,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -36459,7 +36213,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN / C6578AN)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -36504,7 +36258,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -36549,7 +36303,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -36595,7 +36349,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578DN/C6578AN)
r0-agent2-type=2
-scan-style=2
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -36688,7 +36442,7 @@ r8-agent2-type=1
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -36733,7 +36487,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -36775,7 +36529,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -36817,7 +36571,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C7115A/C7115X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -36868,7 +36622,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE742A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -36919,7 +36673,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE742A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -36970,7 +36724,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE742A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -37090,7 +36844,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=19
-scan-style=0
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -37147,7 +36901,7 @@ r0-agent5-type=5
r0-agent6-kind=2
r0-agent6-sku=18 (C4937A)
r0-agent6-type=4
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -37234,7 +36988,7 @@ r8-agent2-type=1
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -37295,7 +37049,7 @@ r0-agent5-type=5
r0-agent6-kind=2
r0-agent6-sku=88 (C9386) / 88L (C9391)
r0-agent6-type=4
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -37411,7 +37165,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -37550,7 +37304,7 @@ r7-agent2-type=2
r7-agent3-kind=3
r7-agent3-sku=858 (C9369ZN)
r7-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -37600,7 +37354,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=57 (C6657A)
r0-agent2-type=2
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -37654,7 +37408,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -37715,7 +37469,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=34 (C9734A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -37762,7 +37516,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -37840,7 +37594,7 @@ r8-agent1-type=1
r8-agent2-kind=3
r8-agent2-sku=121/121XL
r8-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -37927,7 +37681,7 @@ r8-agent2-type=1
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -38014,7 +37768,7 @@ r3-agent3-type=5
r3-agent4-kind=2
r3-agent4-sku=862/862XL
r3-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=0
@@ -38101,7 +37855,7 @@ r3-agent3-type=5
r3-agent4-kind=2
r3-agent4-sku=862/862XL
r3-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=0
@@ -38152,7 +37906,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE272A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38213,7 +37967,7 @@ r0-agent5-type=62
r0-agent6-kind=8
r0-agent6-sku=34 (C9734A)
r0-agent6-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38263,7 +38017,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38311,7 +38065,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38359,7 +38113,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38417,7 +38171,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -38465,7 +38219,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38516,7 +38270,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38564,7 +38318,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38680,7 +38434,7 @@ r7-agent2-type=2
r7-agent3-kind=3
r7-agent3-sku=858 (C9369ZN)
r7-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -38775,7 +38529,7 @@ r8-agent2-type=2
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -38823,7 +38577,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -38872,7 +38626,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39010,7 +38764,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -39124,7 +38878,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -39238,7 +38992,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -39293,7 +39047,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB382A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39345,7 +39099,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB382A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39398,7 +39152,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CB382A
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39449,7 +39203,7 @@ r0-agent3-type=5
r0-agent4-kind=4
r0-agent4-sku=CE302C
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39488,7 +39242,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39629,7 +39383,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801
r8-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -39645,6 +39399,93 @@ usb-pid=5911
usb-vid=3f0
wifi-config=0
+[officejet_6100]
+align-type=1
+clean-type=1
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=0
+fw-download=False
+icon=officejet_k550.png
+io-mfp-mode=3
+io-mode=1
+io-support=14
+job-storage=0
+linefeed-cal-type=0
+model1=HP OfficeJet 6100 ePrinter H611a
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=0
+plugin-reason=0
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=2
+r0-agent1-sku=932/932XL
+r0-agent1-type=1
+r0-agent2-kind=2
+r0-agent2-sku=933/933XL
+r0-agent2-type=4
+r0-agent3-kind=2
+r0-agent3-sku=933/933XL
+r0-agent3-type=5
+r0-agent4-kind=2
+r0-agent4-sku=933/933XL
+r0-agent4-type=6
+r1-agent2-kind=2
+r1-agent2-sku=04/04XL
+r1-agent2-type=4
+r1-agent3-kind=2
+r1-agent3-sku=04/04XL
+r1-agent3-type=5
+r1-agent4-kind=2
+r1-agent4-sku=04/04XL
+r1-agent4-type=6
+r1-agent5-kind=2
+r1-agent5-sku=04/04XL
+r1-agent5-type=16
+r2-agent2-kind=2
+r2-agent2-sku=360/360XL
+r2-agent2-type=4
+r2-agent3-kind=2
+r2-agent3-sku=360/360XL
+r2-agent3-type=5
+r2-agent4-kind=2
+r2-agent4-sku=360/360XL
+r2-agent4-type=6
+r2-agent5-kind=2
+r2-agent5-sku=360/360XL
+r2-agent5-type=16
+r4-agent2-kind=2
+r4-agent2-sku=155/155XL
+r4-agent2-type=4
+r4-agent3-kind=2
+r4-agent3-sku=155/155XL
+r4-agent3-type=5
+r4-agent4-kind=2
+r4-agent4-sku=155/155XL
+r4-agent4-type=6
+r4-agent5-kind=2
+r4-agent5-sku=155/155XL
+r4-agent5-type=16
+scan-src=0
+scan-type=0
+status-battery-check=0
+status-dynamic-counters=2
+status-type=2
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.12.4
+tech-class=Saipan
+tech-subclass=Normal
+tech-type=2
+usb-pid=5e12
+usb-vid=3f0
+wifi-config=3
+
[hp_designjet_z6100ps_42in_photo]
align-type=0
clean-type=0
@@ -39668,7 +39509,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39708,7 +39549,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39839,7 +39680,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801 (C8775Z)
r8-agent6-type=8
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -39890,7 +39731,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658AN)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -39935,7 +39776,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -39980,7 +39821,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -40025,7 +39866,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -40073,7 +39914,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658AN)
r0-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -40192,7 +40033,7 @@ r7-agent2-type=2
r7-agent3-kind=3
r7-agent3-sku=858
r7-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -40231,7 +40072,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -40270,7 +40111,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -40415,7 +40256,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801
r8-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -40535,7 +40376,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=2
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -40668,7 +40509,7 @@ r8-agent3-type=3
r8-agent4-kind=3
r8-agent4-sku=100
r8-agent4-type=10
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -40759,7 +40600,7 @@ r8-agent2-type=1
r8-agent3-kind=3
r8-agent3-sku=138
r8-agent3-type=3
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -40874,7 +40715,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -40988,7 +40829,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=0
scan-type=7
status-battery-check=0
status-dynamic-counters=2
@@ -41102,7 +40943,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=3
scan-type=7
status-battery-check=0
status-dynamic-counters=2
@@ -41217,7 +41058,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=2
@@ -41361,7 +41202,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -41448,7 +41289,7 @@ r3-agent3-type=5
r3-agent4-kind=2
r3-agent4-sku=862/862XL
r3-agent4-type=6
-scan-style=1
+scan-src=1
scan-type=7
status-battery-check=0
status-dynamic-counters=0
@@ -41587,7 +41428,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -41603,6 +41444,108 @@ usb-pid=8504
usb-vid=3f0
wifi-config=0
+[officejet_6600]
+align-type=17
+clean-type=1
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=6
+fw-download=False
+icon=officejet_5600.png
+io-mfp-mode=1
+io-mode=1
+io-support=10
+job-storage=0
+linefeed-cal-type=0
+model1=HP Officejet 6600 e-All-in-One Printer - H711a
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=0
+plugin-reason=0
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=2
+r0-agent1-sku=932/932XL
+r0-agent1-type=1
+r0-agent2-kind=2
+r0-agent2-sku=933/933XL
+r0-agent2-type=4
+r0-agent3-kind=2
+r0-agent3-sku=933/933XL
+r0-agent3-type=5
+r0-agent4-kind=2
+r0-agent4-sku=933/933XL
+r0-agent4-type=6
+scan-src=3
+scan-type=7
+status-battery-check=0
+status-dynamic-counters=0
+status-type=2
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.12.4
+tech-class=Saipan
+tech-subclass=Normal
+tech-type=2
+usb-pid=5d12
+usb-vid=3f0
+wifi-config=3
+
+[officejet_6700]
+align-type=17
+clean-type=1
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=6
+fw-download=False
+icon=officejet_5600.png
+io-mfp-mode=1
+io-mode=1
+io-support=14
+job-storage=0
+linefeed-cal-type=0
+model1=HP Officejet 6700 e-All-in-One Printer - H711n
+monitor-type=0
+panel-check-type=0
+pcard-type=0
+plugin=0
+plugin-reason=0
+power-settings=0
+pq-diag-type=0
+r-type=0
+r0-agent1-kind=2
+r0-agent1-sku=932/932XL
+r0-agent1-type=1
+r0-agent2-kind=2
+r0-agent2-sku=933/933XL
+r0-agent2-type=4
+r0-agent3-kind=2
+r0-agent3-sku=933/933XL
+r0-agent3-type=5
+r0-agent4-kind=2
+r0-agent4-sku=933/933XL
+r0-agent4-type=6
+scan-src=3
+scan-type=7
+status-battery-check=0
+status-dynamic-counters=0
+status-type=2
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=3.12.4
+tech-class=Saipan
+tech-subclass=AutoDuplex
+tech-type=2
+usb-pid=5c12
+usb-vid=3f0
+wifi-config=3
+
[deskjet_6800]
align-type=1
clean-type=1
@@ -41729,7 +41672,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -41866,7 +41809,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -42007,7 +41950,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -42121,7 +42064,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=155/155XL
r8-agent5-type=16
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -42235,7 +42178,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=155/155XL
r8-agent5-type=16
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -42299,7 +42242,7 @@ r0-agent5-type=5
r0-agent6-kind=1
r0-agent6-sku=14 (C4923A)
r0-agent6-type=6
-scan-style=1
+scan-src=3
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -42435,7 +42378,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801
r8-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -42474,7 +42417,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -42513,7 +42456,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -42650,7 +42593,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -42783,7 +42726,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801 (C8775Z)
r8-agent6-type=8
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -42833,7 +42776,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -42881,7 +42824,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -43014,7 +42957,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801 (C8775Z)
r8-agent6-type=8
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -43065,7 +43008,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -43206,7 +43149,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -43339,7 +43282,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801
r8-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -43390,7 +43333,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -43429,7 +43372,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -43468,7 +43411,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -43605,7 +43548,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -43663,7 +43606,7 @@ r0-agent5-type=5
r0-agent6-kind=2
r0-agent6-sku=88 (C9386) / 88L (C9391)
r0-agent6-type=4
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -43796,7 +43739,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801 (C8775Z)
r8-agent6-type=8
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -43844,7 +43787,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -43894,7 +43837,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -43942,7 +43885,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -44080,7 +44023,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -44132,7 +44075,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -44263,7 +44206,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801 (C8775Z)
r8-agent6-type=8
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -44320,7 +44263,7 @@ r0-agent5-type=5
r0-agent6-kind=2
r0-agent6-sku=88 (C9386) / 88L (C9391)
r0-agent6-type=4
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -44359,7 +44302,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -44375,6 +44318,67 @@ usb-pid=0
usb-vid=3f0
wifi-config=0
+[officejet_pro_l7500]
+align-type=12
+clean-type=1
+color-cal-type=0
+copy-type=0
+embedded-server-type=1
+fax-type=1
+fw-download=False
+icon=officejet_k550.png
+io-mfp-mode=3
+io-mode=1
+io-support=6
+job-storage=0
+linefeed-cal-type=2
+model1=HP Officejet Pro L7500 Series All-in-One Printer
+model2=HP Officejet Pro L7550 All-in-One Printer
+model3=HP Officejet Pro L7555 All-in-One Printer
+model4=HP Officejet Pro L7580 All-in-One Printer
+model5=HP Officejet Pro L7590 All-in-One Printer
+monitor-type=0
+panel-check-type=1
+pcard-type=1
+plugin=0
+plugin-reason=0
+power-settings=0
+pq-diag-type=2
+r-type=0
+r0-agent1-kind=1
+r0-agent1-sku=88 (C9381)
+r0-agent1-type=14
+r0-agent2-kind=1
+r0-agent2-sku=88 (C9382)
+r0-agent2-type=15
+r0-agent3-kind=2
+r0-agent3-sku=88 (C9396 ) / 88L (C9385)
+r0-agent3-type=1
+r0-agent4-kind=2
+r0-agent4-sku=88 (C9388) / 88L (C9393)
+r0-agent4-type=6
+r0-agent5-kind=2
+r0-agent5-sku=88 (C9387) / 88L (C9392)
+r0-agent5-type=5
+r0-agent6-kind=2
+r0-agent6-sku=88 (C9386) / 88L (C9391)
+r0-agent6-type=4
+scan-src=1
+scan-type=6
+status-battery-check=0
+status-dynamic-counters=0
+status-type=2
+support-released=True
+support-subtype=219b2b
+support-type=2
+support-ver=1.7.2
+tech-class=OJProKx50
+tech-subclass=NoFullBleed
+tech-type=2
+usb-pid=2112
+usb-vid=3f0
+wifi-config=0
+
[officejet_7500_e910]
align-type=15
clean-type=1
@@ -44458,7 +44462,7 @@ r8-agent3-type=5
r8-agent4-kind=2
r8-agent4-sku=862/862XL
r8-agent4-type=6
-scan-style=0
+scan-src=3
scan-type=7
status-battery-check=0
status-dynamic-counters=1
@@ -44474,67 +44478,6 @@ usb-pid=4812
usb-vid=3f0
wifi-config=3
-[officejet_pro_l7500]
-align-type=12
-clean-type=1
-color-cal-type=0
-copy-type=0
-embedded-server-type=1
-fax-type=1
-fw-download=False
-icon=officejet_k550.png
-io-mfp-mode=3
-io-mode=1
-io-support=6
-job-storage=0
-linefeed-cal-type=2
-model1=HP Officejet Pro L7500 Series All-in-One Printer
-model2=HP Officejet Pro L7550 All-in-One Printer
-model3=HP Officejet Pro L7555 All-in-One Printer
-model4=HP Officejet Pro L7580 All-in-One Printer
-model5=HP Officejet Pro L7590 All-in-One Printer
-monitor-type=0
-panel-check-type=1
-pcard-type=1
-plugin=0
-plugin-reason=0
-power-settings=0
-pq-diag-type=2
-r-type=0
-r0-agent1-kind=1
-r0-agent1-sku=88 (C9381)
-r0-agent1-type=14
-r0-agent2-kind=1
-r0-agent2-sku=88 (C9382)
-r0-agent2-type=15
-r0-agent3-kind=2
-r0-agent3-sku=88 (C9396 ) / 88L (C9385)
-r0-agent3-type=1
-r0-agent4-kind=2
-r0-agent4-sku=88 (C9388) / 88L (C9393)
-r0-agent4-type=6
-r0-agent5-kind=2
-r0-agent5-sku=88 (C9387) / 88L (C9392)
-r0-agent5-type=5
-r0-agent6-kind=2
-r0-agent6-sku=88 (C9386) / 88L (C9391)
-r0-agent6-type=4
-scan-style=1
-scan-type=6
-status-battery-check=0
-status-dynamic-counters=0
-status-type=2
-support-released=True
-support-subtype=219b2b
-support-type=2
-support-ver=1.7.2
-tech-class=OJProKx50
-tech-subclass=NoFullBleed
-tech-type=2
-usb-pid=2112
-usb-vid=3f0
-wifi-config=0
-
[photosmart_d7500_series]
align-type=1
clean-type=1
@@ -44633,7 +44576,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=808/808XL
r8-agent5-type=16
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -44747,7 +44690,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=862/862XL
r8-agent5-type=19
-scan-style=3
+scan-src=3
scan-type=7
status-battery-check=0
status-dynamic-counters=2
@@ -44787,7 +44730,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -44837,7 +44780,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -44877,7 +44820,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -44917,7 +44860,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -44956,7 +44899,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -45016,7 +44959,7 @@ r0-agent5-type=5
r0-agent6-kind=2
r0-agent6-sku=88 (C9386) / 88L (C9391)
r0-agent6-type=4
-scan-style=1
+scan-src=1
scan-type=6
status-battery-check=0
status-dynamic-counters=0
@@ -45068,7 +45011,7 @@ r0-agent3-type=3
r0-agent4-kind=3
r0-agent4-sku=59 (C9359A)
r0-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -45128,7 +45071,7 @@ r0-agent5-type=5
r0-agent6-kind=2
r0-agent6-sku=88 (C9386) / 88L (C9391)
r0-agent6-type=4
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -45186,7 +45129,7 @@ r0-agent3-type=3
r0-agent4-kind=3
r0-agent4-sku=59 (C9359A)
r0-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -45326,7 +45269,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -45380,7 +45323,7 @@ r0-agent3-type=3
r0-agent4-kind=3
r0-agent4-sku=59 (C9359A)
r0-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -45422,7 +45365,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3909A/C3909X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -45473,7 +45416,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=C4907A
r0-agent4-type=4
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -45525,7 +45468,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=940
r0-agent4-type=4
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -45569,7 +45512,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C3909A/C3909X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -45710,7 +45653,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -45749,7 +45692,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -45788,7 +45731,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -45830,7 +45773,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4128X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -45881,7 +45824,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=951
r0-agent4-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -46013,7 +45956,7 @@ r8-agent5-type=7
r8-agent6-kind=2
r8-agent6-sku=801
r8-agent6-type=8
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=1
@@ -46152,7 +46095,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -46196,7 +46139,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4128X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -46241,7 +46184,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4128X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -46283,7 +46226,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C4128X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -46471,7 +46414,7 @@ r7-agent5-type=7
r7-agent6-kind=2
r7-agent6-sku=801 (C8775Z)
r7-agent6-type=8
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=2
@@ -46573,7 +46516,7 @@ r8-agent3-type=3
r8-agent4-kind=3
r8-agent4-sku=100/102
r8-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -46713,7 +46656,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -46764,7 +46707,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=940
r0-agent4-type=4
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -46815,7 +46758,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=940
r0-agent4-type=4
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -46866,7 +46809,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=940
r0-agent4-type=4
-scan-style=1
+scan-src=1
scan-type=6
status-battery-check=0
status-dynamic-counters=0
@@ -46928,7 +46871,7 @@ r0-agent6-type=62
r0-agent7-kind=5
r0-agent7-sku=55 (C4155A)
r0-agent7-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47044,7 +46987,7 @@ r8-agent4-type=6
r8-agent5-kind=2
r8-agent5-sku=178/178XL
r8-agent5-type=16
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -47097,7 +47040,7 @@ r0-agent3-type=5
r0-agent4-kind=2
r0-agent4-sku=940
r0-agent4-type=4
-scan-style=0
+scan-src=3
scan-type=7
status-battery-check=0
status-dynamic-counters=0
@@ -47111,7 +47054,7 @@ tech-subclass=Normal
tech-type=2
usb-pid=5312
usb-vid=3f0
-wifi-config=1
+wifi-config=3
[hp_color_laserjet_8550]
align-type=0
@@ -47162,7 +47105,7 @@ r0-agent6-type=62
r0-agent7-kind=5
r0-agent7-sku=55 (C4155A)
r0-agent7-type=62
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47220,7 +47163,7 @@ r0-agent5-type=5
r0-agent6-kind=2
r0-agent6-sku=88 (C9386) / 88L (C9391)
r0-agent6-type=4
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47273,7 +47216,7 @@ r0-agent4-kind=2
r0-agent4-sku=951
r0-agent4-type=6
r0-agent5-kind=2
-scan-style=3
+scan-src=3
scan-type=7
status-battery-check=0
status-dynamic-counters=0
@@ -47436,7 +47379,7 @@ r7-agent4-type=10
r7-agent5-kind=3
r7-agent5-sku=101
r7-agent5-type=11
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -47511,7 +47454,7 @@ r0-agent8-type=4
r0-agent9-kind=2
r0-agent9-sku=HP 38 (C9416A)
r0-agent9-type=5
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47557,7 +47500,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47600,7 +47543,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -47644,7 +47587,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -47688,7 +47631,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47730,7 +47673,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47774,7 +47717,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47816,7 +47759,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -47859,7 +47802,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47901,7 +47844,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -47943,7 +47886,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=CE266C
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -47985,7 +47928,7 @@ r-type=0
r0-agent1-kind=4
r0-agent1-sku=C8543X
r0-agent1-type=1
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -48050,7 +47993,7 @@ r0-agent7-type=5
r0-agent8-kind=2
r0-agent8-sku=11 (C4838AN)
r0-agent8-type=6
-scan-style=1
+scan-src=1
scan-type=1
status-battery-check=0
status-dynamic-counters=0
@@ -48126,7 +48069,7 @@ r0-agent8-type=4
r0-agent9-kind=2
r0-agent9-sku=C9416A
r0-agent9-type=5
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -48171,7 +48114,7 @@ r0-agent1-type=1
r0-agent2-kind=3
r0-agent2-sku=78 (C6578AN / C6578DN)
r0-agent2-type=2
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -48237,7 +48180,7 @@ r0-agent7-type=5
r0-agent8-kind=7
r0-agent8-sku=62 (C8562A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -48300,7 +48243,7 @@ r0-agent7-type=5
r0-agent8-kind=7
r0-agent8-sku=62 (C8562A)
r0-agent8-type=6
-scan-style=0
+scan-src=0
scan-type=-2
status-battery-check=0
status-dynamic-counters=0
@@ -48351,7 +48294,7 @@ r0-agent2-type=2
r0-agent3-kind=3
r0-agent3-sku=58 (C6658A)
r0-agent3-type=3
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -48493,7 +48436,7 @@ r7-agent3-type=3
r7-agent4-kind=3
r7-agent4-sku=100 (C9368AN)
r7-agent4-type=10
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=1
@@ -48532,7 +48475,7 @@ plugin-reason=0
power-settings=0
pq-diag-type=0
r-type=0
-scan-style=0
+scan-src=0
scan-type=0
status-battery-check=0
status-dynamic-counters=0
@@ -48571,6 +48514,7 @@ wifi-config=0
# 14 : LIDIL DJ D1600
# 15 : Low End Data Model (automatic and semiautomatic)
# 16 : Low End Data Model (manual)
+# 17 : Low End Data Model via ff/cc/o channel
#
#
# clean-type
@@ -48782,14 +48726,14 @@ wifi-config=0
# 2 : OJ Pro L7xxx
#
#
-# scan-style
-# ----------
+# scan-src
+# --------
# Scan paper path
# (TYPE_INT)
# 0 : None or n/a
# 1 : Flatbed
-# 2 : Scrollfed
-# 3 : Both
+# 2 : Adf
+# 4 : Camera
#
#
# scan-type
@@ -48843,6 +48787,7 @@ wifi-config=0
# 8 : PJL only over print channel
# 9 : PML + PJL over print channel
# 10 : Low End Data Model
+# 11 : Low End Data Model via FF/CC/0 channel
#
#
# support-released
@@ -48920,6 +48865,7 @@ wifi-config=0
# Python10
# Python11
# QuickConnect
+# Saipan
# Stabler
# StingrayOJ
# Undefined
diff --git a/data/rules/56-hpmud_add_printer.rules b/data/rules/56-hpmud_add_printer.rules
new file mode 100644
index 000000000..6ebc84081
--- /dev/null
+++ b/data/rules/56-hpmud_add_printer.rules
@@ -0,0 +1,11 @@
+# Load hp firmware for this printer.
+
+ACTION!="add", GOTO="hpmud_rules_end"
+
+#Check and add printer for Suse 10.3 distro
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="????", PROGRAM="/bin/sh -c 'logger -p user.info loading HP Device $env{BUSNUM} $env{DEVNUM}'", RUN+="/bin/sh -c '/usr/bin/hp-config_usb_printer $env{BUSNUM}:$env{DEVNUM} &'"
+
+#Check and add printer
+SUBSYSTEM=="usb_device", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="????", PROGRAM="/bin/sh -c 'X=%k; X=$${X#usbdev}; B=$${X%%%%.*}; D=$${X#*.}; logger -p user.info loading HP Device $$B $$D; printf %%03i:%%03i $$B $$D'", RUN+="/bin/sh -c '/usr/bin/hp-config_usb_printer %c &'"
+
+LABEL="hpmud_rules_end"
diff --git a/diagnose_plugin.py b/diagnose_plugin.py
index 520695387..b78cefd45 100755
--- a/diagnose_plugin.py
+++ b/diagnose_plugin.py
@@ -37,17 +37,8 @@ import os
from base.g import *
from base import utils, module
-pm = None
-
-
-
USAGE = [ (__doc__, "", "name", True),
- ("Usage: %s [MODE] [OPTIONS]" % __mod__, "", "summary", True),
- utils.USAGE_MODE,
- ("Installation for required printer mode:", "--required (Qt4 only)", "option", False),
- ("Installation for optional printer mode:", "--optional (Qt4 only)", "option", False),
- #("Installation generic mode:", "--generic (default)", "option", False),
- utils.USAGE_LANGUAGE,
+ ("Usage: %s [OPTIONS]" % __mod__, "", "summary", True),
utils.USAGE_OPTIONS,
utils.USAGE_LOGGING1, utils.USAGE_LOGGING2, utils.USAGE_LOGGING3,
utils.USAGE_HELP,
@@ -67,64 +58,47 @@ opts, device_uri, printer_name, mode, ui_toolkit, loc = \
mod.parseStdOpts( handle_device_printer=False)
plugin_path = None
-install_mode = PLUGIN_NONE # reuse plugin types for mode (PLUGIN_NONE = generic)
+install_mode = PLUGIN_REQUIRED
plugin_reason = PLUGIN_REASON_NONE
-for o, a in opts:
- if o == '--required':
- install_mode = PLUGIN_REQUIRED
- if ui_toolkit == 'qt3':
- log.warn("--required switch ignored.")
-
- elif o == '--optional':
- install_mode = PLUGIN_OPTIONAL
- if ui_toolkit == 'qt3':
- log.warn("--optional switch ignored.")
-
- elif o == '--reason':
- plugin_reason = int(a)
-
-
-version = prop.installed_version
-
-
-
if mode == GUI_MODE:
if ui_toolkit == 'qt3':
- if not utils.canEnterGUIMode():
- log.error("%s requires GUI support (try running with --qt4). Try using interactive (-i) mode." % __mod__)
- sys.exit(1)
- else:
+ log.error("Unable to load Qt3. Please use Qt4")
+
+ else: #qt4
if not utils.canEnterGUIMode4():
- log.error("%s requires GUI support (try running with --qt3). Try using interactive (-i) mode." % __mod__)
+ log.error("%s requires GUI support . Is Qt4 installed?" % __mod__)
sys.exit(1)
-
-if mode == GUI_MODE:
- if ui_toolkit == 'qt3':
- log.error("Unable to load Qt3. Please use qt4")
-
- else: # qt4
try:
from PyQt4.QtGui import QApplication, QMessageBox
from ui4.plugindiagnose import PluginDiagnose
+ from installer import core_install
except ImportError:
log.error("Unable to load Qt4 support. Is it installed?")
sys.exit(1)
app = QApplication(sys.argv)
+ core = core_install.CoreInstall()
+ plugin_sts = core.check_for_plugin()
+ if plugin_sts == PLUGIN_INSTALLED:
+ log.info("Device Plugin is already installed")
+ sys.exit(0)
+ elif plugin_sts == PLUGIN_VERSION_MISMATCH:
+ dialog = PluginDiagnose(None, install_mode, plugin_reason, True)
+ else:
+ dialog = PluginDiagnose(None, install_mode, plugin_reason)
- dialog = PluginDiagnose(None, install_mode, plugin_reason)
dialog.show()
-
try:
log.debug("Starting GUI loop...")
app.exec_()
except KeyboardInterrupt:
log.error("User exit")
sys.exit(0)
-
+else: #Interaction mode
+ log.error("Only Qt4 GUI mode is supported \n")
+ usage()
log.info("")
log.info("Done.")
-
diff --git a/diagnose_queues.py b/diagnose_queues.py
new file mode 100755
index 000000000..9b965fcad
--- /dev/null
+++ b/diagnose_queues.py
@@ -0,0 +1,440 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# (c) Copyright 2011-2014 Hewlett-Packard Development Company, L.P.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Author: Amarnath Chitumalla
+#
+
+__version__ = '1.0'
+__title__ = 'AutoConfig Utility to check queues configuration'
+__mod__ = 'hp-daignose-queues'
+__doc__ = """Auto config utility for HPLIP supported multifunction Devices to diagnose queues configuration."""
+
+# Std Lib
+import sys
+import os
+import getopt
+import commands
+import re
+
+# Local
+from base.g import *
+from base import utils, tui, models
+from prnt import cups
+from installer import core_install
+
+# ppd type
+HPCUPS = 1
+HPIJS = 2
+HPPS = 3
+HPOTHER = 4
+
+DEVICE_URI_PATTERN = re.compile(r"""(.*):/(.*?)/(\S*?)\?(?:serial=(\S*)|device=(\S*)|ip=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[^&]*)|zc=(\S+))(?:&port=(\d))?""", re.I)
+NICKNAME_PATTERN = re.compile(r'''\*NickName:\s*\"(.*)"''', re.MULTILINE)
+NET_PATTERN = re.compile(r"""(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""")
+NET_ZC_PATTERN = re.compile(r'''zc=(.*)''',re.IGNORECASE)
+NET_OTHER_PATTERN = re.compile(r'''(.*)://(.*)''',re.IGNORECASE)
+USB_PATTERN = re.compile(r'''serial=(.*)''',re.IGNORECASE)
+LPSTAT_PATTERN = re.compile(r"""(\S*): (.*)""", re.IGNORECASE)
+#BACK_END_PATTERN = re.compile(r'''(.*):(.*)''',re.IGNORECASE)
+
+##### METHODS #####
+
+def usage(typ='text'):
+ if typ == 'text':
+ utils.log_title(__title__, __version__)
+ utils.format_text(USAGE, typ, __title__, __mod__, __version__)
+ sys.exit(0)
+
+
+# Checks 'lp' group is added o not
+def check_user_groups():
+ result = False
+ sts,output = utils.run('groups')
+ if sts != 0:
+ log.error("Failed to get groups")
+ else:
+ output = output.rstrip('\r\n')
+ log.debug("groups =%s "%output)
+ grp_list= output.split(' ')
+ cnt = 0
+ while cnt < len(grp_list) :
+ if grp_list[cnt] == 'lp':
+ result = True
+ break
+ cnt += 1
+
+ return result
+
+# This function adds the groups ('lp') to user
+def add_group(core):
+ result = False
+ add_user_to_group = core.get_distro_ver_data('add_user_to_group', '')
+ if add_user_to_group:
+ usermod = os.path.join(utils.which("usermod"), "usermod") + " %s %s" % (add_user_to_group, prop.username)
+ else:
+ usermod = os.path.join(utils.which("usermod"), "usermod") + " %s %s" % ("-Glp", prop.username)
+
+ su_sudo = utils.su_sudo()
+ password_f = None
+ if su_sudo is "su":
+ name,version,is_su = utils.os_release()
+ log.debug("name = %s version = %s is_su = %s" %(name,version,is_su))
+ if ( name == 'Fedora' and version >= '14' and is_su == True):
+ #using su opening GUI apps fail in Fedora 14.
+ #To run GUI apps as root, you need a root login shell (su -) in Fedora 14
+ su_sudo = 'su - -c "%s"'
+ else:
+ su_sudo = 'su -c "%s"'
+
+ password_f = "get_password_ui"
+# password_f = utils.get_password
+ cmd =su_sudo % usermod
+ log.info("cmd = %s" %cmd)
+# sts, output = utils.run(cmd, True, password_f, -1,True,cmd)
+ sts, output = utils.run(cmd, True, password_f, 1, True, "Please enter root/superuser password to add 'lp' group")
+ if sts == 0:
+ result = True
+
+ return result
+
+
+# This parse the given Device URI. and provides the details.
+def parseDeviceURI(device_uri):
+ m = DEVICE_URI_PATTERN.match(device_uri)
+ if m is None:
+ raise Error(ERROR_INVALID_DEVICE_URI)
+
+ back_end = m.group(1).lower() or ''
+ is_hp = (back_end in ('hp', 'hpfax', 'hpaio'))
+ bus = m.group(2).lower() or ''
+
+ if bus not in ('usb', 'net', 'bt', 'fw', 'par'):
+ raise Error(ERROR_INVALID_DEVICE_URI)
+
+ model =m.group(3) or ''
+ serial = m.group(4) or ''
+ dev_file = m.group(5) or ''
+ host = m.group(6) or ''
+ zc = ''
+ if not host:
+ zc = host = m.group(7) or ''
+ port = m.group(8) or 1
+
+ if bus == 'net':
+ try:
+ port = int(port)
+ except (ValueError, TypeError):
+ port = 1
+
+ if port == 0:
+ port = 1
+
+# log.warning("++++: back_end '%s' is_hp '%s' bus '%s' model '%s' serial '%s' dev_file '%s' host '%s' zc '%s' port '%s' " %
+# ( back_end, is_hp, bus, model, serial, dev_file, host, zc, port))
+
+ return back_end, is_hp, bus, model, serial, dev_file, host, zc, port
+
+
+####### Device class ########
+class DetectedDevice:
+ def __init__(self, Printer_Name,Device_URI,Device_Type, ppdType, PPDFileError = False, IsEnabled=True ):
+ self.PrinterName =Printer_Name
+ self.DeviceURI = Device_URI
+ self.DeviceType = Device_Type
+ self.PPDFileType = ppdType
+ self.PPDFileError = PPDFileError
+ self.IsEnabled = IsEnabled
+
+
+
+
+#########Main##########
+USAGE = [(__doc__, "", "name", True),
+ ("Usage: %s [OPTIONS]" % __mod__, "", "summary", True),
+ utils.USAGE_OPTIONS,
+ utils.USAGE_LOGGING1, utils.USAGE_LOGGING2, utils.USAGE_LOGGING3,
+ utils.USAGE_HELP,
+ ]
+
+try:
+ log.set_module(__mod__)
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], 'hl:gsr', ['help', 'help-rest', 'help-man', 'help-desc', 'logging='])
+
+ except getopt.GetoptError, e:
+ log.error(e.msg)
+ usage()
+ sys.exit(1)
+
+ if os.getenv("HPLIP_DEBUG"):
+ log.set_level('debug')
+
+ log_level = 'info'
+ Show_result=False
+ quiet_mode = False
+ for o, a in opts:
+ if o in ('-h', '--help'):
+ usage()
+
+ elif o == '--help-rest':
+ usage('rest')
+
+ elif o == '--help-man':
+ usage('man')
+
+ elif o == '--help-desc':
+ print __doc__,
+ sys.exit(0)
+
+ elif o in ('-l', '--logging'):
+ log_level = a.lower().strip()
+
+ elif o == '-g':
+ log_level = 'debug'
+
+ elif o == '-r':
+ Show_result = True
+
+ elif o == '-s':
+ quiet_mode = True
+
+ if not log.set_level(log_level):
+ usage()
+ if not quiet_mode:
+ utils.log_title(__title__, __version__)
+
+ log_file = os.path.normpath('/var/loh/hp/hplip_queues.log')
+ log.debug(log.bold("Saving output in log file: %s" % log_file))
+ if os.path.exists(log_file):
+ os.remove(log_file)
+ log.set_logfile(log_file)
+ log.set_where(log.LOG_TO_CONSOLE_AND_FILE)
+
+ try:
+ from base import device, pml
+ # This can fail due to hpmudext not being present
+ except ImportError:
+ log.error("Device library is not avail.")
+ sys.exit(1)
+
+ # Only Qt4 is supported.
+ try:
+ from PyQt4.QtGui import QApplication, QMessageBox
+ from ui4.queuesconf import QueuesDiagnose
+ except ImportError:
+ log.error("Unable to load Qt4 support. Is it installed?")
+ sys.exit(1)
+
+ app = QApplication(sys.argv)
+ Error_Found = False
+ if check_user_groups() is False:
+ dialog = QueuesDiagnose(None, "","",QUEUES_MSG_SENDING)
+ core = core_install.CoreInstall()
+ core.init()
+ if add_group(core) is False:
+ Error_Found = True
+ #log.error("Failed to add lp group to user[%s]. Manually add 'lp' group to usergroups"%prop.username)
+ dialog.showMessage("User must be part of 'lp' group.\nManually add 'lp' group to '%s' user. " %prop.username)
+ else:
+ dialog.showSuccessMessage("Groups added successfully and reboot is required. Please reboot system to take effect.")
+
+
+ is_hpcups_installed = to_bool(sys_conf.get('configure', 'hpcups-install', '0'))
+ is_hpijs_installed = to_bool(sys_conf.get('configure', 'hpijs-install', '0'))
+# tui.header("INSTALLED CUPS PRINTER QUEUES")
+
+
+ status, output = utils.run('lpstat -v')
+
+ cups_printers = []
+ for p in output.splitlines():
+ try:
+ match = LPSTAT_PATTERN.search(p)
+ printer_name = match.group(1)
+ device_uri = match.group(2)
+ cups_printers.append((printer_name, device_uri))
+ except AttributeError:
+ pass
+
+ log.debug(cups_printers)
+ log.debug("HPCups installation=%d HPIJS installation =%d" %(is_hpcups_installed, is_hpijs_installed))
+ if cups_printers:
+ mapofDevices={}
+
+ for p in cups_printers:
+ printer_name, device_uri = p
+
+ if device_uri.startswith("cups-pdf:/"):
+ continue
+
+ log.debug(log.bold(printer_name))
+ log.debug(log.bold('-'*len(printer_name)))
+
+ try:
+ back_end, is_hp, bus, model, serial, dev_file, host, zc, port = parseDeviceURI(device_uri)
+ except Error:
+ back_end, is_hp, bus, model, serial, dev_file, host, zc, port = '', False, '', '', '', '', '', '', 1
+ if 'HP' in device_uri:
+ is_hp = True
+
+ log.debug("Device URI: %s" % device_uri)
+ ppd_file = os.path.join('/etc/cups/ppd', printer_name + '.ppd')
+ if os.path.exists(ppd_file):
+ log.debug("PPD: %s" % ppd_file)
+
+ fileptr = file(ppd_file, 'r').read(4096)
+ try:
+ desc = NICKNAME_PATTERN.search(fileptr).group(1)
+ except AttributeError:
+ desc = ''
+
+ log.debug("PPD Description: %s" % desc)
+ status, output = utils.run('lpstat -p%s' % printer_name)
+ log.debug("Printer status: %s" % output.replace("\n", ""))
+
+ #### checking for USb devices ####
+ if USB_PATTERN.search(device_uri):
+ Key =USB_PATTERN.search(device_uri).group(1)
+ #### checking for network devices ####
+ elif NET_PATTERN.search(device_uri):
+ Key = NET_PATTERN.search(device_uri).group(1)
+ elif NET_ZC_PATTERN.search(device_uri):
+ Key = NET_ZC_PATTERN.search(device_uri).group(1)
+ elif NET_OTHER_PATTERN.search(device_uri):
+ part_1 = NET_OTHER_PATTERN.search(device_uri).group(1)
+ part_2 = NET_OTHER_PATTERN.search(device_uri).group(2)
+ if 'HP' in part_2:
+ Key = part_2
+ else:
+ log.info("unknown protocol device_uri=%s" %device_uri)
+ Key=None
+ else:
+ log.info("unknown protocol device_uri=%s" %device_uri)
+ Key=None
+
+ if Key is not None:
+ Is_Print_Q_Enabled= True
+ if output.find('Paused') != -1:
+ Is_Print_Q_Enabled= False
+ Key=Key+"_"+back_end
+ log.debug("Key'%s': deviceType '%s' is_hp '%s' bus '%s' model '%s' serial '%s' dev_file '%s' host '%s' zc '%s' port '%s' Enabled'%d'"\
+ %( Key,back_end, is_hp, bus, model, serial, dev_file, host, zc, port,Is_Print_Q_Enabled))
+
+ PPDFileError = False
+ if back_end == 'hpfax' and not 'HP Fax' in desc:
+ log.error("Incorrect PPD file for fax queue '%s'. Fax queue must use 'HP-Fax-hplip.ppd'." % printer_name)
+ PPDFileError = True
+ elif back_end == 'hp' and 'HP Fax' in desc:
+ log.error("Incorrect PPD file for print queue '%s'. Print queue must not use 'HP-Fax-hplip.ppd'." % printer_name)
+ PPDFileError = True
+ elif back_end not in ('hp', 'hpfax'):
+ log.warn("Device %s is not HPLIP installed. Device must use the hp: or hpfax: to function in HPLIP."% printer_name)
+
+ ppd_fileType = None
+ if 'hpcups' in desc:
+ ppd_fileType = HPCUPS
+ if not is_hpcups_installed:
+ PPDFileError = True
+ elif 'hpijs' in desc:
+ ppd_fileType = HPIJS
+ if not is_hpijs_installed:
+ PPDFileError = True
+ elif 'Postscript' in desc:
+ ppd_fileType =HPPS
+ elif is_hp:
+ ppd_fileType =HPOTHER
+ PPDFileError = True
+
+ if ppd_fileType != None:
+ device1 =DetectedDevice(printer_name, device_uri,back_end, ppd_fileType,PPDFileError, Is_Print_Q_Enabled)
+ if Key in mapofDevices:
+ mapofDevices[Key].append(device1)
+ else:
+ deviceList=[device1]
+ mapofDevices[Key]=deviceList
+ else:
+ log.warn("%s is not HP Device." %(printer_name))
+
+ for key,val in mapofDevices.items():
+ if len(val) >1:
+ log.debug("")
+ log.warn('%d queues of same device %s is configured. Remove unwanted queues.' %(len(val),val[0].PrinterName))
+ if Show_result:
+ Error_Found = True
+ dialog = QueuesDiagnose(None, "","",QUEUES_MSG_SENDING)
+ dialog.showMessage("%d queues of same device %s is configured.\nRemove unwanted queues."%(len(val),val[0].PrinterName))
+
+ for que in val:
+ Error_msg =None
+ if 'hp' in que.DeviceType or 'hpfax' in que.DeviceType:
+ if que.PPDFileError == False:
+ log.debug("'%s' is configured correctly." %(que.PrinterName))
+ else:
+ log.error("PPD file for '%s' is not correct. Need to choose correct PPD file." %(que.PrinterName))
+ Error_msg = QUEUES_INCORRECT_PPD
+ else:
+ log.error("'%s' is not configured using HPLIP. Need to remove and re-cofigure from hp-setup." %(que.PrinterName))
+ Error_msg =QUEUES_CONFIG_ERROR
+
+ if Error_msg ==None and que.IsEnabled == False:
+ Error_msg = QUEUES_PAUSED
+
+ if Error_msg != None:
+ Error_Found = True
+ dialog = QueuesDiagnose(None, que.PrinterName,que.DeviceURI,Error_msg)
+ dialog.show()
+ log.debug("Starting GUI loop...")
+ app.exec_()
+ else:
+ Error_msg =None
+ log.debug("")
+ log.debug("Single print queue is configured for '%s'. " %val[0].PrinterName)
+ if 'hp' in val[0].DeviceType or 'hpfax' in val[0].DeviceType:
+ if val[0].PPDFileError == False:
+ log.debug("'%s' is configured correctly." %(val[0].PrinterName))
+ else:
+ log.error("PPD file for '%s' is not correct. Need to choose correct PPD file." %(val[0].PrinterName))
+ Error_msg = QUEUES_INCORRECT_PPD
+ else:
+ log.error("'%s' is not configured using HPLIP. Need to remove and re-configure using hp-setup." %(val[0].PrinterName))
+ Error_msg = QUEUES_CONFIG_ERROR
+
+ if Error_msg ==None and val[0].IsEnabled == False:
+ Error_msg = QUEUES_PAUSED
+
+ if Error_msg != None:
+ Error_Found = True
+ name = val[0].PrinterName
+ dialog = QueuesDiagnose(None, name, val[0].DeviceURI, Error_msg)
+ dialog.show()
+ log.debug("Starting GUI loop...")
+ app.exec_()
+ else:
+ log.debug("No queues found.")
+
+ if Show_result and (Error_Found is False):
+ dialog = QueuesDiagnose(None, "","",QUEUES_MSG_SENDING)
+ dialog.showSuccessMessage("Queue(s) configured correctly using HPLIP.")
+
+
+except KeyboardInterrupt:
+ log.error("User exit")
+
+log.debug("Done.")
diff --git a/fax/ledmfax.py b/fax/ledmfax.py
index 6713f723e..7a79d6e77 100644
--- a/fax/ledmfax.py
+++ b/fax/ledmfax.py
@@ -96,7 +96,7 @@ Content-length: %d\r
self.writeLEDM(data)
response = cStringIO.StringIO()
- while self.readLEDM(4096, response, timeout=5):
+ while self.readLEDM(512, response, timeout=5):
pass
response = response.getvalue()
@@ -389,7 +389,7 @@ class LEDMFaxSendThread(FaxSendThread):
self.dev.writeLEDM(data)
response = cStringIO.StringIO()
try:
- while self.dev.readLEDM(1000, response, timeout=5):
+ while self.dev.readLEDM(512, response, timeout=5):
pass
except Error:
fax_send_state = FAX_SEND_STATE_ERROR
@@ -473,7 +473,7 @@ class LEDMFaxSendThread(FaxSendThread):
response = cStringIO.StringIO()
try:
- while self.dev.readLEDM(1000, response, timeout=5):
+ while self.dev.readLEDM(512, response, timeout=5):
pass
except Error:
fax_send_state = FAX_SEND_STATE_ERROR
@@ -523,7 +523,7 @@ class LEDMFaxSendThread(FaxSendThread):
response = cStringIO.StringIO()
try:
- while self.dev.readLEDM(1000, response, timeout=10):
+ while self.dev.readLEDM(512, response, timeout=10):
pass
except Error:
fax_send_state = FAX_SEND_STATE_ERROR
@@ -562,7 +562,7 @@ class LEDMFaxSendThread(FaxSendThread):
response = cStringIO.StringIO()
try:
- while self.dev.readLEDM(1000, response, timeout=10):
+ while self.dev.readLEDM(512, response, timeout=10):
pass
except Error:
fax_send_state = FAX_SEND_STATE_ERROR
diff --git a/fax/ppd/HP-Fax-hpcups.ppd.gz b/fax/ppd/HP-Fax-hpcups.ppd.gz
index 0d6e094e6..bafd439e2 100644
--- a/fax/ppd/HP-Fax-hpcups.ppd.gz
+++ b/fax/ppd/HP-Fax-hpcups.ppd.gz
Binary files differ
diff --git a/fax/ppd/HP-Fax-hpijs.ppd.gz b/fax/ppd/HP-Fax-hpijs.ppd.gz
index 510a0bd27..612bcaf55 100644
--- a/fax/ppd/HP-Fax-hpijs.ppd.gz
+++ b/fax/ppd/HP-Fax-hpijs.ppd.gz
Binary files differ
diff --git a/fax/ppd/HP-Fax2-hpcups.ppd.gz b/fax/ppd/HP-Fax2-hpcups.ppd.gz
index 8c8894ffd..ffc35f34b 100644
--- a/fax/ppd/HP-Fax2-hpcups.ppd.gz
+++ b/fax/ppd/HP-Fax2-hpcups.ppd.gz
Binary files differ
diff --git a/fax/ppd/HP-Fax2-hpijs.ppd.gz b/fax/ppd/HP-Fax2-hpijs.ppd.gz
index 50fe7ce3f..b2280739d 100644
--- a/fax/ppd/HP-Fax2-hpijs.ppd.gz
+++ b/fax/ppd/HP-Fax2-hpijs.ppd.gz
Binary files differ
diff --git a/fax/ppd/HP-Fax3-hpcups.ppd.gz b/fax/ppd/HP-Fax3-hpcups.ppd.gz
index 5589bbdf6..4e289b347 100644
--- a/fax/ppd/HP-Fax3-hpcups.ppd.gz
+++ b/fax/ppd/HP-Fax3-hpcups.ppd.gz
Binary files differ
diff --git a/fax/ppd/HP-Fax3-hpijs.ppd.gz b/fax/ppd/HP-Fax3-hpijs.ppd.gz
index 524167ded..cb6116c18 100644
--- a/fax/ppd/HP-Fax3-hpijs.ppd.gz
+++ b/fax/ppd/HP-Fax3-hpijs.ppd.gz
Binary files differ
diff --git a/fax/ppd/HP-Fax4-hpcups.ppd.gz b/fax/ppd/HP-Fax4-hpcups.ppd.gz
index 542c7bbe2..40a6f5bf9 100644
--- a/fax/ppd/HP-Fax4-hpcups.ppd.gz
+++ b/fax/ppd/HP-Fax4-hpcups.ppd.gz
Binary files differ
diff --git a/fax/ppd/HP-Fax4-hpijs.ppd.gz b/fax/ppd/HP-Fax4-hpijs.ppd.gz
index 8a4e4cbb0..2fee3b0c8 100644
--- a/fax/ppd/HP-Fax4-hpijs.ppd.gz
+++ b/fax/ppd/HP-Fax4-hpijs.ppd.gz
Binary files differ
diff --git a/foomatic_drv.inc b/foomatic_drv.inc
index 06e0365b0..422344d67 100644
--- a/foomatic_drv.inc
+++ b/foomatic_drv.inc
@@ -63,6 +63,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz \
+ ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz \
ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz \
@@ -105,7 +106,6 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz \
ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1027nw-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz \
@@ -167,7 +167,6 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1021-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz \
ppd/hpijs/hp-dj450-hpijs.ppd.gz \
@@ -181,6 +180,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6100-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz \
@@ -239,6 +239,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz \
@@ -257,7 +258,6 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1022-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz \
ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz \
@@ -324,6 +324,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-officejet-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6700-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz \
ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz \
@@ -421,9 +422,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1023-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz \
- ppd/hpijs/hp-officejet_series_500-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz \
@@ -566,11 +565,9 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz \
- ppd/hpijs/hp-laserjet_cp1028nw-hpijs.ppd.gz \
ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz \
- ppd/hpijs/hp-laserjet_professional_p1102s-hpijs.ppd.gz \
ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz \
@@ -629,6 +626,7 @@ foomatic_ppd_printers = \
ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz \
ppd/hpijs/hp-cp1160-hpijs.ppd.gz \
ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz \
+ ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz \
ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz \
ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz \
ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz \
diff --git a/hplip.list.in b/hplip.list.in
index 56a46891d..b277c0947 100644
--- a/hplip.list.in
+++ b/hplip.list.in
@@ -250,6 +250,8 @@ f 0644 root root $ppd/HP prnt/ps/*.ppd.gz
@epm_full@f 644 root root $home/installer/__init__.py installer/__init__.py
@epm_full@f 644 root root $home/installer/dcheck.py installer/dcheck.py
@epm_full@f 644 root root $home/installer/core_install.py installer/core_install.py
+@epm_full@f 755 root root $home/uninstall.py uninstall.py
+@epm_full@f 755 root root $home/upgrade.py upgrade.py
@epm_full@f 755 root root $home/colorcal.py colorcal.py
@epm_full@d 775 root root $home/prnt -
@epm_full@f 644 root root $home/prnt/pcl.py prnt/pcl.py
@@ -263,6 +265,11 @@ f 0644 root root $ppd/HP prnt/ps/*.ppd.gz
@epm_full@f 644 root root $home/pcard/__init__.py pcard/__init__.py
@epm_full@f 644 root root $home/pcard/photocard.py pcard/photocard.py
@epm_full@f 755 root root $home/info.py info.py
+@epm_full@f 755 root root $home/wificonfig.py wificonfig.py
+@epm_full@f 755 root root $home/devicesettings.py devicesettings.py
+@epm_full@f 755 root root $home/config_usb_printer.py config_usb_printer.py
+@epm_full@f 755 root root $home/diagnose_queues.py diagnose_queues.py
+
# docs
@epm_full@f 644 root root $docdir doc/*
@epm_full@d 775 root root $docdir/images -
@@ -300,6 +307,10 @@ f 0644 root root $ppd/HP prnt/ps/*.ppd.gz
@epm_full@l 755 root root $bindir/hp-query ../share/hplip/query.py
@epm_full@l 755 root root $bindir/hp-wificonfig ../share/hplip/wificonfig.py
@epm_full@l 755 root root $bindir/hp-devicesettings ../share/hplip/devicesettings.py
+@epm_full@l 755 root root $bindir/hp-uninstall ../share/hplip/uninstall.py
+@epm_full@l 755 root root $bindir/hp-upgrade ../share/hplip/upgrade.py
+@epm_full@l 755 root root $bindir/hp-config_usb_printer ../share/hplip/config_usb_printer.py
+@epm_full@l 755 root root $bindir/hp-diagnose_queues ../share/hplip/diagnose_queues.py
# qt4
@epm_full@@epm_qt4@d 775 root root $home/ui4 -
@@ -434,7 +445,7 @@ EOF
f 0644 root root $docdir/license.txt prnt/plugins/license.txt
f 0644 root root $docdir/COPYING prnt/plugins/license.txt
f 0644 root root $docdir/copyright prnt/plugins/copyright
-f 0644 root root /var/lib/hp/hplip.state hplip-plugin.state
+d 0755 root root /var/lib/hp/ -
f 0644 root root $home/data/firmware data/firmware/*.fw.gz
d 0775 root root $home/data/plugin -
d 0775 root lp /var/log/hp -
@@ -445,6 +456,7 @@ d 0775 root lp /var/log/hp -
%system !darwin
@epm_print_only_exclude@f 0644 root root /etc/udev/rules.d data/rules/86-hpmud*.rules
+@epm_print_only_exclude@f 0644 root root /etc/udev/rules.d data/rules/56-hpmud_add_printer.rules
f 0755 root root $home/prnt/plugins/lj-${machine}.so prnt/plugins/lj-${machine}.so
l 0755 root root $home/prnt/plugins/lj.so lj-${machine}.so
@epm_print_only_exclude@d 0775 root root $home/scan/plugins -
@@ -456,6 +468,8 @@ l 0755 root root $home/prnt/plugins/lj.so lj-${machine}.so
@epm_print_only_exclude@l 0755 root root $home/scan/plugins/bb_soap.so bb_soap-${machine}.so
@epm_print_only_exclude@f 0755 root root $home/fax/plugins/fax_marvell-${machine}.so fax/plugins/fax_marvell-${machine}.so
@epm_print_only_exclude@l 0755 root root $home/fax/plugins/fax_marvell.so fax_marvell-${machine}.so
+
+
%system all
%postinstall <<EOF
ver=`echo $version | sed 's/\([0-9]*.[0-9]*.[0-9]*\).*/\1/'`
@@ -468,11 +482,13 @@ EOF
%else
f 0644 root root $docdir/COPYING COPYING
f 0644 root root $docdir/copyright copyright
-f 0644 root root /var/lib/hp/hplip.state hplip.state
+d 0755 root root /var/lib/hp/ -
d 0775 root lp /var/log/hp -
%system !darwin
@epm_print_only_exclude@f 0644 root root /etc/udev/rules.d/56-hpmud_support.rules data/rules/56-hpmud_support.rules
@epm_print_only_exclude@f 0644 root root /etc/udev/rules.d/86-hpmud_plugin.rules data/rules/86-hpmud_plugin.rules
+@epm_print_only_exclude@f 0644 root root /etc/udev/rules.d/56-hpmud_add_printer.rules data/rules/56-hpmud_add_printer.rules
+
%system all
%endif
#end PLUGIN
diff --git a/hplip.state b/hplip.state
deleted file mode 100644
index 46d5f18fb..000000000
--- a/hplip.state
+++ /dev/null
@@ -1,6 +0,0 @@
-# hplip.state - HPLIP runtime persistent variables.
-
-[plugin]
-installed=0
-eula=0
-
diff --git a/hpssd.py b/hpssd.py
index 3f568ff13..0e5a005f2 100755
--- a/hpssd.py
+++ b/hpssd.py
@@ -349,16 +349,6 @@ def handle_hpdio_event(event, bytes_written):
def handle_plugin_install():
-# child_process=os.fork()
-# if child_process ==0: ### child process
-# child_pid=os.getpid()
-# utils.run('hp-diagnose_plugin',True, None, 1, False)
-# os.kill(child_pid,signal.SIGKILL)
-#
-# else: ## parent process
-# log.debug("Started Plug-in installation wizard")
-
-##### TBD: Valdiation pending for Plug-in is already running or not?...
child_process=os.fork()
if child_process== 0: # child process
lockObj = utils.Sync_Lock("/tmp/pluginInstall.tmp")
@@ -366,7 +356,7 @@ def handle_plugin_install():
child_pid=os.getpid()
core = core_install.CoreInstall()
core.set_plugin_version()
- if not core.check_for_plugin():
+ if core.check_for_plugin() != PLUGIN_INSTALLED:
sts,out = utils.run('hp-diagnose_plugin',True, None, 1, False)
if sts != 0:
log.error("Failed to load hp-diagnose_plugin")
@@ -376,16 +366,32 @@ def handle_plugin_install():
lockObj.release()
os.kill(child_pid,signal.SIGKILL)
-
else: #parent process
log.debug("Started Plug-in installation wizard")
+def handle_printer_diagnose():
+ path = utils.which('hp-diagnose_queues')
+ if path:
+ path = os.path.join(path, 'hp-diagnose_queues')
+ else:
+ log.error("Unable to find hp-diagnose_queues on PATH.")
+ return
+
+ log.debug("Running hp-diagnose_queues: %s" % (path))
+ os.spawnlp(os.P_NOWAIT, path, 'hp-diagnose_queues','-s')
+
def handle_event(event, more_args=None):
#global polling_blocked
#global request_queue
+ # checking if any zombie child process exists. then cleaning same.
+ try:
+ os.waitpid(0, os.WNOHANG)
+ except OSError:
+ pass
+
log.debug("Handling event...")
if more_args is None:
@@ -397,6 +403,10 @@ def handle_event(event, more_args=None):
handle_plugin_install()
return
+ if event.event_code == EVENT_DIAGNOSE_PRINTQUEUE:
+ handle_printer_diagnose()
+ return
+
if event.device_uri and check_device(event.device_uri) != ERROR_SUCCESS:
return
@@ -547,7 +557,7 @@ def handle_session_signal(*args, **kwds):
def run(write_pipe1=None, # write pipe to systemtray
write_pipe2=None, # write pipe to hpdio
read_pipe3=None): # read pipe from hpdio
-
+
global dbus_loop, main_loop
global system_bus, session_bus
global w1, w2, r3
diff --git a/installer/core_install.py b/installer/core_install.py
index 82cd8ab9d..7f1578166 100644
--- a/installer/core_install.py
+++ b/installer/core_install.py
@@ -1,2051 +1,2387 @@
-# -*- coding: utf-8 -*-
-#
-# (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# Author: Don Welch
-#
-
-# Std Lib
-import sys
-import os
-import os.path
-import re
-import time
-import cStringIO
-import grp
-import pwd
-import tarfile
-
-try:
- import hashlib # new in 2.5
-
- def get_checksum(s):
- return hashlib.sha1(s).hexdigest()
-
-except ImportError:
- import sha # deprecated in 2.6/3.0
-
- def get_checksum(s):
- return sha.new(s).hexdigest()
-
-
-import urllib # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0)
-
-
-# Local
-from base.g import *
-from base.codes import *
-from base import utils, pexpect
-from dcheck import *
-
-
-
-DISTRO_UNKNOWN = 0
-DISTRO_VER_UNKNOWN = '0.0'
-
-MODE_INSTALLER = 0 # hplip-install/hp-setup
-MODE_CHECK = 1 # hp-check
-MODE_CREATE_DOCS = 2 # create_docs
-
-TYPE_STRING = 1
-TYPE_LIST = 2
-TYPE_BOOL = 3
-TYPE_INT = 4
-
-DEPENDENCY_RUN_TIME = 1
-DEPENDENCY_COMPILE_TIME = 2
-DEPENDENCY_RUN_AND_COMPILE_TIME = 3
-
-# Plug-in download errors
-PLUGIN_INSTALL_ERROR_NONE = 0
-PLUGIN_INSTALL_ERROR_PLUGIN_FILE_NOT_FOUND = 1
-PLUGIN_INSTALL_ERROR_DIGITAL_SIG_NOT_FOUND = 2
-PLUGIN_INSTALL_ERROR_DIGITAL_SIG_BAD = 3
-PLUGIN_INSTALL_ERROR_PLUGIN_FILE_CHECKSUM_ERROR = 4
-PLUGIN_INSTALL_ERROR_NO_NETWORK = 5
-PLUGIN_INSTALL_ERROR_DIRECTORY_ERROR = 6
-PLUGIN_INSTALL_ERROR_UNABLE_TO_RECV_KEYS = 7
-
-
-PING_TARGET = "www.google.com"
-HTTP_GET_TARGET = "http://www.google.com"
-PLUGIN_FALLBACK_LOCATION = 'http://hplipopensource.com/hplip-web/plugin/'
-
-EXPECT_WORD_LIST = [
- pexpect.EOF, # 0
- pexpect.TIMEOUT, # 1
- "Continue?", # 2 (for zypper)
- "passwor[dt]", # en/de/it/ru
- "kennwort", # de?
- "password for", # en
- "mot de passe", # fr
- "contraseña", # es
- "palavra passe", # pt
- "口令", # zh
- "wachtwoord", # nl
- "heslo", # czech
-]
-
-# Mapping from patterns to probability contribution of pattern
-# Example code from David Mertz' Text Processing in Python.
-# Released in the Public Domain.
-err_pats = {r'(?is)<TITLE>.*?(404|403).*?ERROR.*?</TITLE>': 0.95,
- r'(?is)<TITLE>.*?ERROR.*?(404|403).*?</TITLE>': 0.95,
- r'(?is)<TITLE>ERROR</TITLE>': 0.30,
- r'(?is)<TITLE>.*?ERROR.*?</TITLE>': 0.10,
- r'(?is)<META .*?(404|403).*?ERROR.*?>': 0.80,
- r'(?is)<META .*?ERROR.*?(404|403).*?>': 0.80,
- r'(?is)<TITLE>.*?File Not Found.*?</TITLE>': 0.80,
- r'(?is)<TITLE>.*?Not Found.*?</TITLE>': 0.40,
- r'(?is)<BODY.*(404|403).*</BODY>': 0.10,
- r'(?is)<H1>.*?(404|403).*?</H1>': 0.15,
- r'(?is)<BODY.*not found.*</BODY>': 0.10,
- r'(?is)<H1>.*?not found.*?</H1>': 0.15,
- r'(?is)<BODY.*the requested URL.*</BODY>': 0.10,
- r'(?is)<BODY.*the page you requested.*</BODY>': 0.10,
- r'(?is)<BODY.*page.{1,50}unavailable.*</BODY>': 0.10,
- r'(?is)<BODY.*request.{1,50}unavailable.*</BODY>': 0.10,
- r'(?i)does not exist': 0.10,
- }
-# end
-
-
-EXPECT_LIST = []
-for s in EXPECT_WORD_LIST:
- try:
- p = re.compile(s, re.I)
- except TypeError:
- EXPECT_LIST.append(s)
- else:
- EXPECT_LIST.append(p)
-
-OK_PROCESS_LIST = ['adept-notifier',
- 'adept_notifier',
- 'yum-updatesd',
- ]
-
-CONFIGURE_ERRORS = { 1 : "General/unknown error",
- 2 : "libusb not found",
- 3 : "cups-devel not found",
- 4 : "libnetsnmp not found",
- 5 : "netsnmp-devel not found",
- 6 : "python-devel not found",
- 7 : "pthread-devel not found",
- 8 : "ppdev-devel not found",
- 9 : "libcups not found",
- 10 : "libm not found",
- 11 : "libusb-devel not found",
- 12 : "sane-backends-devel not found",
- 13 : "libdbus not found",
- 14 : "dbus-devel not found",
- 15 : "fax requires dbus support",
- 102 : "libjpeg not found",
- 103 : "jpeg-devel not found",
- 104 : "libdi not found",
- }
-
-
-try:
- from functools import update_wrapper
-except ImportError: # using Python version < 2.5
- def trace(f):
- def newf(*args, **kw):
- log.debug("TRACE: func=%s(), args=%s, kwargs=%s" % (f.__name__, args, kw))
- return f(*args, **kw)
- newf.__name__ = f.__name__
- newf.__dict__.update(f.__dict__)
- newf.__doc__ = f.__doc__
- newf.__module__ = f.__module__
- return newf
-else: # using Python 2.5+
- def trace(f):
- def newf(*args, **kw):
- log.debug("TRACE: func=%s(), args=%s, kwargs=%s" % (f.__name__, args, kw))
- return f(*args, **kw)
- return update_wrapper(newf, f)
-
-
-
-class CoreInstall(object):
- def __init__(self, mode=MODE_INSTALLER, ui_mode=INTERACTIVE_MODE, ui_toolkit='qt4'):
- os.umask(0022)
- self.mode = mode
- self.ui_mode = ui_mode
- self.password = ''
- self.version_description, self.version_public, self.version_internal = '', '', ''
- self.bitness = 32
- self.endian = utils.LITTLE_ENDIAN
- self.distro, self.distro_name, self.distro_version = DISTRO_UNKNOWN, '', DISTRO_VER_UNKNOWN
- self.distro_version_supported = False
- self.install_location = '/usr'
- self.hplip_present = False
- self.have_dependencies = {}
- self.native_cups = True
- self.ppd_dir = None
- self.drv_dir = None
- self.distros = {}
- self.network_connected = False
- self.ui_toolkit = ui_toolkit
- self.enable = None
- self.disable = None
- self.plugin_path = "/tmp"
- self.plugin_version = '0.0.0'
- self.plugin_name = ''
- self.reload_dbus = False
-
-
- self.FIELD_TYPES = {
- 'distros' : TYPE_LIST,
- 'index' : TYPE_INT,
- 'versions' : TYPE_LIST,
- 'display_name' : TYPE_STRING,
- 'alt_names': TYPE_LIST,
- 'display': TYPE_BOOL,
- 'notes': TYPE_STRING,
- 'package_mgrs': TYPE_LIST,
- 'package_mgr_cmd':TYPE_STRING,
- 'pre_install_cmd': TYPE_LIST,
- 'pre_depend_cmd': TYPE_LIST,
- 'post_depend_cmd': TYPE_LIST,
- 'hpoj_remove_cmd': TYPE_STRING,
- 'hplip_remove_cmd': TYPE_STRING,
- 'su_sudo': TYPE_STRING,
- 'ppd_install': TYPE_STRING,
- 'udev_mode_fix': TYPE_BOOL,
- 'ppd_dir': TYPE_STRING,
- 'drv_dir' : TYPE_STRING,
- 'fix_ppd_symlink': TYPE_BOOL,
- 'code_name': TYPE_STRING,
- 'supported': TYPE_BOOL, # Supported by installer
- 'release_date': TYPE_STRING,
- 'packages': TYPE_LIST,
- 'commands': TYPE_LIST,
- 'same_as_version' : TYPE_STRING,
- 'scan_supported' : TYPE_BOOL,
- 'fax_supported' : TYPE_BOOL,
- 'pcard_supported' : TYPE_BOOL,
- 'network_supported' : TYPE_BOOL,
- 'parallel_supported' : TYPE_BOOL,
- 'usb_supported' : TYPE_BOOL,
- 'packaged_version': TYPE_STRING, # Version of HPLIP pre-packaged in distro
- 'cups_path_with_bitness' : TYPE_BOOL,
- 'ui_toolkit' : TYPE_STRING, # qt3 or qt4 [or gtk] or none
- 'policykit' : TYPE_BOOL,
- 'native_cups' : TYPE_BOOL,
- 'package_available' : TYPE_BOOL,
- 'package_arch' : TYPE_LIST,
- 'add_user_to_group': TYPE_STRING,
- 'open_mdns_port' : TYPE_LIST, # command to use to open mdns multicast port 5353
- 'acl_rules' : TYPE_BOOL, # Use ACL uDEV rules (Ubuntu 9.10+)
- 'libdir_path' : TYPE_STRING,
- }
-
- # components
- # 'name': ('description', [<option list>])
- self.components = {
- 'hplip': ("HP Linux Imaging and Printing System", ['base', 'network', 'gui_qt4',
- 'fax', 'scan', 'docs']),
- }
-
- self.selected_component = 'hplip'
-
- # options
- # name: (<required>, "<display_name>", [<dependency list>]), ...
- self.options = {
- 'base': (True, 'Required HPLIP base components (including hpcups)', []), # HPLIP
- 'network' : (False, 'Network/JetDirect I/O', []),
- 'gui_qt4' : (False, 'Graphical User Interfaces (Qt4)', []),
- 'fax' : (False, 'PC Send Fax support', []),
- 'scan': (False, 'Scanning support', []),
- 'docs': (False, 'HPLIP documentation (HTML)', []),
- 'policykit': (False, 'Administrative policy framework', []),
- }
-
-
- # holds whether the user has selected (turned on each option)
- # initial values are defaults (for GUI only)
- self.selected_options = {
- 'base': True,
- 'network': True,
- 'gui_qt4': True,
- 'fax': True,
- 'scan': True,
- 'docs': True,
- 'policykit': False,
- 'native_cups': False,
- }
-
- # dependencies
- # 'name': (<required for option>, [<option list>], <display_name>, <check_func>, <runtime/compiletime>), ...
- # Note: any change to the list of dependencies must be reflected in base/distros.py
- self.dependencies = {
- # Required base packages
- 'libjpeg': (True, ['base'], "libjpeg - JPEG library", self.check_libjpeg, DEPENDENCY_RUN_AND_COMPILE_TIME),
- 'libtool': (True, ['base'], "libtool - Library building support services", self.check_libtool, DEPENDENCY_COMPILE_TIME),
- 'cups' : (True, ['base'], 'CUPS - Common Unix Printing System', self.check_cups, DEPENDENCY_RUN_TIME),
- 'cups-devel': (True, ['base'], 'CUPS devel- Common Unix Printing System development files', self.check_cups_devel, DEPENDENCY_COMPILE_TIME),
- 'cups-image': (True, ['base'], "CUPS image - CUPS image development files", self.check_cups_image, DEPENDENCY_COMPILE_TIME),
- 'gcc' : (True, ['base'], 'gcc - GNU Project C and C++ Compiler', self.check_gcc, DEPENDENCY_COMPILE_TIME),
- 'make' : (True, ['base'], "make - GNU make utility to maintain groups of programs", self.check_make, DEPENDENCY_COMPILE_TIME),
- 'python-devel' : (True, ['base'], "Python devel - Python development files", self.check_python_devel, DEPENDENCY_COMPILE_TIME),
- 'libpthread' : (True, ['base'], "libpthread - POSIX threads library", self.check_libpthread, DEPENDENCY_RUN_AND_COMPILE_TIME),
- 'python2x': (True, ['base'], "Python 2.2 or greater - Python programming language", self.check_python2x, DEPENDENCY_RUN_AND_COMPILE_TIME),
- 'python-xml' : (True, ['base'], "Python XML libraries", self.check_python_xml, DEPENDENCY_RUN_TIME),
- 'gs': (True, ['base'], "GhostScript - PostScript and PDF language interpreter and previewer", self.check_gs, DEPENDENCY_RUN_TIME),
- 'libusb': (True, ['base'], "libusb - USB library", self.check_libusb, DEPENDENCY_RUN_AND_COMPILE_TIME),
-
- # Optional base packages
- 'cups-ddk': (False, ['base'], "CUPS DDK - CUPS driver development kit", self.check_cupsddk, DEPENDENCY_RUN_TIME), # req. for .drv PPD installs
-
-
- # Required scan packages
- 'sane': (True, ['scan'], "SANE - Scanning library", self.check_sane, DEPENDENCY_RUN_TIME),
- 'sane-devel' : (True, ['scan'], "SANE - Scanning library development files", self.check_sane_devel, DEPENDENCY_COMPILE_TIME),
-
- # Optional scan packages
- 'xsane': (False, ['scan'], "xsane - Graphical scanner frontend for SANE", self.check_xsane, DEPENDENCY_RUN_TIME),
- 'scanimage': (False, ['scan'], "scanimage - Shell scanning program", self.check_scanimage, DEPENDENCY_RUN_TIME),
- 'pil': (False, ['scan'], "PIL - Python Imaging Library (required for commandline scanning with hp-scan)", self.check_pil, DEPENDENCY_RUN_TIME),
-
- # Required fax packages
- 'python23': (True, ['fax'], "Python 2.3 or greater - Required for fax functionality", self.check_python23, DEPENDENCY_RUN_TIME),
- 'dbus': (True, ['fax'], "DBus - Message bus system", self.check_dbus, DEPENDENCY_RUN_AND_COMPILE_TIME),
- 'python-dbus': (True, ['fax'], "Python DBus - Python bindings for DBus", self.check_python_dbus, DEPENDENCY_RUN_TIME),
-
- # Optional fax packages
- 'reportlab': (False, ['fax'], "Reportlab - PDF library for Python", self.check_reportlab, DEPENDENCY_RUN_TIME),
-
- # Required and optional qt4 GUI packages
- 'pyqt4': (True, ['gui_qt4'], "PyQt 4- Qt interface for Python (for Qt version 4.x)", self.check_pyqt4, DEPENDENCY_RUN_TIME), # PyQt 4.x )
- 'pyqt4-dbus' : (True, ['gui_qt4'], "PyQt 4 DBus - DBus Support for PyQt4", self.check_pyqt4_dbus, DEPENDENCY_RUN_TIME),
- 'policykit': (False, ['gui_qt4'], "PolicyKit - Administrative policy framework", self.check_policykit, DEPENDENCY_RUN_TIME), # optional for non-sudo behavior of plugins (only optional for Qt4 option)
- 'python-notify' : (False, ['gui_qt4'], "Python libnotify - Python bindings for the libnotify Desktop notifications", self.check_pynotify, DEPENDENCY_RUN_TIME), # Optional for libnotify style popups from hp-systray
-
- # Required network I/O packages
- 'libnetsnmp-devel': (True, ['network'], "libnetsnmp-devel - SNMP networking library development files", self.check_libnetsnmp, DEPENDENCY_RUN_AND_COMPILE_TIME),
- 'libcrypto': (True, ['network'], "libcrypto - OpenSSL cryptographic library", self.check_libcrypto, DEPENDENCY_RUN_AND_COMPILE_TIME),
- }
-
- for opt in self.options:
- update_spinner()
- for d in self.dependencies:
- if opt in self.dependencies[d][1]:
- self.options[opt][2].append(d)
-
- self.load_distros()
-
- self.distros_index = {}
- for d in self.distros:
- self.distros_index[self.distros[d]['index']] = d
-
-
- def init(self, callback=None):
- if callback is not None:
- callback("Init...\n")
-
- update_spinner()
-
- # Package manager names
- self.package_mgrs = []
- for d in self.distros:
- update_spinner()
-
- for a in self.distros[d].get('package_mgrs', []):
- if a and a not in self.package_mgrs:
- self.package_mgrs.append(a)
-
- self.version_description, self.version_public, self.version_internal = self.get_hplip_version()
- log.debug("HPLIP Description=%s Public version=%s Internal version = %s" %
- (self.version_description, self.version_public, self.version_internal))
-
- # have_dependencies
- # is each dependency satisfied?
- # start with each one 'No'
- for d in self.dependencies:
- update_spinner()
- self.have_dependencies[d] = False
-
- self.get_distro()
- self.distro_changed()
-
- if callback is not None:
- callback("Distro: %s\n" % self.distro)
-
- self.check_dependencies(callback)
-
- for d in self.dependencies:
- update_spinner()
-
- log.debug("have %s = %s" % (d, self.have_dependencies[d]))
-
- if callback is not None:
- callback("Result: %s = %s\n" % (d, self.have_dependencies[d]))
-
- pid, cmdline = self.check_pkg_mgr()
- if pid:
- log.debug("Running package manager: %s (%d)" % (cmdline, pid) )
-
- self.bitness = utils.getBitness()
- log.debug("Bitness = %d" % self.bitness)
-
- update_spinner()
-
- self.endian = utils.getEndian()
- log.debug("Endian = %d" % self.endian)
-
- update_spinner()
-
- self.distro_name = self.distros_index[self.distro]
- self.distro_version_supported = self.get_distro_ver_data('supported', False)
-
- log.debug("Distro = %s Distro Name = %s Display Name= %s Version = %s Supported = %s" %
- (self.distro, self.distro_name, self.distros[self.distro_name]['display_name'],
- self.distro_version, self.distro_version_supported))
-
- update_spinner()
-
- self.hplip_present = self.check_hplip()
- log.debug("HPLIP (prev install) = %s" % self.hplip_present)
-
- status, output = self.run('cups-config --version')
- self.cups_ver = output.strip()
- log.debug("CUPS version = %s" % self.cups_ver)
-
- if self.distro_name == "ubuntu":
- self.reload_dbus = True
-
- log.debug("DBUS configuration reload possible? %s" % self.reload_dbus)
-
- status, self.sys_uname_info = self.run('uname -a')
- self.sys_uname_info = self.sys_uname_info.replace('\n', '')
- log.debug(self.sys_uname_info)
-
- # Record the installation time/date and version.
- # Also has the effect of making the .hplip.conf file user r/w
- # on the 1st run so that running hp-setup as root doesn't lock
- # the user out of owning the file
- user_conf.set('installation', 'date_time', time.strftime("%x %H:%M:%S", time.localtime()))
- user_conf.set('installation', 'version', self.version_public)
-
- if callback is not None:
- callback("Done")
-
-
- def init_for_docs(self, distro_name, version, bitness=32):
- self.distro_name = distro_name
- self.distro_version = version
-
- try:
- self.distro = self.distros[distro_name]['index']
- except KeyError:
- log.error("Invalid distro name: %s" % distro_name)
- sys.exit(1)
-
- self.bitness = bitness
-
- for d in self.dependencies:
- self.have_dependencies[d] = True
-
- self.enable_ppds = self.get_distro_ver_data('ppd_install', 'ppd') == 'ppd'
- self.ppd_dir = self.get_distro_ver_data('ppd_dir')
- self.drv_dir = self.get_distro_ver_data('drv_dir')
-
- self.distro_version_supported = True # for manual installs
-
-
- def check_dependencies(self, callback=None):
- update_ld_output()
-
- for d in self.dependencies:
- update_spinner()
-
- log.debug("Checking for dependency '%s'...\n" % d)
-
- if callback is not None:
- callback("Checking: %s\n" % d)
-
- self.have_dependencies[d] = self.dependencies[d][3]()
- log.debug("have %s = %s" % (d, self.have_dependencies[d]))
-
- cleanup_spinner()
-
-
- def password_func(self):
- if self.password:
- return self.password
- elif self.ui_mode == INTERACTIVE_MODE:
- import getpass
- return getpass.getpass("Enter password: ")
- else:
- return ''
-
-
- def run(self, cmd, callback=None, timeout=300): # ==> status, output
- if cmd is None:
- return 1, ''
- output = cStringIO.StringIO()
- ok, ret = False, ''
- # Hack! TODO: Fix!
- check_timeout = not (cmd.startswith('xterm') or cmd.startswith('gnome-terminal'))
-
- try:
- child = pexpect.spawn(cmd, timeout=1)
- except pexpect.ExceptionPexpect:
- return 1, ''
-
- try:
- try:
- start = time.time()
-
- while True:
- update_spinner()
-
- i = child.expect_list(EXPECT_LIST)
-
- cb = child.before
- if cb:
- # output
- start = time.time()
- log.log_to_file(cb)
- log.debug(cb)
- output.write(cb)
-
- if callback is not None:
- if callback(cb): # cancel
- break
-
- elif check_timeout:
- # no output
- span = int(time.time()-start)
-
- if span:
- if span % 5 == 0:
- log.debug("No output seen in %d secs" % span)
-
- if span > timeout:
- log.error("No output seen in over %d sec... (Is the CD-ROM/DVD source repository enabled? It shouldn't be!)" % timeout)
- child.close()
- child.terminate(force=True)
- break
-
- if i == 0: # EOF
- ok, ret = True, output.getvalue()
- break
-
- elif i == 1: # TIMEOUT
- continue
-
- elif i == 2: # zypper "Continue?"
- child.sendline("YES")
-
- else: # password
- child.sendline(self.password)
-
- except (Exception, pexpect.ExceptionPexpect):
- log.exception()
-
- finally:
- cleanup_spinner()
-
- try:
- child.close()
- except OSError:
- pass
-
- if ok:
- return child.exitstatus, ret
- else:
- return 1, ''
-
-
- def get_distro(self):
- log.debug("Determining distro...")
- self.distro, self.distro_version = DISTRO_UNKNOWN, '0.0'
-
- found = False
-
- lsb_release = utils.which("lsb_release")
-
- if lsb_release:
- log.debug("Using 'lsb_release -is/-rs'")
- cmd = os.path.join(lsb_release, "lsb_release")
- status, name = self.run(cmd + ' -is')
- name = name.lower().strip()
- log.debug("Distro name=%s" % name)
-
- if not status and name:
- status, ver = self.run(cmd + ' -rs')
- ver = ver.lower().strip()
- log.debug("Distro version=%s" % ver)
-
- if not status and ver:
- for d in self.distros:
- if name.find(d) > -1:
- self.distro = self.distros[d]['index']
- found = True
- self.distro_version = ver
- break
-
- if not found:
- try:
- name = file('/etc/issue', 'r').read().lower().strip()
- except IOError:
- # Some O/Ss don't have /etc/issue (Mac)
- self.distro, self.distro_version = DISTRO_UNKNOWN, '0.0'
- else:
- for d in self.distros:
- if name.find(d) > -1:
- self.distro = self.distros[d]['index']
- found = True
- else:
- for x in self.distros[d].get('alt_names', ''):
- if x and name.find(x) > -1:
- self.distro = self.distros[d]['index']
- found = True
- break
-
- if found:
- break
-
- if found:
- for n in name.split():
- m= n
- if '.' in n:
- m = '.'.join(n.split('.')[:2])
-
- try:
- float(m)
- except ValueError:
- try:
- int(m)
- except ValueError:
- self.distro_version = '0.0'
- else:
- self.distro_version = m
- break
- else:
- self.distro_version = m
- break
-
- log.debug("/etc/issue: %s %s" % (name, self.distro_version))
-
- log.debug("distro=%d, distro_version=%s" % (self.distro, self.distro_version))
-
-
- def distro_changed(self):
- ppd_install = self.get_distro_ver_data('ppd_install', 'ppd')
-
- if ppd_install not in ('ppd', 'drv'):
- log.warning("Invalid ppd_install value: %s" % ppd_install)
-
- self.enable_ppds = (ppd_install == 'ppd')
-
- log.debug("Enable PPD install: %s (False=drv)" % self.enable_ppds)
-
- self.ppd_dir = self.get_distro_ver_data('ppd_dir')
-
- self.drv_dir = self.get_distro_ver_data('drv_dir')
- if not self.enable_ppds and not self.drv_dir:
- log.warning("Invalid drv_dir value: %s" % self.drv_dir)
-
- self.distro_version_supported = self.get_distro_ver_data('supported', False)
- self.selected_options['fax'] = self.get_distro_ver_data('fax_supported', True)
- self.selected_options['network'] = self.get_distro_ver_data('network_supported', True)
- self.selected_options['scan'] = self.get_distro_ver_data('scan_supported', True)
- self.selected_options['policykit'] = self.get_distro_ver_data('policykit', False)
- self.native_cups = self.get_distro_ver_data('native_cups', False)
-
- # Adjust required flag based on the distro ver ui_toolkit value
- ui_toolkit = self.get_distro_ver_data('ui_toolkit', 'qt4').lower()
-
- if ui_toolkit == 'qt4':
- log.debug("Default UI toolkit: Qt4")
- self.ui_toolkit = 'qt4'
- self.selected_options['gui_qt4'] = True
-
- # todo: gtk
- else:
- self.selected_options['gui_qt4'] = False
-
- # Override with --qt4 command args
- if self.enable is not None:
- if 'qt4' in self.enable:
- log.debug("User selected UI toolkit: Qt4")
- self.ui_toolkit = 'qt4'
- self.selected_options['gui_qt4'] = True
-
- if self.disable is not None:
- if 'qt4' in self.disable:
- log.debug("User deselected UI toolkit: Qt4")
- self.selected_options['gui_qt4'] = False
-
-
- def __fixup_data(self, key, data):
- field_type = self.FIELD_TYPES.get(key, TYPE_STRING)
- #log.debug("%s (%s) %d" % (key, data, field_type))
-
- if field_type == TYPE_BOOL:
- return utils.to_bool(data)
-
- elif field_type == TYPE_STRING:
- if type('') == type(data):
- return data.strip()
- else:
- return data
-
- elif field_type == TYPE_INT:
- try:
- return int(data)
- except ValueError:
- return 0
-
- elif field_type == TYPE_LIST:
- return [x for x in data.split(',') if x]
-
-
- def load_distros(self):
- if self.mode == MODE_INSTALLER:
- distros_dat_file = os.path.join('installer', 'distros.dat')
-
- elif self.mode == MODE_CREATE_DOCS:
- distros_dat_file = os.path.join('..', '..', 'installer', 'distros.dat')
-
- else: # MODE_CHECK
- distros_dat_file = os.path.join(prop.home_dir, 'installer', 'distros.dat')
-
- if not os.path.exists(distros_dat_file):
- log.debug("DAT file not found at %s. Using local relative path..." % distros_dat_file)
- distros_dat_file = os.path.join('installer', 'distros.dat')
-
- distros_dat = ConfigBase(distros_dat_file)
- distros_list = self.__fixup_data('distros', distros_dat.get('distros', 'distros'))
- log.debug(distros_list)
-
- for distro in distros_list:
- update_spinner()
- d = {}
-
- if not distros_dat.has_section(distro):
- log.debug("Missing distro section in distros.dat: [%s]" % distro)
- continue
-
- for key in distros_dat.keys(distro):
- d[key] = self.__fixup_data(key, distros_dat.get(distro, key))
-
- self.distros[distro] = d
- versions = self.__fixup_data("versions", distros_dat.get(distro, 'versions'))
- self.distros[distro]['versions'] = {}
-
- for ver in versions:
- same_as_version, supported = False, True
- v = {}
- ver_section = "%s:%s" % (distro, ver)
-
- if not distros_dat.has_section(ver_section):
- log.error("Missing version section in distros.dat: [%s:%s]" % (distro, ver))
- continue
-
- if 'same_as_version' in distros_dat.keys(ver_section):
- same_as_version = True
-
- supported = self.__fixup_data('supported', distros_dat.get(ver_section, 'supported'))
-
- for key in distros_dat.keys(ver_section):
- v[key] = self.__fixup_data(key, distros_dat.get(ver_section, key))
-
- self.distros[distro]['versions'][ver] = v
- self.distros[distro]['versions'][ver]['dependency_cmds'] = {}
-
- if same_as_version: # or not supported:
- continue
-
- for dep in self.dependencies:
- dd = {}
- dep_section = "%s:%s:%s" % (distro, ver, dep)
-
- if not distros_dat.has_section(dep_section) and not same_as_version:
- log.debug("Missing dependency section in distros.dat: [%s:%s:%s]" % (distro, ver, dep))
- continue
-
- #if same_as_version:
- # continue
-
- for key in distros_dat.keys(dep_section):
- dd[key] = self.__fixup_data(key, distros_dat.get(dep_section, key))
-
- self.distros[distro]['versions'][ver]['dependency_cmds'][dep] = dd
-
- versions = self.distros[distro]['versions']
- for ver in versions:
- ver_section = "%s:%s" % (distro, ver)
-
- if 'same_as_version' in distros_dat.keys(ver_section):
- v = self.__fixup_data("same_as_version", distros_dat.get(ver_section, 'same_as_version'))
- log.debug("Setting %s:%s to %s:%s" % (distro, ver, distro, v))
-
- try:
- vv = self.distros[distro]['versions'][v].copy()
- vv['same_as_version'] = v
- self.distros[distro]['versions'][ver] = vv
- except KeyError:
- log.debug("Missing 'same_as_version=' version in distros.dat for section [%s:%s]." % (distro, v))
- continue
-
- #import pprint
- #pprint.pprint(self.distros)
-
- def pre_install(self):
- pass
-
-
- def pre_depend(self):
- pass
-
-
- def check_python2x(self):
- py_ver = sys.version_info
- py_major_ver, py_minor_ver = py_ver[:2]
- log.debug("Python ver=%d.%d" % (py_major_ver, py_minor_ver))
- return py_major_ver >= 2
-
-
- def check_gcc(self):
- return check_tool('gcc --version', 0) and check_tool('g++ --version', 0)
-
-
- def check_make(self):
- return check_tool('make --version', 3.0)
-
-
- def check_libusb(self):
- if not check_lib('libusb'):
- return False
-
- return len(locate_file_contains("usb.h", '/usr/include', 'usb_init(void)'))
-
-
- def check_libjpeg(self):
- return check_lib("libjpeg") and check_file("jpeglib.h")
-
-
- def check_libcrypto(self):
- return check_lib("libcrypto") and check_file("crypto.h")
-
-
- def check_libpthread(self):
- return check_lib("libpthread") and check_file("pthread.h")
-
-
- def check_libnetsnmp(self):
- return check_lib("libnetsnmp") and check_file("net-snmp-config.h")
-
-
- def check_reportlab(self):
- try:
- log.debug("Trying to import 'reportlab'...")
- import reportlab
-
- ver = reportlab.Version
- try:
- ver_f = float(ver)
- except ValueError:
- log.debug("Can't determine version.")
- return False
- else:
- log.debug("Version: %.1f" % ver_f)
- if ver_f >= 2.0:
- log.debug("Success.")
- return True
- else:
- return False
-
- except ImportError:
- log.debug("Failed.")
- return False
-
-
- def check_python23(self):
- py_ver = sys.version_info
- py_major_ver, py_minor_ver = py_ver[:2]
- log.debug("Python ver=%d.%d" % (py_major_ver, py_minor_ver))
- return py_major_ver >= 2 and py_minor_ver >= 3
-
-
- def check_python_xml(self):
- try:
- import xml.parsers.expat
- except ImportError:
- return False
- else:
- return True
-
-
- def check_sane(self):
- return check_lib('libsane')
-
-
- def check_sane_devel(self):
- return len(locate_file_contains("sane.h", '/usr/include', 'extern SANE_Status sane_init'))
-
-
- def check_xsane(self):
- if os.getenv('DISPLAY'):
- return check_tool('xsane --version', 0.9) # will fail if X not running...
- else:
- return bool(utils.which("xsane")) # ...so just see if it installed somewhere
-
-
- def check_scanimage(self):
- return check_tool('scanimage --version', 1.0)
-
-
- def check_gs(self):
- return check_tool('gs -v', 7.05)
-
-
- def check_pyqt4(self):
- if self.ui_toolkit == 'qt4':
- try:
- import PyQt4
- except ImportError:
- return False
- else:
- return True
-
- else:
- return False
-
-
- def check_pyqt4_dbus(self):
- if self.ui_toolkit == 'qt4':
- try:
- from dbus.mainloop.qt import DBusQtMainLoop
- except ImportError:
- return False
- else:
- return True
- else:
- return False
-
-
- def check_python_devel(self):
- return check_file('Python.h')
-
-
- def check_pynotify(self):
- try:
- import pynotify
- except ImportError:
- return False
-
- return True
-
-
- def check_python_dbus(self):
- log.debug("Checking for python-dbus (>= 0.80)...")
- try:
- import dbus
- try:
- ver = dbus.version
- log.debug("Version: %s" % '.'.join([str(x) for x in dbus.version]))
- return ver >= (0,80,0)
-
- except AttributeError:
- try:
- ver = dbus.__version__
- log.debug("Version: %s" % dbus.__version__)
- log.debug("HPLIP requires dbus version > 0.80.")
- return False
-
- except AttributeError:
- log.debug("Unknown version. HPLIP requires dbus version > 0.80.")
- return False
-
- except ImportError:
- return False
-
-
- def check_python_ctypes(self):
- try:
- import ctypes
- return True
- except ImportError:
- return False
-
-
- def check_dbus(self):
- log.debug("Checking for dbus running and header files present (dbus-devel)...")
- return check_ps(['dbus-daemon']) and \
- len(locate_file_contains("dbus-message.h", '/usr/include', 'dbus_message_new_signal'))
-
-
- def check_cups_devel(self):
- return check_file('cups.h') and bool(utils.which('lpr'))
-
-
- def check_cups(self):
- status, output = self.run('lpstat -r')
- if status > 0:
- log.debug("CUPS is not running.")
- return False
- else:
- log.debug("CUPS is running.")
- return True
-
-
- def check_cups_image(self):
- return check_file("raster.h", "/usr/include/cups")
-
-
- def check_hplip(self):
- log.debug("Checking for HPLIP...")
- return locate_files('hplip.conf', '/etc/hp')
-
-
- def check_hpssd(self):
- log.debug("Checking for hpssd...")
- return check_ps(['hpssd'])
-
-
- def check_libtool(self):
- log.debug("Checking for libtool...")
- return check_tool('libtool --version')
-
-
- def check_pil(self):
- log.debug("Checking for PIL...")
- try:
- import Image
- return True
- except ImportError:
- return False
-
-
- def check_cupsddk(self):
- log.debug("Checking for cups-ddk...")
- # TODO: Compute these paths some way or another...
- #return check_tool("/usr/lib/cups/driver/drv list") and os.path.exists("/usr/share/cupsddk/include/media.defs")
- return (check_file('drv', "/usr/lib/cups/driver") or check_file('drv', "/usr/lib64/cups/driver")) and \
- check_file('media.defs', "/usr/share/cupsddk/include")
-
-
- def check_policykit(self):
- log.debug("Checking for PolicyKit...")
- return (check_file('PolicyKit.conf', "/etc/PolicyKit") and check_file('org.gnome.PolicyKit.AuthorizationManager.service', "/usr/share/dbus-1/services")) or (check_file('50-localauthority.conf', "/etc/polkit-1/localauthority.conf.d") and check_file('org.freedesktop.PolicyKit1.service', "/usr/share/dbus-1/system-services"))
-
- def check_pkg_mgr(self):
- """
- Check if any pkg mgr processes are running
- """
- log.debug("Searching for '%s' in running processes..." % self.package_mgrs)
-
- processes = get_process_list()
-
- for pid, cmdline in processes:
- for p in self.package_mgrs:
- if p in cmdline:
- for k in OK_PROCESS_LIST:
- #print k, cmdline
- if k in cmdline:
- break
-
- else:
- log.debug("Found: %s (%d)" % (cmdline, pid))
- return (pid, cmdline)
-
- log.debug("Not found")
- return (0, '')
-
-
- def get_hplip_version(self):
- self.version_description, self.version_public, self.version_internal = '', '', ''
-
- if self.mode == MODE_INSTALLER:
- ac_init_pat = re.compile(r"""AC_INIT\(\[(.*?)\], *\[(.*?)\], *\[(.*?)\], *\[(.*?)\] *\)""", re.IGNORECASE)
-
- try:
- config_in = open('./configure.in', 'r')
- except IOError:
- self.version_description, self.version_public, self.version_internal = \
- '', sys_conf.get('configure', 'internal-tag', '0.0.0'), prop.installed_version
- else:
- for c in config_in:
- if c.startswith("AC_INIT"):
- match_obj = ac_init_pat.search(c)
- self.version_description = match_obj.group(1)
- self.version_public = match_obj.group(2)
- self.version_internal = match_obj.group(3)
- name = match_obj.group(4)
- break
-
- config_in.close()
-
- if name != 'hplip':
- log.error("Invalid archive!")
-
-
- else: # MODE_CHECK
- try:
- self.version_description, self.version_public, self.version_internal = \
- '', sys_conf.get('configure', 'internal-tag', '0.0.0'), prop.installed_version
- except KeyError:
- self.version_description, self.version_public, self.version_internal = '', '', ''
-
- return self.version_description, self.version_public, self.version_internal
-
-
- def configure(self):
- configure_cmd = './configure'
- configuration = {}
- dbus_avail = self.have_dependencies['dbus'] and self.have_dependencies['python-dbus']
- configuration['network-build'] = self.selected_options['network']
- configuration['fax-build'] = self.selected_options['fax'] and dbus_avail
- configuration['dbus-build'] = dbus_avail
- configuration['qt4'] = self.selected_options['gui_qt4']
- configuration['scan-build'] = self.selected_options['scan']
- configuration['doc-build'] = self.selected_options['docs']
- configuration['policykit'] = self.selected_options['policykit']
-
- # Setup printer driver configure flags based on distro data...
- if self.native_cups: # hpcups
- configuration['hpcups-install'] = True
- configuration['hpijs-install'] = False
- configuration['foomatic-ppd-install'] = False
- configuration['foomatic-drv-install'] = False
-
- if self.enable_ppds:
- configuration['cups-ppd-install'] = True
- configuration['cups-drv-install'] = False
- else:
- configuration['cups-ppd-install'] = False
- configuration['cups-drv-install'] = True
-
- else: # HPIJS/foomatic
- configuration['hpcups-install'] = False
- configuration['hpijs-install'] = True
- configuration['cups-ppd-install'] = False
- configuration['cups-drv-install'] = False
-
- if self.enable_ppds:
- configuration['foomatic-ppd-install'] = True
- configuration['foomatic-drv-install'] = False
- else:
- configuration['foomatic-ppd-install'] = False
- configuration['foomatic-drv-install'] = True
-
-
- # ... and then override and adjust for consistency with passed in parameters
- if self.enable is not None:
- for c in self.enable:
- if c == 'hpcups-install':
- configuration['hpijs-install'] = False
- configuration['foomatic-ppd-install'] = False
- configuration['foomatic-drv-install'] = False
- elif c == 'hpijs-install':
- configuration['hpcups-install'] = False
- configuration['cups-ppd-install'] = False
- configuration['cups-drv-install'] = False
- elif c == 'foomatic-ppd-install':
- configuration['foomatic-drv-install'] = False
- elif c == 'foomatic-drv-install':
- configuration['foomatic-ppd-install'] = False
- elif c == 'cups-ppd-install':
- configuration['cups-drv-install'] = False
- elif c == 'cups-drv-install':
- configuration['cups-ppd-install'] = False
-
- if self.disable is not None:
- for c in self.disable:
- if c == 'hpcups-install':
- configuration['hpijs-install'] = True
- configuration['cups-ppd-install'] = False
- configuration['cups-drv-install'] = False
- elif c == 'hpijs-install':
- configuration['hpcups-install'] = True
- configuration['foomatic-ppd-install'] = False
- configuration['foomatic-drv-install'] = False
- elif c == 'foomatic-ppd-install':
- configuration['foomatic-drv-install'] = True
- elif c == 'foomatic-drv-install':
- configuration['foomatic-ppd-install'] = True
- elif c == 'cups-ppd-install':
- configuration['cups-drv-install'] = True
- elif c == 'cups-drv-install':
- configuration['cups-ppd-install'] = True
-
- if self.ppd_dir is not None:
- configure_cmd += ' --with-hpppddir=%s' % self.ppd_dir
-
- libdir_path = self.get_distro_ver_data('libdir_path',False)
- if libdir_path and self.bitness == 64:
- configure_cmd += ' --libdir=%s' % (libdir_path)
- elif self.bitness == 64:
- configure_cmd += ' --libdir=/usr/lib64'
-
- configure_cmd += ' --prefix=%s' % self.install_location
-
- if self.get_distro_ver_data('cups_path_with_bitness', False) and self.bitness == 64:
- configure_cmd += ' --with-cupsbackenddir=/usr/lib64/cups/backend --with-cupsfilterdir=/usr/lib64/cups/filter'
-
- if self.get_distro_ver_data('acl_rules', False):
- configure_cmd += ' --enable-udev-acl-rules'
-
- if self.enable is not None:
- for c in self.enable:
- configuration[c] = True
-
- if self.disable is not None:
- for c in self.disable:
- configuration[c] = False
-
- for c in configuration:
- if configuration[c]:
- configure_cmd += ' --enable-%s' % c
- else:
- configure_cmd += ' --disable-%s' % c
-
- return configure_cmd
-
- def configure_html(self):
- configure_cmd = './configure'
- configure_cmd += ' --prefix=/usr'
- configure_cmd += ' --with-hpppddir=%s' % self.ppd_dir
-
- if self.bitness == 64:
- configure_cmd += ' --libdir=/usr/lib64'
-
- self.ui_toolkit = self.get_distro_ver_data('ui_toolkit')
- if self.ui_toolkit is not None and self.ui_toolkit == 'qt3':
- configure_cmd += ' --enable-qt3 --disable-qt4'
- else:
- configure_cmd += ' --enable-qt4'
-
- self.native_cups = self.get_distro_ver_data('native_cups')
- if self.native_cups is not None and self.native_cups == 1:
- configure_cmd += ' --enable-hpcups-install --enable-cups-drv-install --enable-cups-ppd-install --disable-hpijs-install --disable-foomatic-drv-install --disable-foomatic-ppd-install --disable-foomatic-rip-hplip-install'
- else:
- configure_cmd += ' --disable-hpcups-install --disable-cups-drv-install --disable-cups-ppd-install --enable-hpijs-install --enable-foomatic-drv-install --enable-foomatic-ppd-install --enable-foomatic-rip-hplip-install'
-
- self.fax_supported = self.get_distro_ver_data('fax_supported')
- if self.fax_supported is None:
- configure_cmd += ' --disable-fax-build --disable-dbus-build'
- else:
- configure_cmd += ' --enable-fax-build --enable-dbus-build'
-
- self.network_supported = self.get_distro_ver_data('network_supported')
- if self.network_supported is None:
- configure_cmd += ' --disable-network-build'
- else:
- configure_cmd += ' --enable-network-build'
-
- self.scan_supported = self.get_distro_ver_data('scan_supported')
- if self.scan_supported is None:
- configure_cmd += ' --disable-scan-build'
- else:
- configure_cmd += ' --enable-scan-build'
-
- self.policykit = self.get_distro_ver_data('policykit')
- if self.policykit is not None and self.policykit == 1:
- configure_cmd += ' --enable-policykit'
- else:
- configure_cmd += ' --disable-policykit'
-
- return configure_cmd
-
- def configure_qt4(self):
- configure_cmd = './configure'
- configure_cmd += ' --prefix=/usr'
- configure_cmd += ' --with-hpppddir=%s' % self.ppd_dir
-
- if self.bitness == 64:
- configure_cmd += ' --libdir=/usr/lib64'
-
- self.ui_toolkit = self.get_distro_ver_data('ui_toolkit')
- if self.ui_toolkit is not None and self.ui_toolkit == 'qt3':
- configure_cmd += ' --enable-qt3 --disable-qt4'
- else:
- configure_cmd += ' --enable-qt4'
-
- self.native_cups = self.get_distro_ver_data('native_cups')
- self.ppd_install = self.get_distro_ver_data('ppd_install')
- if self.native_cups is not None and self.native_cups == 1:
- configure_cmd += ' --enable-hpcups-install'
- if self.ppd_install == 'drv':
- configure_cmd += ' --enable-cups-drv-install --disable-cups-ppd-install'
- else:
- configure_cmd += ' --enable-cups-ppd-install --disable-cups-drv-install'
- configure_cmd += ' --disable-hpijs-install --disable-foomatic-drv-install --disable-foomatic-ppd-install --disable-foomatic-rip-hplip-install'
- else:
- configure_cmd += ' --enable-hpijs-install'
- if self.ppd_install == 'drv':
- configure_cmd += ' --enable-foomatic-drv-install --disable-foomatic-ppd-install'
- else:
- configure_cmd += ' --enable-foomatic-ppd-install --disable-foomatic-drv-install'
- configure_cmd += ' --enable-foomatic-rip-hplip-install --disable-hpcups-install --disable-cups-drv-install --disable-cups-ppd-install'
-
- self.fax_supported = self.get_distro_ver_data('fax_supported')
- if self.fax_supported is None:
- configure_cmd += ' --disable-fax-build --disable-dbus-build'
- else:
- configure_cmd += ' --enable-fax-build --enable-dbus-build'
-
- self.network_supported = self.get_distro_ver_data('network_supported')
- if self.network_supported is None:
- configure_cmd += ' --disable-network-build'
- else:
- configure_cmd += ' --enable-network-build'
-
- self.scan_supported = self.get_distro_ver_data('scan_supported')
- if self.scan_supported is None:
- configure_cmd += ' --disable-scan-build'
- else:
- configure_cmd += ' --enable-scan-build'
-
- self.policykit = self.get_distro_ver_data('policykit')
- if self.policykit is not None and self.policykit == 1:
- configure_cmd += ' --enable-policykit'
- else:
- configure_cmd += ' --disable-policykit'
-
- return configure_cmd
-
-
- def restart_cups(self):
- if os.path.exists('/etc/init.d/cups'):
- cmd = self.su_sudo() % '/etc/init.d/cups restart'
-
- elif os.path.exists('/etc/init.d/cupsys'):
- cmd = self.su_sudo() % '/etc/init.d/cupsys restart'
-
- else:
- cmd = self.su_sudo() % 'killall -HUP cupsd'
-
- self.run(cmd)
-
-
- def stop_hplip(self):
- return self.su_sudo() % "/etc/init.d/hplip stop"
-
-
- def su_sudo(self):
- if os.geteuid() == 0:
- return '%s'
- else:
- try:
- cmd = self.distros[self.distro_name]['su_sudo']
- except KeyError:
- cmd = 'su'
-
- if cmd == 'su':
- return 'su -c "%s"'
- else:
- return 'sudo %s'
-
- def su_sudo_str(self):
- return self.get_distro_data('su_sudo', 'su')
-
-
- def build_cmds(self):
- return [self.configure(),
- 'make clean',
- 'make',
- self.su_sudo() % 'make install']
-
-
- def get_distro_ver_data(self, key, default=None):
- try:
- return self.distros[self.distro_name]['versions'][self.distro_version].get(key, None) or \
- self.distros[self.distro_name].get(key, None) or default
- except KeyError:
- return default
-
- return value
-
-
- def get_distro_data(self, key, default=None):
- try:
- return self.distros[self.distro_name].get(key, None) or default
- except KeyError:
- return default
-
-
- def get_ver_data(self, key, default=None):
- try:
- return self.distros[self.distro_name]['versions'][self.distro_version].get(key, None) or default
- except KeyError:
- return default
-
- return value
-
-
- def get_dependency_data(self, dependency):
- dependency_cmds = self.get_ver_data("dependency_cmds", {})
- dependency_data = dependency_cmds.get(dependency, {})
- packages = dependency_data.get('packages', [])
- commands = dependency_data.get('commands', [])
- return packages, commands
-
-
- def get_dependency_commands(self):
- dd = self.dependencies.keys()
- dd.sort()
- commands_to_run = []
- packages_to_install = []
- overall_commands_to_run = []
- for d in dd:
- include = False
- for opt in self.dependencies[d][1]:
- if self.selected_options[opt]:
- include = True
- if include:
- pkgs, cmds = self.get_dependency_data(d)
-
- if pkgs:
- for p in pkgs:
- if not p in packages_to_install:
- packages_to_install.append(p)
-
- if cmds:
- commands_to_run.extend(cmds)
-
- package_mgr_cmd = self.get_distro_data('package_mgr_cmd')
-
- overall_commands_to_run.extend(commands_to_run)
-
- if package_mgr_cmd:
- packages_to_install = ' '.join(packages_to_install)
- overall_commands_to_run.append(utils.cat(package_mgr_cmd))
-
- if not overall_commands_to_run:
- log.error("No cmds/pkgs")
-
- return overall_commands_to_run
-
-
- def distro_known(self):
- return self.distro != DISTRO_UNKNOWN and self.distro_version != DISTRO_VER_UNKNOWN
-
-
- def distro_supported(self):
- if self.mode == MODE_INSTALLER:
- return self.distro != DISTRO_UNKNOWN and self.distro_version != DISTRO_VER_UNKNOWN and self.get_ver_data('supported', False)
- else:
- return True # For docs (manual install)
-
-
- def sort_vers(self, x, y):
- try:
- return cmp(float(x), float(y))
- except ValueError:
- return cmp(x, y)
-
-
- def running_as_root(self):
- return os.geteuid() == 0
-
-
- def show_release_notes_in_browser(self):
- url = "file://%s" % os.path.join(os.getcwd(), 'doc', 'release_notes.html')
- log.debug(url)
- status, output = self.run("xhost +")
- utils.openURL(url)
-
-
- def count_num_required_missing_dependencies(self):
- num_req_missing = 0
- for d, desc, opt in self.missing_required_dependencies():
- num_req_missing += 1
- return num_req_missing
-
-
- def count_num_optional_missing_dependencies(self):
- num_opt_missing = 0
- for d, desc, req, opt in self.missing_optional_dependencies():
- num_opt_missing += 1
- return num_opt_missing
-
-
- def missing_required_dependencies(self): # missing req. deps in req. options
- for opt in self.components[self.selected_component][1]:
- if self.options[opt][0]: # required options
- for d in self.options[opt][2]: # dependencies for option
- if self.dependencies[d][0]: # required option
- if not self.have_dependencies[d]: # missing
- log.debug("Missing required dependency: %s" % d)
- yield d, self.dependencies[d][2], opt
- # depend, desc, option
-
- def missing_optional_dependencies(self):
- # missing deps in opt. options
- for opt in self.components[self.selected_component][1]:
- if not self.options[opt][0]: # not required option
- if self.selected_options[opt]: # only for options that are ON
- for d in self.options[opt][2]: # dependencies
- if not self.have_dependencies[d]: # missing dependency
- log.debug("Missing optional dependency: %s" % d)
- yield d, self.dependencies[d][2], self.dependencies[d][0], opt
- # depend, desc, required_for_opt, opt
-
- # opt. deps in req. options
- for opt in self.components[self.selected_component][1]:
- if self.options[opt][0]: # required options
- for d in self.options[opt][2]: # dependencies for option
- if d == 'cups-ddk':
- status, output = self.run('cups-config --version')
- import string
- if status == 0 and (string.count(output, '.') == 1 or string.count(output, '.') == 2):
- if string.count(output, '.') == 1:
- major, minor = string.split(output, '.', 2)
- if string.count(output, '.') == 2:
- major, minor, release = string.split(output, '.', 3)
- if len(minor) > 1 and minor[1] >= '0' and minor[1] <= '9':
- minor = ((ord(minor[0]) - ord('0')) * 10) + (ord(minor[1]) - ord('0'))
- else:
- minor = ord(minor[0]) - ord('0')
- if major > '1' or (major == '1' and minor >= 4):
- continue
- if not self.dependencies[d][0]: # optional dep
- if not self.have_dependencies[d]: # missing
- log.debug("Missing optional dependency: %s" % d)
- yield d, self.dependencies[d][2], self.dependencies[d][0], opt
- # depend, desc, option
-
- def select_options(self, answer_callback):
- num_opt_missing = 0
- # not-required options
- for opt in self.components[self.selected_component][1]:
- if not self.options[opt][0]: # not required
- default = 'y'
-
- if not self.selected_options[opt]:
- default = 'n'
-
- self.selected_options[opt] = answer_callback(opt, self.options[opt][1], default)
-
- if self.selected_options[opt]: # only for options that are ON
- for d in self.options[opt][2]: # dependencies
- if not self.have_dependencies[d]: # missing dependency
- log.debug("Missing optional dependency: %s" % d)
- num_opt_missing += 1
-
- return num_opt_missing
-
-
- def check_network_connection(self):
- self.network_connected = False
-
- wget = utils.which("wget")
- if wget:
- wget = os.path.join(wget, "wget")
- cmd = "%s --timeout=60 --output-document=- %s" % (wget, HTTP_GET_TARGET)
- log.debug(cmd)
- status, output = self.run(cmd)
- log.debug("wget returned: %d" % status)
- self.network_connected = (status == 0)
-
- else:
- curl = utils.which("curl")
- if curl:
- curl = os.path.join(curl, "curl")
- cmd = "%s --output - --connect-timeout 5 --max-time 10 %s" % (curl, HTTP_GET_TARGET)
- log.debug(cmd)
- status, output = self.run(cmd)
- log.debug("curl returned: %d" % status)
- self.network_connected = (status == 0)
-
- else:
- ping = utils.which("ping")
-
- if ping:
- ping = os.path.join(ping, "ping")
- cmd = "%s -c1 -W1 -w10 %s" % (ping, PING_TARGET)
- log.debug(cmd)
- status, output = self.run(cmd)
- log.debug("ping returned: %d" % status)
- self.network_connected = (status == 0)
-
- return self.network_connected
-
-
- def run_pre_install(self, callback=None):
- pre_cmd = self.get_distro_ver_data('pre_install_cmd')
- log.debug(pre_cmd)
- if pre_cmd:
- x = 1
- for cmd in pre_cmd:
- status, output = self.run(cmd)
-
- if status != 0:
- log.warn("An error occurred running '%s'" % cmd)
-
- if callback is not None:
- callback(cmd, "Pre-install step %d" % x)
-
- x += 1
-
- return True
-
- else:
- return False
-
-
- def run_pre_depend(self, callback=None):
- pre_cmd = self.get_distro_ver_data('pre_depend_cmd')
- log.debug(pre_cmd)
- if pre_cmd:
- x = 1
- for cmd in pre_cmd:
- status, output = self.run(cmd)
-
- if status != 0:
- log.warn("An error occurred running '%s'" % cmd)
-
- if callback is not None:
- callback(cmd, "Pre-depend step %d" % x)
-
- x += 1
-
-
- def run_post_depend(self, callback=None):
- post_cmd = self.get_distro_ver_data('post_depend_cmd')
- log.debug(post_cmd)
- if post_cmd:
- x = 1
- for cmd in post_cmd:
- status, output = self.run(cmd)
-
- if status != 0:
- log.warn("An error occurred running '%s'" % cmd)
-
- if callback is not None:
- callback(cmd, "Post-depend step %d" % x)
-
- x += 1
-
-
- def run_open_mdns_port(self, callback=None):
- open_mdns_port_cmd = self.get_distro_ver_data('open_mdns_port')
- log.debug(open_mdns_port_cmd)
- if open_mdns_port_cmd:
- x = 1
- for cmd in open_mdns_port_cmd:
- cmd = self.su_sudo() % cmd
- status, output = self.run(cmd)
-
- if status != 0:
- log.warn("An error occurred running '%s'" % cmd)
- log.warn(output)
-
- if callback is not None:
- callback(cmd, "Open mDNS/Bonjour step %d" % x)
-
- x += 1
-
-
- def pre_build(self):
- cmds = []
- if self.get_distro_ver_data('fix_ppd_symlink', False):
- cmds.append(self.su_sudo() % 'python ./installer/fix_symlink.py')
-
- return cmds
-
-
- def run_pre_build(self, callback=None):
- x = 1
- for cmd in self.pre_build():
- status, output = self.run(cmd)
- if callback is not None:
- callback(cmd, "Pre-build step %d" % x)
-
- x += 1
-
-
- def run_post_build(self, callback=None):
- x = 1
- for cmd in self.post_build():
- status, output = self.run(cmd)
- if callback is not None:
- callback(cmd, "Post-build step %d" % x)
-
- x += 1
-
-
- def post_build(self):
- cmds = []
- # Reload DBUS configuration if distro supports it and PolicyKit
- # support installed
- if self.reload_dbus and self.selected_options['policykit']:
- cmds.append(self.su_sudo() % "sh /etc/init.d/dbus reload")
- log.debug("Will reload DBUS configuration for PolicyKit support")
-
- # Kill any running hpssd.py instance from a previous install
- if self.check_hpssd():
- pid = get_ps_pid('hpssd')
- if pid:
- kill = os.path.join(utils.which("kill"), "kill") + " %d" % pid
- cmds.append(self.su_sudo() % kill)
-
- # Add user to group if needed
- # add_user_to_group=<usermod params> [TYPE_STRING] (leave empty for none) [ex. "-a -G sys" or "-G lp"]
- add_user_to_group = self.get_distro_ver_data('add_user_to_group', '')
- if add_user_to_group:
- usermod = os.path.join(utils.which("usermod"), "usermod") + " %s %s" % (add_user_to_group, prop.username)
- cmds.append(self.su_sudo() % usermod)
-
- return cmds
-
-
- def logoff(self):
- ok = False
- pkill = utils.which('pkill')
- if pkill:
- cmd = "%s -KILL -u %s" % (os.path.join(pkill, "pkill"), prop.username)
- cmd = self.su_sudo() % cmd
- status, output = self.run(cmd)
-
- ok = (status == 0)
-
- return ok
-
-
- def restart(self):
- ok = False
- shutdown = utils.which('shutdown')
- if shutdown:
- cmd = "%s -r now" % (os.path.join(shutdown, "shutdown"))
- cmd = self.su_sudo() % cmd
- status, output = self.run(cmd)
-
- ok = (status == 0)
-
- return ok
-
-
- def run_hp_setup(self):
- status = 0
- hpsetup = utils.which("hp-setup")
-
- if hpsetup:
- cmd = 'hp-setup'
- else:
- cmd = './setup.py'
-
- log.debug(cmd)
- status, output = self.run(cmd)
- return status == 0
-
-
- def remove_hplip(self, callback=None):
- failed = True
- self.stop_pre_2x_hplip(callback)
-
- hplip_remove_cmd = self.get_distro_data('hplip_remove_cmd')
- if hplip_remove_cmd:
- if callback is not None:
- callback(hplip_remove_cmd, "Removing old HPLIP version")
-
- status, output = self.run(hplip_remove_cmd)
-
- if status == 0:
- self.hplip_present = self.check_hplip()
-
- if not self.hplip_present:
- failed = False
-
- return failed
-
-
- def stop_pre_2x_hplip(self, callback=None):
- hplip_init_script = '/etc/init.d/hplip stop'
- if os.path.exists(hplip_init_script):
- cmd = self.su_sudo() % hplip_init_script
-
- if callback is not None:
- callback(cmd, "Stopping old HPLIP version.")
-
- status, output = self.run(cmd)
-
-
-
- def check_password(self, password_entry_callback, callback=None):
- self.clear_su_sudo_password()
- x = 1
- while True:
- self.password = password_entry_callback()
- cmd = self.su_sudo() % "true"
-
- log.debug(cmd)
-
- status, output = self.run(cmd)
-
- log.debug(status)
- log.debug(output)
-
- if status == 0:
- if callback is not None:
- callback("", "Password accepted")
- return True
-
- if callback is not None:
- if "not in the sudoers file" in output:
- callback("", "%s is not in the sudoers file. Check privileges\n" %(os.getenv('USER')) )
- return False
- else:
- callback("", "Password incorrect. %d attempt(s) left." % (3-x ))
-
-
- x += 1
-
- if x > 3:
- return False
-
-
- def clear_su_sudo_password(self):
- if self.su_sudo_str() == 'sudo':
- log.debug("Clearing password...")
- self.run("sudo -K")
-
-
-
- # PLUGIN HELPERS
-
- def set_plugin_version(self):
- self.plugin_version = prop.installed_version
- log.debug("Plug-in version=%s" % self.plugin_version)
- self.plugin_name = 'hplip-%s-plugin.run' % self.plugin_version
- log.debug("Plug-in=%s" % self.plugin_name)
-
-
- def get_plugin_conf_url(self):
- url = "http://hplip.sf.net/plugin.conf"
- home = sys_conf.get('dirs', 'home')
-
- if os.path.exists('/etc/hp/plugin.conf'):
- url = "file:///etc/hp/plugin.conf"
-
- elif os.path.exists(os.path.join(home, 'plugin.conf')):
- url = "file://" + os.path.join(home, 'plugin.conf')
-
- log.debug("Plugin.conf url: %s" % url)
- return url
-
-
- def get_plugin_info(self, plugin_conf_url, callback):
- ok, size, checksum, timestamp, url = False, 0, 0, 0.0, ''
-
- if not self.create_plugin_dir():
- log.error("Could not create plug-in directory.")
- return '', 0, 0, 0, False
-
- local_conf_fp, local_conf = utils.make_temp_file()
-
- #if os.path.exists(local_conf):
- #os.remove(local_conf)
-
- try:
- try:
- #filename, headers = urllib.urlretrieve(plugin_conf_url, local_conf, callback)
- wget = utils.which("wget")
- if wget:
- wget = os.path.join(wget, "wget")
- status, output = self.run("%s --timeout=60 --output-document=%s %s --cache=off" %(wget, local_conf, plugin_conf_url))
- if status:
- log.error("Plugin download failed with error code = %d" %status)
- return '', 0, 0, 0, False
- else:
- log.error("Please install wget package to download the plugin.")
- return '', 0, 0, 0, False
- except IOError, e:
- log.error("I/O Error: %s" % e.strerror)
- return '', 0, 0, 0, False
-
- if not os.path.exists(local_conf):
- log.error("plugin.conf not found.")
- return '', 0, 0, 0, False
-
- plugin_conf_p = ConfigParser.ConfigParser()
-
- try:
- plugin_conf_p.read(local_conf)
- except (ConfigParser.MissingSectionHeaderError, ConfigParser.ParsingError):
- log.error("Error parsing file - 404 error?")
- return '', 0, 0, 0, False
-
- try:
- url = plugin_conf_p.get(self.plugin_version, 'url')
- size = plugin_conf_p.getint(self.plugin_version, 'size')
- checksum = plugin_conf_p.get(self.plugin_version, 'checksum')
- timestamp = plugin_conf_p.getfloat(self.plugin_version, 'timestamp')
- ok = True
- except (KeyError, ConfigParser.NoSectionError):
- log.error("Error reading plugin.conf: Missing section [%s]" % self.plugin_version)
- return '', 0, 0, 0, False
-
- finally:
- os.close(local_conf_fp)
- os.remove(local_conf)
-
- return url, size, checksum, timestamp, ok
-
-
- def create_plugin_dir(self):
- if not os.path.exists(self.plugin_path):
- try:
- log.debug("Creating plugin directory: %s" % self.plugin_path)
- os.umask(0)
- os.makedirs(self.plugin_path, 0755)
- return True
- except (OSError, IOError), e:
- log.error("Unable to create directory: %s" % e.strerror)
- return False
-
- return True
-
-
- def isErrorPage(self, page):
- """
- Example code from David Mertz' Text Processing in Python.
- Released in the Public Domain.
- """
- err_score = 0.0
-
- for pat, prob in err_pats.items():
- if err_score > 0.9: break
- if re.search(pat, page):
- err_score += prob
-
- log.debug("File error page score: %f" % (err_score))
-
- return err_score > 0.50
-
-
- def download_plugin(self, url, size, checksum, timestamp, callback=None):
- log.debug("Downloading %s plug-in file from '%s' to '%s'..." % (self.plugin_version, url, self.plugin_path))
-
- if not self.create_plugin_dir():
- return PLUGIN_INSTALL_ERROR_DIRECTORY_ERROR, self.plugin_path
-
- plugin_file = os.path.join(self.plugin_path, self.plugin_name)
-
-
- #Check whether plugin is accessible in Openprinting.org website otherwise dowload plugin from alternate location.
- wget = utils.which("wget")
- if wget:
- wget = os.path.join(wget, "wget")
- cmd = "%s --cache=off -P %s %s" % (wget,self.plugin_path,url)
- log.debug(cmd)
- status, output = self.run(cmd)
- log.debug("wget returned: %d" % status)
-
- try:
- if (status != 0) and 'file://' not in url:
- url = os.path.join(PLUGIN_FALLBACK_LOCATION, self.plugin_name)
- log.info("Plugin is not accessible. Trying to download it from fallback location: [%s]" % url)
- cmd = "%s --cache=off -P %s %s" % (wget,self.plugin_path,url)
- log.debug(cmd)
- status, output = self.run(cmd)
- #filename, headers = urllib.urlretrieve(url, plugin_file, callback)
- except IOError, e:
- log.error("Plug-in download failed: %s" % e.strerror)
- return PLUGIN_INSTALL_ERROR_PLUGIN_FILE_NOT_FOUND, e.strerror
-
- if self.isErrorPage(file(plugin_file, 'r').read(1024)):
- log.debug(file(plugin_file, 'r').read(1024))
- os.remove(plugin_file)
- return PLUGIN_INSTALL_ERROR_PLUGIN_FILE_NOT_FOUND, -1
-
- calc_checksum = get_checksum(file(plugin_file, 'r').read())
- log.debug("D/L file checksum=%s" % calc_checksum)
-
- # Try to download and check the GPG digital signature
- digsig_url = url + '.asc'
- digsig_file = plugin_file + '.asc'
-
- log.debug("Downloading %s plug-in digital signature file from '%s' to '%s'..." % (self.plugin_version, digsig_url, digsig_file))
-
- try:
- cmd = "%s --cache=off -P %s %s" % (wget,self.plugin_path,digsig_url)
- log.debug(cmd)
- status, output = self.run(cmd)
- #filename, headers = urllib.urlretrieve(digsig_url, digsig_file, callback)
- except IOError, e:
- log.error("Plug-in GPG file [%s] download failed: %s" % (digsig_url,e.strerror))
- return PLUGIN_INSTALL_ERROR_DIGITAL_SIG_NOT_FOUND, e.strerror
-
- if self.isErrorPage(file(digsig_file, 'r').read(1024)):
- log.debug(file(digsig_file, 'r').read())
- os.remove(digsig_file)
- return PLUGIN_INSTALL_ERROR_DIGITAL_SIG_NOT_FOUND, -1
-
- gpg = utils.which('gpg')
- if gpg:
- gpg = os.path.join(gpg, 'gpg')
- cmd = '%s --no-permission-warning --keyserver pgp.mit.edu --recv-keys 0xA59047B9' % gpg
- log.info("Receiving digital keys: %s" % cmd)
- status, output = self.run(cmd)
- log.debug(output)
-
- if status != 0:
- return PLUGIN_INSTALL_ERROR_UNABLE_TO_RECV_KEYS, status
-
- cmd = '%s --no-permission-warning --verify %s %s' % (gpg, digsig_file, plugin_file)
- log.debug("Verifying plugin with digital keys: %s" % cmd)
- status, output = self.run(cmd)
- log.debug(output)
- log.debug("%s status: %d" % (gpg, status))
-
- if status != 0:
- return PLUGIN_INSTALL_ERROR_DIGITAL_SIG_BAD, status
-
-
- return PLUGIN_INSTALL_ERROR_NONE, plugin_file
-
-
- def check_for_plugin(self):
- sys_state.read()
- is_installed = utils.to_bool(sys_state.get('plugin', 'installed', '0'))
- if is_installed:
- log.debug("plugin is installed")
- else:
- log.debug("plugin is not installed")
- return is_installed
-
-
- def run_plugin(self, mode=GUI_MODE, callback=None):
- plugin_file = os.path.join(self.plugin_path, self.plugin_name)
-
- if not os.path.exists(plugin_file):
- return False
-
- if mode == GUI_MODE:
- return os.system("sh %s --nox11 -- -u" % plugin_file) == 0
- else:
- if os.system("sh %s --nox11 -- -i" % plugin_file) == 0:
- return True
- else:
- log.error("Python gobject/dbus may be not installed")
- return False
-
-
- def delete_plugin(self):
- plugin_file = os.path.join(self.plugin_path, self.plugin_name)
- digsig_file = plugin_file + ".asc"
-
- if os.path.exists(plugin_file):
- os.unlink(plugin_file)
- if os.path.exists(digsig_file):
- os.unlink(digsig_file)
+# -*- coding: utf-8 -*-
+#
+# (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Author: Don Welch
+#
+
+# Std Lib
+import sys
+import os
+import os.path
+import re
+import time
+import cStringIO
+import grp
+import pwd
+import tarfile
+import stat
+
+try:
+ import hashlib # new in 2.5
+
+ def get_checksum(s):
+ return hashlib.sha1(s).hexdigest()
+
+except ImportError:
+ import sha # deprecated in 2.6/3.0
+
+ def get_checksum(s):
+ return sha.new(s).hexdigest()
+
+
+import urllib # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0)
+
+
+# Local
+from base.g import *
+from base.codes import *
+from base import utils, pexpect,tui
+from dcheck import *
+
+
+
+DISTRO_UNKNOWN = 0
+DISTRO_VER_UNKNOWN = '0.0'
+
+MODE_INSTALLER = 0 # hplip-install/hp-setup
+MODE_CHECK = 1 # hp-check
+MODE_CREATE_DOCS = 2 # create_docs
+
+TYPE_STRING = 1
+TYPE_LIST = 2
+TYPE_BOOL = 3
+TYPE_INT = 4
+
+DEPENDENCY_RUN_TIME = 1
+DEPENDENCY_COMPILE_TIME = 2
+DEPENDENCY_RUN_AND_COMPILE_TIME = 3
+
+# Plug-in download errors
+PLUGIN_INSTALL_ERROR_NONE = 0
+PLUGIN_INSTALL_ERROR_PLUGIN_FILE_NOT_FOUND = 1
+PLUGIN_INSTALL_ERROR_DIGITAL_SIG_NOT_FOUND = 2
+PLUGIN_INSTALL_ERROR_DIGITAL_SIG_BAD = 3
+PLUGIN_INSTALL_ERROR_PLUGIN_FILE_CHECKSUM_ERROR = 4
+PLUGIN_INSTALL_ERROR_NO_NETWORK = 5
+PLUGIN_INSTALL_ERROR_DIRECTORY_ERROR = 6
+PLUGIN_INSTALL_ERROR_UNABLE_TO_RECV_KEYS = 7
+
+
+#Plugin installation status values
+PLUGIN_STATUS_PARTIAL_FILES_PRESENT = -1
+PLUGIN_STATUS_FILES_NOT_PRESENT = 0
+PLUGIN_STATUS_FILES_PRESENT = 1
+
+
+PING_TARGET = "www.google.com"
+HTTP_GET_TARGET = "http://www.google.com"
+PLUGIN_FALLBACK_LOCATION = 'http://hplipopensource.com/hplip-web/plugin/'
+
+EXPECT_WORD_LIST = [
+ pexpect.EOF, # 0
+ pexpect.TIMEOUT, # 1
+ "Continue?", # 2 (for zypper)
+ "passwor[dt]", # en/de/it/ru
+ "kennwort", # de?
+ "password for", # en
+ "mot de passe", # fr
+ "contraseña", # es
+ "palavra passe", # pt
+ "口令", # zh
+ "wachtwoord", # nl
+ "heslo", # czech
+]
+
+# Mapping from patterns to probability contribution of pattern
+# Example code from David Mertz' Text Processing in Python.
+# Released in the Public Domain.
+err_pats = {r'(?is)<TITLE>.*?(404|403).*?ERROR.*?</TITLE>': 0.95,
+ r'(?is)<TITLE>.*?ERROR.*?(404|403).*?</TITLE>': 0.95,
+ r'(?is)<TITLE>ERROR</TITLE>': 0.30,
+ r'(?is)<TITLE>.*?ERROR.*?</TITLE>': 0.10,
+ r'(?is)<META .*?(404|403).*?ERROR.*?>': 0.80,
+ r'(?is)<META .*?ERROR.*?(404|403).*?>': 0.80,
+ r'(?is)<TITLE>.*?File Not Found.*?</TITLE>': 0.80,
+ r'(?is)<TITLE>.*?Not Found.*?</TITLE>': 0.40,
+ r'(?is)<BODY.*(404|403).*</BODY>': 0.10,
+ r'(?is)<H1>.*?(404|403).*?</H1>': 0.15,
+ r'(?is)<BODY.*not found.*</BODY>': 0.10,
+ r'(?is)<H1>.*?not found.*?</H1>': 0.15,
+ r'(?is)<BODY.*the requested URL.*</BODY>': 0.10,
+ r'(?is)<BODY.*the page you requested.*</BODY>': 0.10,
+ r'(?is)<BODY.*page.{1,50}unavailable.*</BODY>': 0.10,
+ r'(?is)<BODY.*request.{1,50}unavailable.*</BODY>': 0.10,
+ r'(?i)does not exist': 0.10,
+ }
+
+
+
+# Note:- If new utility is added, add same utility here to uninstall properly.
+
+BINS_LIST=['hpijs','hp-align','hp-colorcal','hp-faxsetup','hp-linefeedcal','hp-pkservice','hp-printsettings','hp-sendfax','hp-timedate','hp-check','hp-devicesettings','hp-firmware','hp-makecopies','hp-plugin','hp-probe','hp-setup','hp-toolbox','hp-check-plugin','hp-diagnose_plugin','hp-info','hp-makeuri','hp-pqdiag','hp-query','hp-systray','hp-unload','hp-clean','hp-fab','hp-levels','hp-mkuri','hp-print','hp-scan','hp-testpage','hp-wificonfig', 'hp-upgrade','hplip-info','hp-check-upgrade','hp-config_usb_printer','hp-diagnose_queues']
+
+LIBS_LIST=['libhpmud.*','libhpip.*','sane/libsane-hpaio.*','cups/backend/hp','cups/backend/hpfax', 'cups/filter/hpcac', 'cups/filter/pstotiff','cups/filter/hpcups', 'cups/filter/hpcupsfax', 'cups/filter/hplipjs','cups/filter/hpps']
+
+FILES_LIST=['/usr/share/ppd/HP/*','/etc/udev/rules.d/56-hpmud_support.rules', '/etc/udev/rules.d/40-hplip.rules', '/etc/udev/rules.d/56-hpmud_support.rules', '/etc/udev/rules.d/55-hpmud.rules', '/etc/udev/rules.d/86-hpmud-hp_*', '/etc/udev/rules.d/86-hpmud_plugin.rules', '/usr/share/cups/drv/hp/*','/usr/local/share/ppd/HP/*','/usr/local/share/cups/drv/hp/*' ,'/usr/share/applications/hplip.desktop', '/etc/xdg/autostart/hplip-systray.desktop', '/etc/hp/hplip.conf', '/usr/share/doc/hplip-*']
+
+HPLIP_LIST=['*.py','*.pyc', 'base', 'copier','data','installer','pcard','ui4','ui','fax/*.py','fax/*.pyc','fax/pstotiff.convs','fax/pstotiff.types','fax/pstotiff','prnt/*.py', 'prnt/*.pyc', 'scan/*.py','scan/*.pyc']
+
+PLUGIN_LIST=['fax/plugins/','prnt/pluginmode = INTERACTIVE_MODEs/','scan/plugins/']
+PLUGIN_STATE =['/var/lib/hp/hplip.state']
+RMDIR="rm -rf"
+RM="rm -f"
+
+# end
+
+
+EXPECT_LIST = []
+for s in EXPECT_WORD_LIST:
+ try:
+ p = re.compile(s, re.I)
+ except TypeError:
+ EXPECT_LIST.append(s)
+ else:
+ EXPECT_LIST.append(p)
+
+OK_PROCESS_LIST = ['adept-notifier',
+ 'adept_notifier',
+ 'yum-updatesd',
+ ]
+
+CONFIGURE_ERRORS = { 1 : "General/unknown error",
+ 2 : "libusb not found",
+ 3 : "cups-devel not found",
+ 4 : "libnetsnmp not found",
+ 5 : "netsnmp-devel not found",
+ 6 : "python-devel not found",
+ 7 : "pthread-devel not found",
+ 8 : "ppdev-devel not found",
+ 9 : "libcups not found",
+ 10 : "libm not found",
+ 11 : "libusb-devel not found",
+ 12 : "sane-backends-devel not found",
+ 13 : "libdbus not found",
+ 14 : "dbus-devel not found",
+ 15 : "fax requires dbus support",
+ 102 : "libjpeg not found",
+ 103 : "jpeg-devel not found",
+ 104 : "libdi not found",
+ }
+
+
+try:
+ from functools import update_wrapper
+except ImportError: # using Python version < 2.5
+ def trace(f):
+ def newf(*args, **kw):
+ log.debug("TRACE: func=%s(), args=%s, kwargs=%s" % (f.__name__, args, kw))
+ return f(*args, **kw)
+ newf.__name__ = f.__name__
+ newf.__dict__.update(f.__dict__)
+ newf.__doc__ = f.__doc__
+ newf.__module__ = f.__module__
+ return newf
+else: # using Python 2.5+
+ def trace(f):
+ def newf(*args, **kw):
+ log.debug("TRACE: func=%s(), args=%s, kwargs=%s" % (f.__name__, args, kw))
+ return f(*args, **kw)
+ return update_wrapper(newf, f)
+
+
+
+class CoreInstall(object):
+ def __init__(self, mode=MODE_INSTALLER, ui_mode=INTERACTIVE_MODE, ui_toolkit='qt4'):
+ os.umask(0022)
+ self.mode = mode
+ self.ui_mode = ui_mode
+ self.password = ''
+ self.version_description, self.version_public, self.version_internal = '', '', ''
+ self.bitness = 32
+ self.endian = utils.LITTLE_ENDIAN
+ self.distro, self.distro_name, self.distro_version = DISTRO_UNKNOWN, '', DISTRO_VER_UNKNOWN
+ self.distro_version_supported = False
+ self.install_location = '/usr'
+ self.hplip_present = False
+ self.have_dependencies = {}
+ self.native_cups = True
+ self.ppd_dir = None
+ self.drv_dir = None
+ self.distros = {}
+ self.network_connected = False
+ self.ui_toolkit = ui_toolkit
+ self.enable = None
+ self.disable = None
+ self.plugin_path = "/tmp"
+ self.plugin_version = '0.0.0'
+ self.plugin_name = ''
+ self.reload_dbus = False
+
+
+ self.FIELD_TYPES = {
+ 'distros' : TYPE_LIST,
+ 'index' : TYPE_INT,
+ 'versions' : TYPE_LIST,
+ 'display_name' : TYPE_STRING,
+ 'alt_names': TYPE_LIST,
+ 'display': TYPE_BOOL,
+ 'notes': TYPE_STRING,
+ 'package_mgrs': TYPE_LIST,
+ 'package_mgr_cmd':TYPE_STRING,
+ 'pre_install_cmd': TYPE_LIST,
+ 'pre_depend_cmd': TYPE_LIST,
+ 'post_depend_cmd': TYPE_LIST,
+ 'hpoj_remove_cmd': TYPE_STRING,
+ 'hplip_remove_cmd': TYPE_STRING,
+ 'su_sudo': TYPE_STRING,
+ 'ppd_install': TYPE_STRING,
+ 'udev_mode_fix': TYPE_BOOL,
+ 'ppd_dir': TYPE_STRING,
+ 'drv_dir' : TYPE_STRING,
+ 'fix_ppd_symlink': TYPE_BOOL,
+ 'code_name': TYPE_STRING,
+ 'supported': TYPE_BOOL, # Supported by installer
+ 'release_date': TYPE_STRING,
+ 'packages': TYPE_LIST,
+ 'commands': TYPE_LIST,
+ 'same_as_version' : TYPE_STRING,
+ 'scan_supported' : TYPE_BOOL,
+ 'fax_supported' : TYPE_BOOL,
+ 'pcard_supported' : TYPE_BOOL,
+ 'network_supported' : TYPE_BOOL,
+ 'parallel_supported' : TYPE_BOOL,
+ 'usb_supported' : TYPE_BOOL,
+ 'packaged_version': TYPE_STRING, # Version of HPLIP pre-packaged in distro
+ 'cups_path_with_bitness' : TYPE_BOOL,
+ 'ui_toolkit' : TYPE_STRING, # qt3 or qt4 [or gtk] or none
+ 'policykit' : TYPE_BOOL,
+ 'native_cups' : TYPE_BOOL,
+ 'package_available' : TYPE_BOOL,
+ 'package_arch' : TYPE_LIST,
+ 'add_user_to_group': TYPE_STRING,
+ 'open_mdns_port' : TYPE_LIST, # command to use to open mdns multicast port 5353
+ 'acl_rules' : TYPE_BOOL, # Use ACL uDEV rules (Ubuntu 9.10+)
+ 'libdir_path' : TYPE_STRING,
+ }
+
+ # components
+ # 'name': ('description', [<option list>])
+ self.components = {
+ 'hplip': ("HP Linux Imaging and Printing System", ['base', 'network', 'gui_qt4',
+ 'fax', 'scan', 'docs']),
+ }
+
+ self.selected_component = 'hplip'
+
+ # options
+ # name: (<required>, "<display_name>", [<dependency list>]), ...
+ self.options = {
+ 'base': (True, 'Required HPLIP base components (including hpcups)', []), # HPLIP
+ 'network' : (False, 'Network/JetDirect I/O', []),
+ 'gui_qt4' : (False, 'Graphical User Interfaces (Qt4)', []),
+ 'fax' : (False, 'PC Send Fax support', []),
+ 'scan': (False, 'Scanning support', []),
+ 'docs': (False, 'HPLIP documentation (HTML)', []),
+ 'policykit': (False, 'Administrative policy framework', []),
+ }
+
+
+ # holds whether the user has selected (turned on each option)
+ # initial values are defaults (for GUI only)
+ self.selected_options = {
+ 'base': True,
+ 'network': True,
+ 'gui_qt4': True,
+ 'fax': True,
+ 'scan': True,
+ 'docs': True,
+ 'policykit': False,
+ 'native_cups': False,
+ }
+
+ # dependencies
+ # 'name': (<required for option>, [<option list>], <display_name>, <check_func>, <runtime/compiletime>), ...
+ # Note: any change to the list of dependencies must be reflected in base/distros.py
+ self.dependencies = {
+ # Required base packages
+ 'libjpeg': (True, ['base'], "libjpeg - JPEG library", self.check_libjpeg, DEPENDENCY_RUN_AND_COMPILE_TIME),
+ 'libtool': (True, ['base'], "libtool - Library building support services", self.check_libtool, DEPENDENCY_COMPILE_TIME),
+ 'cups' : (True, ['base'], 'CUPS - Common Unix Printing System', self.check_cups, DEPENDENCY_RUN_TIME),
+ 'cups-devel': (True, ['base'], 'CUPS devel- Common Unix Printing System development files', self.check_cups_devel, DEPENDENCY_COMPILE_TIME),
+ 'cups-image': (True, ['base'], "CUPS image - CUPS image development files", self.check_cups_image, DEPENDENCY_COMPILE_TIME),
+ 'gcc' : (True, ['base'], 'gcc - GNU Project C and C++ Compiler', self.check_gcc, DEPENDENCY_COMPILE_TIME),
+ 'make' : (True, ['base'], "make - GNU make utility to maintain groups of programs", self.check_make, DEPENDENCY_COMPILE_TIME),
+ 'python-devel' : (True, ['base'], "Python devel - Python development files", self.check_python_devel, DEPENDENCY_COMPILE_TIME),
+ 'libpthread' : (True, ['base'], "libpthread - POSIX threads library", self.check_libpthread, DEPENDENCY_RUN_AND_COMPILE_TIME),
+ 'python2x': (True, ['base'], "Python 2.2 or greater - Python programming language", self.check_python2x, DEPENDENCY_RUN_AND_COMPILE_TIME),
+ 'python-xml' : (True, ['base'], "Python XML libraries", self.check_python_xml, DEPENDENCY_RUN_TIME),
+ 'gs': (True, ['base'], "GhostScript - PostScript and PDF language interpreter and previewer", self.check_gs, DEPENDENCY_RUN_TIME),
+ 'libusb': (True, ['base'], "libusb - USB library", self.check_libusb, DEPENDENCY_RUN_AND_COMPILE_TIME),
+
+ # Optional base packages
+ 'cups-ddk': (False, ['base'], "CUPS DDK - CUPS driver development kit", self.check_cupsddk, DEPENDENCY_RUN_TIME), # req. for .drv PPD installs
+
+
+ # Required scan packages
+ 'sane': (True, ['scan'], "SANE - Scanning library", self.check_sane, DEPENDENCY_RUN_TIME),
+ 'sane-devel' : (True, ['scan'], "SANE - Scanning library development files", self.check_sane_devel, DEPENDENCY_COMPILE_TIME),
+
+ # Optional scan packages
+ 'xsane': (False, ['scan'], "xsane - Graphical scanner frontend for SANE", self.check_xsane, DEPENDENCY_RUN_TIME),
+ 'scanimage': (False, ['scan'], "scanimage - Shell scanning program", self.check_scanimage, DEPENDENCY_RUN_TIME),
+ 'pil': (False, ['scan'], "PIL - Python Imaging Library (required for commandline scanning with hp-scan)", self.check_pil, DEPENDENCY_RUN_TIME),
+
+ # Required fax packages
+ 'python23': (True, ['fax'], "Python 2.3 or greater - Required for fax functionality", self.check_python23, DEPENDENCY_RUN_TIME),
+ 'dbus': (True, ['fax'], "DBus - Message bus system", self.check_dbus, DEPENDENCY_RUN_AND_COMPILE_TIME),
+ 'python-dbus': (True, ['fax'], "Python DBus - Python bindings for DBus", self.check_python_dbus, DEPENDENCY_RUN_TIME),
+
+ # Optional fax packages
+ 'reportlab': (False, ['fax'], "Reportlab - PDF library for Python", self.check_reportlab, DEPENDENCY_RUN_TIME),
+
+ # Required and optional qt4 GUI packages
+ 'pyqt4': (True, ['gui_qt4'], "PyQt 4- Qt interface for Python (for Qt version 4.x)", self.check_pyqt4, DEPENDENCY_RUN_TIME), # PyQt 4.x )
+ 'pyqt4-dbus' : (True, ['gui_qt4'], "PyQt 4 DBus - DBus Support for PyQt4", self.check_pyqt4_dbus, DEPENDENCY_RUN_TIME),
+ 'policykit': (False, ['gui_qt4'], "PolicyKit - Administrative policy framework", self.check_policykit, DEPENDENCY_RUN_TIME), # optional for non-sudo behavior of plugins (only optional for Qt4 option)
+ 'python-notify' : (False, ['gui_qt4'], "Python libnotify - Python bindings for the libnotify Desktop notifications", self.check_pynotify, DEPENDENCY_RUN_TIME), # Optional for libnotify style popups from hp-systray
+
+ # Required network I/O packages
+ 'libnetsnmp-devel': (True, ['network'], "libnetsnmp-devel - SNMP networking library development files", self.check_libnetsnmp, DEPENDENCY_RUN_AND_COMPILE_TIME),
+ 'libcrypto': (True, ['network'], "libcrypto - OpenSSL cryptographic library", self.check_libcrypto, DEPENDENCY_RUN_AND_COMPILE_TIME),
+ }
+
+ for opt in self.options:
+ update_spinner()
+ for d in self.dependencies:
+ if opt in self.dependencies[d][1]:
+ self.options[opt][2].append(d)
+
+ self.load_distros()
+
+ self.distros_index = {}
+ for d in self.distros:
+ self.distros_index[self.distros[d]['index']] = d
+
+
+ def init(self, callback=None):
+ if callback is not None:
+ callback("Init...\n")
+
+ update_spinner()
+
+ # Package manager names
+ self.package_mgrs = []
+ for d in self.distros:
+ update_spinner()
+
+ for a in self.distros[d].get('package_mgrs', []):
+ if a and a not in self.package_mgrs:
+ self.package_mgrs.append(a)
+
+ self.version_description, self.version_public, self.version_internal = self.get_hplip_version()
+ log.debug("HPLIP Description=%s Public version=%s Internal version = %s" %
+ (self.version_description, self.version_public, self.version_internal))
+
+ # have_dependencies
+ # is each dependency satisfied?
+ # start with each one 'No'
+ for d in self.dependencies:
+ update_spinner()
+ self.have_dependencies[d] = False
+
+ self.get_distro()
+ self.distro_changed()
+
+ if callback is not None:
+ callback("Distro: %s\n" % self.distro)
+
+ self.check_dependencies(callback)
+
+ for d in self.dependencies:
+ update_spinner()
+
+ log.debug("have %s = %s" % (d, self.have_dependencies[d]))
+
+ if callback is not None:
+ callback("Result: %s = %s\n" % (d, self.have_dependencies[d]))
+
+ pid, cmdline = self.check_pkg_mgr()
+ if pid:
+ log.debug("Running package manager: %s (%d)" % (cmdline, pid) )
+
+ self.bitness = utils.getBitness()
+ log.debug("Bitness = %d" % self.bitness)
+
+ update_spinner()
+
+ self.endian = utils.getEndian()
+ log.debug("Endian = %d" % self.endian)
+
+ update_spinner()
+
+ self.distro_name = self.distros_index[self.distro]
+ self.distro_version_supported = self.get_distro_ver_data('supported', False)
+
+ log.debug("Distro = %s Distro Name = %s Display Name= %s Version = %s Supported = %s" %
+ (self.distro, self.distro_name, self.distros[self.distro_name]['display_name'],
+ self.distro_version, self.distro_version_supported))
+
+ update_spinner()
+
+ self.hplip_present = self.check_hplip()
+ log.debug("HPLIP (prev install) = %s" % self.hplip_present)
+
+ status, output = self.run('cups-config --version')
+ self.cups_ver = output.strip()
+ log.debug("CUPS version = %s" % self.cups_ver)
+
+ if self.distro_name == "ubuntu":
+ self.reload_dbus = True
+
+ log.debug("DBUS configuration reload possible? %s" % self.reload_dbus)
+
+ status, self.sys_uname_info = self.run('uname -a')
+ self.sys_uname_info = self.sys_uname_info.replace('\n', '')
+ log.debug(self.sys_uname_info)
+
+ # Record the installation time/date and version.
+ # Also has the effect of making the .hplip.conf file user r/w
+ # on the 1st run so that running hp-setup as root doesn't lock
+ # the user out of owning the file
+ user_conf.set('installation', 'date_time', time.strftime("%x %H:%M:%S", time.localtime()))
+ user_conf.set('installation', 'version', self.version_public)
+
+ if callback is not None:
+ callback("Done")
+
+
+ def init_for_docs(self, distro_name, version, bitness=32):
+ self.distro_name = distro_name
+ self.distro_version = version
+
+ try:
+ self.distro = self.distros[distro_name]['index']
+ except KeyError:
+ log.error("Invalid distro name: %s" % distro_name)
+ sys.exit(1)
+
+ self.bitness = bitness
+
+ for d in self.dependencies:
+ self.have_dependencies[d] = True
+
+ self.enable_ppds = self.get_distro_ver_data('ppd_install', 'ppd') == 'ppd'
+ self.ppd_dir = self.get_distro_ver_data('ppd_dir')
+ self.drv_dir = self.get_distro_ver_data('drv_dir')
+
+ self.distro_version_supported = True # for manual installs
+
+
+ def check_dependencies(self, callback=None):
+ update_ld_output()
+
+ for d in self.dependencies:
+ update_spinner()
+
+ log.debug("Checking for dependency '%s'...\n" % d)
+
+ if callback is not None:
+ callback("Checking: %s\n" % d)
+
+ self.have_dependencies[d] = self.dependencies[d][3]()
+ log.debug("have %s = %s" % (d, self.have_dependencies[d]))
+
+ cleanup_spinner()
+
+
+ def password_func(self):
+ if self.password:
+ return self.password
+ elif self.ui_mode == INTERACTIVE_MODE:
+ import getpass
+ return getpass.getpass("Enter password: ")
+ else:
+ return ''
+
+
+ def run(self, cmd, callback=None, timeout=300): # ==> status, output
+ if cmd is None:
+ return 1, ''
+ output = cStringIO.StringIO()
+ ok, ret = False, ''
+ # Hack! TODO: Fix!
+ check_timeout = not (cmd.startswith('xterm') or cmd.startswith('gnome-terminal'))
+
+ try:
+ child = pexpect.spawn(cmd, timeout=1)
+ except pexpect.ExceptionPexpect:
+ return 1, ''
+
+ try:
+ try:
+ start = time.time()
+
+ while True:
+ update_spinner()
+
+ i = child.expect_list(EXPECT_LIST)
+
+ cb = child.before
+ if cb:
+ # output
+ start = time.time()
+ log.log_to_file(cb)
+ log.debug(cb)
+ output.write(cb)
+
+ if callback is not None:
+ if callback(cb): # cancel
+ break
+
+ elif check_timeout:
+ # no output
+ span = int(time.time()-start)
+
+ if span:
+ if span % 5 == 0:
+ log.debug("No output seen in %d secs" % span)
+
+ if span > timeout:
+ log.error("No output seen in over %d sec... (Is the CD-ROM/DVD source repository enabled? It shouldn't be!)" % timeout)
+ child.close()
+ child.terminate(force=True)
+ break
+
+ if i == 0: # EOF
+ ok, ret = True, output.getvalue()
+ break
+
+ elif i == 1: # TIMEOUT
+ continue
+
+ elif i == 2: # zypper "Continue?"
+ child.sendline("YES")
+
+ else: # password
+ child.sendline(self.password)
+
+ except (Exception, pexpect.ExceptionPexpect):
+ log.exception()
+
+ finally:
+ cleanup_spinner()
+
+ try:
+ child.close()
+ except OSError:
+ pass
+
+ if ok:
+ return child.exitstatus, ret
+ else:
+ return 1, ''
+
+
+ def get_distro(self):
+ log.debug("Determining distro...")
+ self.distro, self.distro_version = DISTRO_UNKNOWN, '0.0'
+
+ found = False
+
+ lsb_release = utils.which("lsb_release")
+
+ if lsb_release:
+ log.debug("Using 'lsb_release -is/-rs'")
+ cmd = os.path.join(lsb_release, "lsb_release")
+ status, name = self.run(cmd + ' -is')
+ name = name.lower().strip()
+ log.debug("Distro name=%s" % name)
+
+ if not status and name:
+ status, ver = self.run(cmd + ' -rs')
+ ver = ver.lower().strip()
+ log.debug("Distro version=%s" % ver)
+
+ if not status and ver:
+ for d in self.distros:
+ if name.find(d) > -1:
+ self.distro = self.distros[d]['index']
+ found = True
+ self.distro_version = ver
+ break
+
+ if not found:
+ try:
+ name = file('/etc/issue', 'r').read().lower().strip()
+ except IOError:
+ # Some O/Ss don't have /etc/issue (Mac)
+ self.distro, self.distro_version = DISTRO_UNKNOWN, '0.0'
+ else:
+ for d in self.distros:
+ if name.find(d) > -1:
+ self.distro = self.distros[d]['index']
+ found = True
+ else:
+ for x in self.distros[d].get('alt_names', ''):
+ if x and name.find(x) > -1:
+ self.distro = self.distros[d]['index']
+ found = True
+ break
+
+ if found:
+ break
+
+ if found:
+ for n in name.split():
+ m= n
+ if '.' in n:
+ m = '.'.join(n.split('.')[:2])
+
+ try:
+ float(m)
+ except ValueError:
+ try:
+ int(m)
+ except ValueError:
+ self.distro_version = '0.0'
+ else:
+ self.distro_version = m
+ break
+ else:
+ self.distro_version = m
+ break
+
+ log.debug("/etc/issue: %s %s" % (name, self.distro_version))
+
+ log.debug("distro=%d, distro_version=%s" % (self.distro, self.distro_version))
+
+
+ def distro_changed(self):
+ ppd_install = self.get_distro_ver_data('ppd_install', 'ppd')
+
+ if ppd_install not in ('ppd', 'drv'):
+ log.warning("Invalid ppd_install value: %s" % ppd_install)
+
+ self.enable_ppds = (ppd_install == 'ppd')
+
+ log.debug("Enable PPD install: %s (False=drv)" % self.enable_ppds)
+
+ self.ppd_dir = self.get_distro_ver_data('ppd_dir')
+
+ self.drv_dir = self.get_distro_ver_data('drv_dir')
+ if not self.enable_ppds and not self.drv_dir:
+ log.warning("Invalid drv_dir value: %s" % self.drv_dir)
+
+ self.distro_version_supported = self.get_distro_ver_data('supported', False)
+ self.selected_options['fax'] = self.get_distro_ver_data('fax_supported', True)
+ self.selected_options['network'] = self.get_distro_ver_data('network_supported', True)
+ self.selected_options['scan'] = self.get_distro_ver_data('scan_supported', True)
+ self.selected_options['policykit'] = self.get_distro_ver_data('policykit', False)
+ self.native_cups = self.get_distro_ver_data('native_cups', False)
+
+ # Adjust required flag based on the distro ver ui_toolkit value
+ ui_toolkit = self.get_distro_ver_data('ui_toolkit', 'qt4').lower()
+
+ if ui_toolkit == 'qt4':
+ log.debug("Default UI toolkit: Qt4")
+ self.ui_toolkit = 'qt4'
+ self.selected_options['gui_qt4'] = True
+
+ # todo: gtk
+ else:
+ self.selected_options['gui_qt4'] = False
+
+ # Override with --qt4 command args
+ if self.enable is not None:
+ if 'qt4' in self.enable:
+ log.debug("User selected UI toolkit: Qt4")
+ self.ui_toolkit = 'qt4'
+ self.selected_options['gui_qt4'] = True
+
+ if self.disable is not None:
+ if 'qt4' in self.disable:
+ log.debug("User deselected UI toolkit: Qt4")
+ self.selected_options['gui_qt4'] = False
+
+
+ def __fixup_data(self, key, data):
+ field_type = self.FIELD_TYPES.get(key, TYPE_STRING)
+ #log.debug("%s (%s) %d" % (key, data, field_type))
+
+ if field_type == TYPE_BOOL:
+ return utils.to_bool(data)
+
+ elif field_type == TYPE_STRING:
+ if type('') == type(data):
+ return data.strip()
+ else:
+ return data
+
+ elif field_type == TYPE_INT:
+ try:
+ return int(data)
+ except ValueError:
+ return 0
+
+ elif field_type == TYPE_LIST:
+ return [x for x in data.split(',') if x]
+
+
+ def load_distros(self):
+ if self.mode == MODE_INSTALLER:
+ distros_dat_file = os.path.join('installer', 'distros.dat')
+
+ elif self.mode == MODE_CREATE_DOCS:
+ distros_dat_file = os.path.join('..', '..', 'installer', 'distros.dat')
+
+ else: # MODE_CHECK
+ distros_dat_file = os.path.join(prop.home_dir, 'installer', 'distros.dat')
+
+ if not os.path.exists(distros_dat_file):
+ log.debug("DAT file not found at %s. Using local relative path..." % distros_dat_file)
+ distros_dat_file = os.path.join('installer', 'distros.dat')
+
+ distros_dat = ConfigBase(distros_dat_file)
+ distros_list = self.__fixup_data('distros', distros_dat.get('distros', 'distros'))
+ log.debug(distros_list)
+
+ for distro in distros_list:
+ update_spinner()
+ d = {}
+
+ if not distros_dat.has_section(distro):
+ log.debug("Missing distro section in distros.dat: [%s]" % distro)
+ continue
+
+ for key in distros_dat.keys(distro):
+ d[key] = self.__fixup_data(key, distros_dat.get(distro, key))
+
+ self.distros[distro] = d
+ versions = self.__fixup_data("versions", distros_dat.get(distro, 'versions'))
+ self.distros[distro]['versions'] = {}
+
+ for ver in versions:
+ same_as_version, supported = False, True
+ v = {}
+ ver_section = "%s:%s" % (distro, ver)
+
+ if not distros_dat.has_section(ver_section):
+ log.error("Missing version section in distros.dat: [%s:%s]" % (distro, ver))
+ continue
+
+ if 'same_as_version' in distros_dat.keys(ver_section):
+ same_as_version = True
+
+ supported = self.__fixup_data('supported', distros_dat.get(ver_section, 'supported'))
+
+ for key in distros_dat.keys(ver_section):
+ v[key] = self.__fixup_data(key, distros_dat.get(ver_section, key))
+
+ self.distros[distro]['versions'][ver] = v
+ self.distros[distro]['versions'][ver]['dependency_cmds'] = {}
+
+ if same_as_version: # or not supported:
+ continue
+
+ for dep in self.dependencies:
+ dd = {}
+ dep_section = "%s:%s:%s" % (distro, ver, dep)
+
+ if not distros_dat.has_section(dep_section) and not same_as_version:
+ log.debug("Missing dependency section in distros.dat: [%s:%s:%s]" % (distro, ver, dep))
+ continue
+
+ #if same_as_version:
+ # continue
+
+ for key in distros_dat.keys(dep_section):
+ dd[key] = self.__fixup_data(key, distros_dat.get(dep_section, key))
+
+ self.distros[distro]['versions'][ver]['dependency_cmds'][dep] = dd
+
+ versions = self.distros[distro]['versions']
+ for ver in versions:
+ ver_section = "%s:%s" % (distro, ver)
+
+ if 'same_as_version' in distros_dat.keys(ver_section):
+ v = self.__fixup_data("same_as_version", distros_dat.get(ver_section, 'same_as_version'))
+ log.debug("Setting %s:%s to %s:%s" % (distro, ver, distro, v))
+
+ try:
+ vv = self.distros[distro]['versions'][v].copy()
+ vv['same_as_version'] = v
+ self.distros[distro]['versions'][ver] = vv
+ except KeyError:
+ log.debug("Missing 'same_as_version=' version in distros.dat for section [%s:%s]." % (distro, v))
+ continue
+
+ #import pprint
+ #pprint.pprint(self.distros)
+
+ def pre_install(self):
+ pass
+
+
+ def pre_depend(self):
+ pass
+
+
+ def check_python2x(self):
+ py_ver = sys.version_info
+ py_major_ver, py_minor_ver = py_ver[:2]
+ log.debug("Python ver=%d.%d" % (py_major_ver, py_minor_ver))
+ return py_major_ver >= 2
+
+
+ def check_gcc(self):
+ return check_tool('gcc --version', 0) and check_tool('g++ --version', 0)
+
+
+ def check_make(self):
+ return check_tool('make --version', 3.0)
+
+
+ def check_libusb(self):
+ if not check_lib('libusb'):
+ return False
+
+ return len(locate_file_contains("usb.h", '/usr/include', 'usb_init(void)'))
+
+
+ def check_libjpeg(self):
+ return check_lib("libjpeg") and check_file("jpeglib.h")
+
+
+ def check_libcrypto(self):
+ return check_lib("libcrypto") and check_file("crypto.h")
+
+
+ def check_libpthread(self):
+ return check_lib("libpthread") and check_file("pthread.h")
+
+
+ def check_libnetsnmp(self):
+ return check_lib("libnetsnmp") and check_file("net-snmp-config.h")
+
+
+ def check_reportlab(self):
+ try:
+ log.debug("Trying to import 'reportlab'...")
+ import reportlab
+
+ ver = reportlab.Version
+ try:
+ ver_f = float(ver)
+ except ValueError:
+ log.debug("Can't determine version.")
+ return False
+ else:
+ log.debug("Version: %.1f" % ver_f)
+ if ver_f >= 2.0:
+ log.debug("Success.")
+ return True
+ else:
+ return False
+
+ except ImportError:
+ log.debug("Failed.")
+ return False
+
+
+ def check_python23(self):
+ py_ver = sys.version_info
+ py_major_ver, py_minor_ver = py_ver[:2]
+ log.debug("Python ver=%d.%d" % (py_major_ver, py_minor_ver))
+ return py_major_ver >= 2 and py_minor_ver >= 3
+
+
+ def check_python_xml(self):
+ try:
+ import xml.parsers.expat
+ except ImportError:
+ return False
+ else:
+ return True
+
+
+ def check_sane(self):
+ return check_lib('libsane')
+
+
+ def check_sane_devel(self):
+ return len(locate_file_contains("sane.h", '/usr/include', 'extern SANE_Status sane_init'))
+
+
+ def check_xsane(self):
+ if os.getenv('DISPLAY'):
+ return check_tool('xsane --version', 0.9) # will fail if X not running...
+ else:
+ return bool(utils.which("xsane")) # ...so just see if it installed somewhere
+
+
+ def check_scanimage(self):
+ return check_tool('scanimage --version', 1.0)
+
+
+ def check_gs(self):
+ return check_tool('gs -v', 7.05)
+
+
+ def check_pyqt4(self):
+ if self.ui_toolkit == 'qt4':
+ try:
+ import PyQt4
+ except ImportError:
+ return False
+ else:
+ return True
+
+ else:
+ return False
+
+
+ def check_pyqt4_dbus(self):
+ if self.ui_toolkit == 'qt4':
+ try:
+ from dbus.mainloop.qt import DBusQtMainLoop
+ except ImportError:
+ return False
+ else:
+ return True
+ else:
+ return False
+
+
+ def check_python_devel(self):
+ return check_file('Python.h')
+
+
+ def check_pynotify(self):
+ try:
+ import pynotify
+ except ImportError:
+ return False
+
+ return True
+
+
+ def check_python_dbus(self):
+ log.debug("Checking for python-dbus (>= 0.80)...")
+ try:
+ import dbus
+ try:
+ ver = dbus.version
+ log.debug("Version: %s" % '.'.join([str(x) for x in dbus.version]))
+ return ver >= (0,80,0)
+
+ except AttributeError:
+ try:
+ ver = dbus.__version__
+ log.debug("Version: %s" % dbus.__version__)
+ log.debug("HPLIP requires dbus version > 0.80.")
+ return False
+
+ except AttributeError:
+ log.debug("Unknown version. HPLIP requires dbus version > 0.80.")
+ return False
+
+ except ImportError:
+ return False
+
+
+ def check_python_ctypes(self):
+ try:
+ import ctypes
+ return True
+ except ImportError:
+ return False
+
+
+ def check_dbus(self):
+ log.debug("Checking for dbus running and header files present (dbus-devel)...")
+ return check_ps(['dbus-daemon']) and \
+ len(locate_file_contains("dbus-message.h", '/usr/include', 'dbus_message_new_signal'))
+
+
+ def check_cups_devel(self):
+ return check_file('cups.h') and bool(utils.which('lpr'))
+
+
+ def check_cups(self):
+ status, output = self.run('lpstat -r')
+ if status > 0:
+ log.debug("CUPS is not running.")
+ return False
+ else:
+ log.debug("CUPS is running.")
+ return True
+
+
+ def check_cups_image(self):
+ return check_file("raster.h", "/usr/include/cups")
+
+
+ def check_hplip(self):
+ log.debug("Checking for HPLIP...")
+ return locate_files('hplip.conf', '/etc/hp')
+
+
+ def check_hpssd(self):
+ log.debug("Checking for hpssd...")
+ return check_ps(['hpssd'])
+
+
+ def check_libtool(self):
+ log.debug("Checking for libtool...")
+ return check_tool('libtool --version')
+
+
+ def check_pil(self):
+ log.debug("Checking for PIL...")
+ try:
+ import Image
+ return True
+ except ImportError:
+ return False
+
+
+ def check_cupsddk(self):
+ log.debug("Checking for cups-ddk...")
+ # TODO: Compute these paths some way or another...
+ #return check_tool("/usr/lib/cups/driver/drv list") and os.path.exists("/usr/share/cupsddk/include/media.defs")
+ return (check_file('drv', "/usr/lib/cups/driver") or check_file('drv', "/usr/lib64/cups/driver")) and \
+ check_file('media.defs', "/usr/share/cupsddk/include")
+
+
+ def check_policykit(self):
+ log.debug("Checking for PolicyKit...")
+ return (check_file('PolicyKit.conf', "/etc/PolicyKit") and check_file('org.gnome.PolicyKit.AuthorizationManager.service', "/usr/share/dbus-1/services")) or (check_file('50-localauthority.conf', "/etc/polkit-1/localauthority.conf.d") and check_file('org.freedesktop.PolicyKit1.service', "/usr/share/dbus-1/system-services"))
+
+ def check_pkg_mgr(self):
+ """
+ Check if any pkg mgr processes are running
+ """
+ log.debug("Searching for '%s' in running processes..." % self.package_mgrs)
+
+ processes = get_process_list()
+
+ for pid, cmdline in processes:
+ for p in self.package_mgrs:
+ if p in cmdline:
+ for k in OK_PROCESS_LIST:
+ #print k, cmdline
+ if k in cmdline:
+ break
+
+ else:
+ log.debug("Found: %s (%d)" % (cmdline, pid))
+ return (pid, cmdline)
+
+ log.debug("Not found")
+ return (0, '')
+
+
+ def get_hplip_version(self):
+ self.version_description, self.version_public, self.version_internal = '', '', ''
+
+ if self.mode == MODE_INSTALLER:
+ ac_init_pat = re.compile(r"""AC_INIT\(\[(.*?)\], *\[(.*?)\], *\[(.*?)\], *\[(.*?)\] *\)""", re.IGNORECASE)
+
+ try:
+ config_in = open('./configure.in', 'r')
+ except IOError:
+ self.version_description, self.version_public, self.version_internal = \
+ '', sys_conf.get('configure', 'internal-tag', '0.0.0'), prop.installed_version
+ else:
+ for c in config_in:
+ if c.startswith("AC_INIT"):
+ match_obj = ac_init_pat.search(c)
+ self.version_description = match_obj.group(1)
+ self.version_public = match_obj.group(2)
+ self.version_internal = match_obj.group(3)
+ name = match_obj.group(4)
+ break
+
+ config_in.close()
+
+ if name != 'hplip':
+ log.error("Invalid archive!")
+
+
+ else: # MODE_CHECK
+ try:
+ self.version_description, self.version_public, self.version_internal = \
+ '', sys_conf.get('configure', 'internal-tag', '0.0.0'), prop.installed_version
+ except KeyError:
+ self.version_description, self.version_public, self.version_internal = '', '', ''
+
+ return self.version_description, self.version_public, self.version_internal
+
+
+ def configure(self):
+ configure_cmd = './configure'
+ configuration = {}
+ dbus_avail = self.have_dependencies['dbus'] and self.have_dependencies['python-dbus']
+ configuration['network-build'] = self.selected_options['network']
+ configuration['fax-build'] = self.selected_options['fax'] and dbus_avail
+ configuration['dbus-build'] = dbus_avail
+ configuration['qt4'] = self.selected_options['gui_qt4']
+ configuration['scan-build'] = self.selected_options['scan']
+ configuration['doc-build'] = self.selected_options['docs']
+ configuration['policykit'] = self.selected_options['policykit']
+
+ # Setup printer driver configure flags based on distro data...
+ if self.native_cups: # hpcups
+ configuration['hpcups-install'] = True
+ configuration['hpijs-install'] = False
+ configuration['foomatic-ppd-install'] = False
+ configuration['foomatic-drv-install'] = False
+
+ if self.enable_ppds:
+ configuration['cups-ppd-install'] = True
+ configuration['cups-drv-install'] = False
+ else:
+ configuration['cups-ppd-install'] = False
+ configuration['cups-drv-install'] = True
+
+ else: # HPIJS/foomatic
+ configuration['hpcups-install'] = False
+ configuration['hpijs-install'] = True
+ configuration['cups-ppd-install'] = False
+ configuration['cups-drv-install'] = False
+
+ if self.enable_ppds:
+ configuration['foomatic-ppd-install'] = True
+ configuration['foomatic-drv-install'] = False
+ else:
+ configuration['foomatic-ppd-install'] = False
+ configuration['foomatic-drv-install'] = True
+
+
+ # ... and then override and adjust for consistency with passed in parameters
+ if self.enable is not None:
+ for c in self.enable:
+ if c == 'hpcups-install':
+ configuration['hpijs-install'] = False
+ configuration['foomatic-ppd-install'] = False
+ configuration['foomatic-drv-install'] = False
+ elif c == 'hpijs-install':
+ configuration['hpcups-install'] = False
+ configuration['cups-ppd-install'] = False
+ configuration['cups-drv-install'] = False
+ elif c == 'foomatic-ppd-install':
+ configuration['foomatic-drv-install'] = False
+ elif c == 'foomatic-drv-install':
+ configuration['foomatic-ppd-install'] = False
+ elif c == 'cups-ppd-install':
+ configuration['cups-drv-install'] = False
+ elif c == 'cups-drv-install':
+ configuration['cups-ppd-install'] = False
+
+ if self.disable is not None:
+ for c in self.disable:
+ if c == 'hpcups-install':
+ configuration['hpijs-install'] = True
+ configuration['cups-ppd-install'] = False
+ configuration['cups-drv-install'] = False
+ elif c == 'hpijs-install':
+ configuration['hpcups-install'] = True
+ configuration['foomatic-ppd-install'] = False
+ configuration['foomatic-drv-install'] = False
+ elif c == 'foomatic-ppd-install':
+ configuration['foomatic-drv-install'] = True
+ elif c == 'foomatic-drv-install':
+ configuration['foomatic-ppd-install'] = True
+ elif c == 'cups-ppd-install':
+ configuration['cups-drv-install'] = True
+ elif c == 'cups-drv-install':
+ configuration['cups-ppd-install'] = True
+
+ if self.ppd_dir is not None:
+ configure_cmd += ' --with-hpppddir=%s' % self.ppd_dir
+
+ libdir_path = self.get_distro_ver_data('libdir_path',False)
+ if libdir_path and self.bitness == 64:
+ configure_cmd += ' --libdir=%s' % (libdir_path)
+ elif self.bitness == 64:
+ configure_cmd += ' --libdir=/usr/lib64'
+
+ configure_cmd += ' --prefix=%s' % self.install_location
+
+ if self.get_distro_ver_data('cups_path_with_bitness', False) and self.bitness == 64:
+ configure_cmd += ' --with-cupsbackenddir=/usr/lib64/cups/backend --with-cupsfilterdir=/usr/lib64/cups/filter'
+
+ if self.get_distro_ver_data('acl_rules', False):
+ configure_cmd += ' --enable-udev-acl-rules'
+
+ if self.enable is not None:
+ for c in self.enable:
+ configuration[c] = True
+
+ if self.disable is not None:
+ for c in self.disable:
+ configuration[c] = False
+
+ for c in configuration:
+ if configuration[c]:
+ configure_cmd += ' --enable-%s' % c
+ else:
+ configure_cmd += ' --disable-%s' % c
+
+ return configure_cmd
+
+ def configure_html(self):
+ configure_cmd = './configure'
+ configure_cmd += ' --prefix=/usr'
+ configure_cmd += ' --with-hpppddir=%s' % self.ppd_dir
+
+ if self.bitness == 64:
+ configure_cmd += ' --libdir=/usr/lib64'
+
+ self.ui_toolkit = self.get_distro_ver_data('ui_toolkit')
+ if self.ui_toolkit is not None and self.ui_toolkit == 'qt3':
+ configure_cmd += ' --enable-qt3 --disable-qt4'
+ else:
+ configure_cmd += ' --enable-qt4'
+
+ self.native_cups = self.get_distro_ver_data('native_cups')
+ if self.native_cups is not None and self.native_cups == 1:
+ configure_cmd += ' --enable-hpcups-install --enable-cups-drv-install --enable-cups-ppd-install --disable-hpijs-install --disable-foomatic-drv-install --disable-foomatic-ppd-install --disable-foomatic-rip-hplip-install'
+ else:
+ configure_cmd += ' --disable-hpcups-install --disable-cups-drv-install --disable-cups-ppd-install --enable-hpijs-install --enable-foomatic-drv-install --enable-foomatic-ppd-install --enable-foomatic-rip-hplip-install'
+
+ self.fax_supported = self.get_distro_ver_data('fax_supported')
+ if self.fax_supported is None:
+ configure_cmd += ' --disable-fax-build --disable-dbus-build'
+ else:
+ configure_cmd += ' --enable-fax-build --enable-dbus-build'
+
+ self.network_supported = self.get_distro_ver_data('network_supported')
+ if self.network_supported is None:
+ configure_cmd += ' --disable-network-build'
+ else:
+ configure_cmd += ' --enable-network-build'
+
+ self.scan_supported = self.get_distro_ver_data('scan_supported')
+ if self.scan_supported is None:
+ configure_cmd += ' --disable-scan-build'
+ else:
+ configure_cmd += ' --enable-scan-build'
+
+ self.policykit = self.get_distro_ver_data('policykit')
+ if self.policykit is not None and self.policykit == 1:
+ configure_cmd += ' --enable-policykit'
+ else:
+ configure_cmd += ' --disable-policykit'
+
+ return configure_cmd
+
+ def configure_qt4(self):
+ configure_cmd = './configure'
+ configure_cmd += ' --prefix=/usr'
+ configure_cmd += ' --with-hpppddir=%s' % self.ppd_dir
+
+ if self.bitness == 64:
+ configure_cmd += ' --libdir=/usr/lib64'
+
+ self.ui_toolkit = self.get_distro_ver_data('ui_toolkit')
+ if self.ui_toolkit is not None and self.ui_toolkit == 'qt3':
+ configure_cmd += ' --enable-qt3 --disable-qt4'
+ else:
+ configure_cmd += ' --enable-qt4'
+
+ self.native_cups = self.get_distro_ver_data('native_cups')
+ self.ppd_install = self.get_distro_ver_data('ppd_install')
+ if self.native_cups is not None and self.native_cups == 1:
+ configure_cmd += ' --enable-hpcups-install'
+ if self.ppd_install == 'drv':
+ configure_cmd += ' --enable-cups-drv-install --disable-cups-ppd-install'
+ else:
+ configure_cmd += ' --enable-cups-ppd-install --disable-cups-drv-install'
+ configure_cmd += ' --disable-hpijs-install --disable-foomatic-drv-install --disable-foomatic-ppd-install --disable-foomatic-rip-hplip-install'
+ else:
+ configure_cmd += ' --enable-hpijs-install'
+ if self.ppd_install == 'drv':
+ configure_cmd += ' --enable-foomatic-drv-install --disable-foomatic-ppd-install'
+ else:
+ configure_cmd += ' --enable-foomatic-ppd-install --disable-foomatic-drv-install'
+ configure_cmd += ' --enable-foomatic-rip-hplip-install --disable-hpcups-install --disable-cups-drv-install --disable-cups-ppd-install'
+
+ self.fax_supported = self.get_distro_ver_data('fax_supported')
+ if self.fax_supported is None:
+ configure_cmd += ' --disable-fax-build --disable-dbus-build'
+ else:
+ configure_cmd += ' --enable-fax-build --enable-dbus-build'
+
+ self.network_supported = self.get_distro_ver_data('network_supported')
+ if self.network_supported is None:
+ configure_cmd += ' --disable-network-build'
+ else:
+ configure_cmd += ' --enable-network-build'
+
+ self.scan_supported = self.get_distro_ver_data('scan_supported')
+ if self.scan_supported is None:
+ configure_cmd += ' --disable-scan-build'
+ else:
+ configure_cmd += ' --enable-scan-build'
+
+ self.policykit = self.get_distro_ver_data('policykit')
+ if self.policykit is not None and self.policykit == 1:
+ configure_cmd += ' --enable-policykit'
+ else:
+ configure_cmd += ' --disable-policykit'
+
+ return configure_cmd
+
+
+ def restart_cups(self):
+ if os.path.exists('/etc/init.d/cups'):
+ cmd = self.su_sudo() % '/etc/init.d/cups restart'
+
+ elif os.path.exists('/etc/init.d/cupsys'):
+ cmd = self.su_sudo() % '/etc/init.d/cupsys restart'
+
+ else:
+ cmd = self.su_sudo() % 'killall -HUP cupsd'
+
+ self.run(cmd)
+
+
+ def stop_hplip(self):
+ return self.su_sudo() % "/etc/init.d/hplip stop"
+
+
+ def su_sudo(self):
+ if os.geteuid() == 0:
+ return '%s'
+ else:
+ try:
+ cmd = self.distros[self.distro_name]['su_sudo']
+ except KeyError:
+ cmd = 'su'
+
+ if cmd == 'su':
+ return 'su -c "%s"'
+ else:
+ return 'sudo %s'
+
+ def su_sudo_str(self):
+ return self.get_distro_data('su_sudo', 'su')
+
+
+ def build_cmds(self):
+ return [self.configure(),
+ 'make clean',
+ 'make',
+ self.su_sudo() % 'make install']
+
+
+ def get_distro_ver_data(self, key, default=None):
+ try:
+ return self.distros[self.distro_name]['versions'][self.distro_version].get(key, None) or \
+ self.distros[self.distro_name].get(key, None) or default
+ except KeyError:
+ return default
+
+ return value
+
+
+ def get_distro_data(self, key, default=None):
+ try:
+ return self.distros[self.distro_name].get(key, None) or default
+ except KeyError:
+ return default
+
+
+ def get_ver_data(self, key, default=None):
+ try:
+ return self.distros[self.distro_name]['versions'][self.distro_version].get(key, None) or default
+ except KeyError:
+ return default
+
+ return value
+
+
+ def get_dependency_data(self, dependency):
+ dependency_cmds = self.get_ver_data("dependency_cmds", {})
+ dependency_data = dependency_cmds.get(dependency, {})
+ packages = dependency_data.get('packages', [])
+ commands = dependency_data.get('commands', [])
+ return packages, commands
+
+
+ def get_dependency_commands(self):
+ dd = self.dependencies.keys()
+ dd.sort()
+ commands_to_run = []
+ packages_to_install = []
+ overall_commands_to_run = []
+ for d in dd:
+ include = False
+ for opt in self.dependencies[d][1]:
+ if self.selected_options[opt]:
+ include = True
+ if include:
+ pkgs, cmds = self.get_dependency_data(d)
+
+ if pkgs:
+ for p in pkgs:
+ if not p in packages_to_install:
+ packages_to_install.append(p)
+
+ if cmds:
+ commands_to_run.extend(cmds)
+
+ package_mgr_cmd = self.get_distro_data('package_mgr_cmd')
+
+ overall_commands_to_run.extend(commands_to_run)
+
+ if package_mgr_cmd:
+ packages_to_install = ' '.join(packages_to_install)
+ overall_commands_to_run.append(utils.cat(package_mgr_cmd))
+
+ if not overall_commands_to_run:
+ log.error("No cmds/pkgs")
+
+ return overall_commands_to_run
+
+
+ def distro_known(self):
+ return self.distro != DISTRO_UNKNOWN and self.distro_version != DISTRO_VER_UNKNOWN
+
+
+ def distro_supported(self):
+ if self.mode == MODE_INSTALLER:
+ return self.distro != DISTRO_UNKNOWN and self.distro_version != DISTRO_VER_UNKNOWN and self.get_ver_data('supported', False)
+ else:
+ return True # For docs (manual install)
+
+
+ def sort_vers(self, x, y):
+ try:
+ return cmp(float(x), float(y))
+ except ValueError:
+ return cmp(x, y)
+
+
+ def running_as_root(self):
+ return os.geteuid() == 0
+
+
+ def show_release_notes_in_browser(self):
+ url = "file://%s" % os.path.join(os.getcwd(), 'doc', 'release_notes.html')
+ log.debug(url)
+ status, output = self.run("xhost +")
+ utils.openURL(url)
+
+
+ def count_num_required_missing_dependencies(self):
+ num_req_missing = 0
+ for d, desc, opt in self.missing_required_dependencies():
+ num_req_missing += 1
+ return num_req_missing
+
+
+ def count_num_optional_missing_dependencies(self):
+ num_opt_missing = 0
+ for d, desc, req, opt in self.missing_optional_dependencies():
+ num_opt_missing += 1
+ return num_opt_missing
+
+
+ def missing_required_dependencies(self): # missing req. deps in req. options
+ for opt in self.components[self.selected_component][1]:
+ if self.options[opt][0]: # required options
+ for d in self.options[opt][2]: # dependencies for option
+ if self.dependencies[d][0]: # required option
+ if not self.have_dependencies[d]: # missing
+ log.debug("Missing required dependency: %s" % d)
+ yield d, self.dependencies[d][2], opt
+ # depend, desc, option
+
+ def missing_optional_dependencies(self):
+ # missing deps in opt. options
+ for opt in self.components[self.selected_component][1]:
+ if not self.options[opt][0]: # not required option
+ if self.selected_options[opt]: # only for options that are ON
+ for d in self.options[opt][2]: # dependencies
+ if not self.have_dependencies[d]: # missing dependency
+ log.debug("Missing optional dependency: %s" % d)
+ yield d, self.dependencies[d][2], self.dependencies[d][0], opt
+ # depend, desc, required_for_opt, opt
+
+ # opt. deps in req. options
+ for opt in self.components[self.selected_component][1]:
+ if self.options[opt][0]: # required options
+ for d in self.options[opt][2]: # dependencies for option
+ if d == 'cups-ddk':
+ status, output = self.run('cups-config --version')
+ import string
+ if status == 0 and (string.count(output, '.') == 1 or string.count(output, '.') == 2):
+ if string.count(output, '.') == 1:
+ major, minor = string.split(output, '.', 2)
+ if string.count(output, '.') == 2:
+ major, minor, release = string.split(output, '.', 3)
+ if len(minor) > 1 and minor[1] >= '0' and minor[1] <= '9':
+ minor = ((ord(minor[0]) - ord('0')) * 10) + (ord(minor[1]) - ord('0'))
+ else:
+ minor = ord(minor[0]) - ord('0')
+ if major > '1' or (major == '1' and minor >= 4):
+ continue
+ if not self.dependencies[d][0]: # optional dep
+ if not self.have_dependencies[d]: # missing
+ log.debug("Missing optional dependency: %s" % d)
+ yield d, self.dependencies[d][2], self.dependencies[d][0], opt
+ # depend, desc, option
+
+ def select_options(self, answer_callback):
+ num_opt_missing = 0
+ # not-required options
+ for opt in self.components[self.selected_component][1]:
+ if not self.options[opt][0]: # not required
+ default = 'y'
+
+ if not self.selected_options[opt]:
+ default = 'n'
+
+ self.selected_options[opt] = answer_callback(opt, self.options[opt][1], default)
+
+ if self.selected_options[opt]: # only for options that are ON
+ for d in self.options[opt][2]: # dependencies
+ if not self.have_dependencies[d]: # missing dependency
+ log.debug("Missing optional dependency: %s" % d)
+ num_opt_missing += 1
+
+ return num_opt_missing
+
+
+ def check_network_connection(self):
+ self.network_connected = False
+
+ wget = utils.which("wget")
+ if wget:
+ wget = os.path.join(wget, "wget")
+ cmd = "%s --timeout=60 --output-document=- %s" % (wget, HTTP_GET_TARGET)
+ log.debug(cmd)
+ status, output = self.run(cmd)
+ log.debug("wget returned: %d" % status)
+ self.network_connected = (status == 0)
+
+ else:
+ curl = utils.which("curl")
+ if curl:
+ curl = os.path.join(curl, "curl")
+ cmd = "%s --output - --connect-timeout 5 --max-time 10 %s" % (curl, HTTP_GET_TARGET)
+ log.debug(cmd)
+ status, output = self.run(cmd)
+ log.debug("curl returned: %d" % status)
+ self.network_connected = (status == 0)
+
+ else:
+ ping = utils.which("ping")
+
+ if ping:
+ ping = os.path.join(ping, "ping")
+ cmd = "%s -c1 -W1 -w10 %s" % (ping, PING_TARGET)
+ log.debug(cmd)
+ status, output = self.run(cmd)
+ log.debug("ping returned: %d" % status)
+ self.network_connected = (status == 0)
+
+ return self.network_connected
+
+
+ def run_pre_install(self, callback=None):
+ pre_cmd = self.get_distro_ver_data('pre_install_cmd')
+ log.debug(pre_cmd)
+ if pre_cmd:
+ x = 1
+ for cmd in pre_cmd:
+ status, output = self.run(cmd)
+
+ if status != 0:
+ log.warn("An error occurred running '%s'" % cmd)
+
+ if callback is not None:
+ callback(cmd, "Pre-install step %d" % x)
+
+ x += 1
+
+ return True
+
+ else:
+ return False
+
+
+ def run_pre_depend(self, callback=None):
+ pre_cmd = self.get_distro_ver_data('pre_depend_cmd')
+ log.debug(pre_cmd)
+ if pre_cmd:
+ x = 1
+ for cmd in pre_cmd:
+ status, output = self.run(cmd)
+
+ if status != 0:
+ log.warn("An error occurred running '%s'" % cmd)
+
+ if callback is not None:
+ callback(cmd, "Pre-depend step %d" % x)
+
+ x += 1
+
+
+ def run_post_depend(self, callback=None):
+ post_cmd = self.get_distro_ver_data('post_depend_cmd')
+ log.debug(post_cmd)
+ if post_cmd:
+ x = 1
+ for cmd in post_cmd:
+ status, output = self.run(cmd)
+
+ if status != 0:
+ log.warn("An error occurred running '%s'" % cmd)
+
+ if callback is not None:
+ callback(cmd, "Post-depend step %d" % x)
+
+ x += 1
+
+
+ def run_open_mdns_port(self, callback=None):
+ open_mdns_port_cmd = self.get_distro_ver_data('open_mdns_port')
+ log.debug(open_mdns_port_cmd)
+ if open_mdns_port_cmd:
+ x = 1
+ for cmd in open_mdns_port_cmd:
+ cmd = self.su_sudo() % cmd
+ status, output = self.run(cmd)
+
+ if status != 0:
+ log.warn("An error occurred running '%s'" % cmd)
+ log.warn(output)
+
+ if callback is not None:
+ callback(cmd, "Open mDNS/Bonjour step %d" % x)
+
+ x += 1
+
+
+ def pre_build(self):
+ cmds = []
+ if self.get_distro_ver_data('fix_ppd_symlink', False):
+ cmds.append(self.su_sudo() % 'python ./installer/fix_symlink.py')
+
+ return cmds
+
+
+ def run_pre_build(self, callback=None):
+ x = 1
+ for cmd in self.pre_build():
+ status, output = self.run(cmd)
+ if callback is not None:
+ callback(cmd, "Pre-build step %d" % x)
+
+ x += 1
+
+
+ def run_post_build(self, callback=None):
+ x = 1
+ for cmd in self.post_build():
+ status, output = self.run(cmd)
+ if callback is not None:
+ callback(cmd, "Post-build step %d" % x)
+
+ x += 1
+
+
+ def post_build(self):
+ cmds = []
+ # Reload DBUS configuration if distro supports it and PolicyKit
+ # support installed
+ if self.reload_dbus and self.selected_options['policykit']:
+ cmds.append(self.su_sudo() % "sh /etc/init.d/dbus reload")
+ log.debug("Will reload DBUS configuration for PolicyKit support")
+
+ # Kill any running hpssd.py instance from a previous install
+ if self.check_hpssd():
+ pid = get_ps_pid('hpssd')
+ if pid:
+ kill = os.path.join(utils.which("kill"), "kill") + " %d" % pid
+ cmds.append(self.su_sudo() % kill)
+
+ # Add user to group if needed
+ # add_user_to_group=<usermod params> [TYPE_STRING] (leave empty for none) [ex. "-a -G sys" or "-G lp"]
+ add_user_to_group = self.get_distro_ver_data('add_user_to_group', '')
+ if add_user_to_group:
+ usermod = os.path.join(utils.which("usermod"), "usermod") + " %s %s" % (add_user_to_group, prop.username)
+ cmds.append(self.su_sudo() % usermod)
+
+ return cmds
+
+
+ def logoff(self):
+ ok = False
+ pkill = utils.which('pkill')
+ if pkill:
+ cmd = "%s -KILL -u %s" % (os.path.join(pkill, "pkill"), prop.username)
+ cmd = self.su_sudo() % cmd
+ status, output = self.run(cmd)
+
+ ok = (status == 0)
+
+ return ok
+
+
+ def restart(self):
+ ok = False
+ shutdown = utils.which('shutdown')
+ if shutdown:
+ cmd = "%s -r now" % (os.path.join(shutdown, "shutdown"))
+ cmd = self.su_sudo() % cmd
+ status, output = self.run(cmd)
+
+ ok = (status == 0)
+
+ return ok
+
+
+ def run_hp_setup(self):
+ status = 0
+ hpsetup = utils.which("hp-setup")
+
+ if hpsetup:
+ cmd = 'hp-setup'
+ else:
+ cmd = './setup.py'
+
+ log.debug(cmd)
+ status, output = self.run(cmd)
+ return status == 0
+
+
+ def remove_hplip(self, callback=None):
+ failed = True
+ self.stop_pre_2x_hplip(callback)
+
+ hplip_remove_cmd = self.get_distro_data('hplip_remove_cmd')
+ if hplip_remove_cmd:
+ if callback is not None:
+ callback(hplip_remove_cmd, "Removing old HPLIP version")
+
+ status, output = self.run(hplip_remove_cmd)
+
+ if status == 0:
+ self.hplip_present = self.check_hplip()
+
+ if not self.hplip_present:
+ failed = False
+
+ return failed
+
+
+ def stop_pre_2x_hplip(self, callback=None):
+ hplip_init_script = '/etc/init.d/hplip stop'
+ if os.path.exists(hplip_init_script):
+ cmd = self.su_sudo() % hplip_init_script
+
+ if callback is not None:
+ callback(cmd, "Stopping old HPLIP version.")
+
+ status, output = self.run(cmd)
+
+
+
+ def check_password(self, password_entry_callback, callback=None):
+ self.clear_su_sudo_password()
+ x = 1
+ while True:
+ self.password = password_entry_callback()
+ cmd = self.su_sudo() % "true"
+
+ log.debug(cmd)
+
+ status, output = self.run(cmd)
+
+ log.debug(status)
+ log.debug(output)
+
+ if status == 0:
+ if callback is not None:
+ callback("", "Password accepted")
+ return True
+
+ if callback is not None:
+ if "not in the sudoers file" in output:
+ callback("", "%s is not in the sudoers file. Check privileges\n" %(os.getenv('USER')) )
+ return False
+ else:
+ callback("", "Password incorrect. %d attempt(s) left." % (3-x ))
+
+
+ x += 1
+
+ if x > 3:
+ return False
+
+
+ def clear_su_sudo_password(self):
+ if self.su_sudo_str() == 'sudo':
+ log.debug("Clearing password...")
+ self.run("sudo -K")
+
+
+
+ # PLUGIN HELPERS
+
+ def set_plugin_version(self):
+ self.plugin_version = prop.installed_version
+ log.debug("Plug-in version=%s" % self.plugin_version)
+ self.plugin_name = 'hplip-%s-plugin.run' % self.plugin_version
+ log.debug("Plug-in=%s" % self.plugin_name)
+
+
+ def get_plugin_conf_url(self):
+ url = "http://hplip.sf.net/plugin.conf"
+ home = sys_conf.get('dirs', 'home')
+
+ if os.path.exists('/etc/hp/plugin.conf'):
+ url = "file:///etc/hp/plugin.conf"
+
+ elif os.path.exists(os.path.join(home, 'plugin.conf')):
+ url = "file://" + os.path.join(home, 'plugin.conf')
+
+ log.debug("Plugin.conf url: %s" % url)
+ return url
+
+
+ def get_plugin_info(self, plugin_conf_url, callback):
+ ok, size, checksum, timestamp, url = False, 0, 0, 0.0, ''
+
+ if not self.create_plugin_dir():
+ log.error("Could not create plug-in directory.")
+ return '', 0, 0, 0, False
+
+ local_conf_fp, local_conf = utils.make_temp_file()
+
+ #if os.path.exists(local_conf):
+ #os.remove(local_conf)
+
+ try:
+ try:
+ #filename, headers = urllib.urlretrieve(plugin_conf_url, local_conf, callback)
+ wget = utils.which("wget")
+ if wget:
+ wget = os.path.join(wget, "wget")
+ status, output = self.run("%s --timeout=60 --output-document=%s %s --cache=off" %(wget, local_conf, plugin_conf_url))
+ if status:
+ log.error("Plugin download failed with error code = %d" %status)
+ return '', 0, 0, 0, False
+ else:
+ log.error("Please install wget package to download the plugin.")
+ return '', 0, 0, 0, False
+ except IOError, e:
+ log.error("I/O Error: %s" % e.strerror)
+ return '', 0, 0, 0, False
+
+ if not os.path.exists(local_conf):
+ log.error("plugin.conf not found.")
+ return '', 0, 0, 0, False
+
+ plugin_conf_p = ConfigParser.ConfigParser()
+
+ try:
+ plugin_conf_p.read(local_conf)
+ except (ConfigParser.MissingSectionHeaderError, ConfigParser.ParsingError):
+ log.error("Error parsing file - 404 error?")
+ return '', 0, 0, 0, False
+
+ try:
+ url = plugin_conf_p.get(self.plugin_version, 'url')
+ size = plugin_conf_p.getint(self.plugin_version, 'size')
+ checksum = plugin_conf_p.get(self.plugin_version, 'checksum')
+ timestamp = plugin_conf_p.getfloat(self.plugin_version, 'timestamp')
+ ok = True
+ except (KeyError, ConfigParser.NoSectionError):
+ log.error("Error reading plugin.conf: Missing section [%s]" % self.plugin_version)
+ return '', 0, 0, 0, False
+
+ finally:
+ os.close(local_conf_fp)
+ os.remove(local_conf)
+
+ return url, size, checksum, timestamp, ok
+
+
+ def create_plugin_dir(self):
+ if not os.path.exists(self.plugin_path):
+ try:
+ log.debug("Creating plugin directory: %s" % self.plugin_path)
+ os.umask(0)
+ os.makedirs(self.plugin_path, 0755)
+ return True
+ except (OSError, IOError), e:
+ log.error("Unable to create directory: %s" % e.strerror)
+ return False
+
+ return True
+
+
+ def isErrorPage(self, page):
+ """
+ Example code from David Mertz' Text Processing in Python.
+ Released in the Public Domain.
+ """
+ err_score = 0.0
+
+ for pat, prob in err_pats.items():
+ if err_score > 0.9: break
+ if re.search(pat, page):
+ err_score += prob
+
+ log.debug("File error page score: %f" % (err_score))
+
+ return err_score > 0.50
+
+
+ def download_plugin(self, url, size, checksum, timestamp, callback=None):
+ log.debug("Downloading %s plug-in file from '%s' to '%s'..." % (self.plugin_version, url, self.plugin_path))
+
+ if not self.create_plugin_dir():
+ return PLUGIN_INSTALL_ERROR_DIRECTORY_ERROR, self.plugin_path
+
+ plugin_file = os.path.join(self.plugin_path, self.plugin_name)
+
+
+ #Check whether plugin is accessible in Openprinting.org website otherwise dowload plugin from alternate location.
+ wget = utils.which("wget")
+ if wget:
+ wget = os.path.join(wget, "wget")
+ cmd = "%s --cache=off -P %s %s" % (wget,self.plugin_path,url)
+ log.debug(cmd)
+ status, output = self.run(cmd)
+ log.debug("wget returned: %d" % status)
+
+ try:
+ if (status != 0) and 'file://' not in url:
+ url = os.path.join(PLUGIN_FALLBACK_LOCATION, self.plugin_name)
+ log.info("Plugin is not accessible. Trying to download it from fallback location: [%s]" % url)
+ cmd = "%s --cache=off -P %s %s" % (wget,self.plugin_path,url)
+ log.debug(cmd)
+ status, output = self.run(cmd)
+ if 'file://' in url:
+ filename, headers = urllib.urlretrieve(url, plugin_file, callback)
+ except IOError, e:
+ log.error("Plug-in download failed: %s" % e.strerror)
+ return PLUGIN_INSTALL_ERROR_PLUGIN_FILE_NOT_FOUND, e.strerror
+
+ if self.isErrorPage(file(plugin_file, 'r').read(1024)):
+ log.debug(file(plugin_file, 'r').read(1024))
+ os.remove(plugin_file)
+ return PLUGIN_INSTALL_ERROR_PLUGIN_FILE_NOT_FOUND, -1
+
+ calc_checksum = get_checksum(file(plugin_file, 'r').read())
+ log.debug("D/L file checksum=%s" % calc_checksum)
+
+ # Try to download and check the GPG digital signature
+ digsig_url = url + '.asc'
+ digsig_file = plugin_file + '.asc'
+
+ log.debug("Downloading %s plug-in digital signature file from '%s' to '%s'..." % (self.plugin_version, digsig_url, digsig_file))
+
+ try:
+ if 'file://' in url:
+ filename, headers = urllib.urlretrieve(digsig_url, digsig_file, callback)
+ else:
+ cmd = "%s --cache=off -P %s %s" % (wget,self.plugin_path,digsig_url)
+ log.debug(cmd)
+ status, output = self.run(cmd)
+ except IOError, e:
+ log.error("Plug-in GPG file [%s] download failed: %s" % (digsig_url,e.strerror))
+ return PLUGIN_INSTALL_ERROR_DIGITAL_SIG_NOT_FOUND, e.strerror
+
+ if self.isErrorPage(file(digsig_file, 'r').read(1024)):
+ log.debug(file(digsig_file, 'r').read())
+ os.remove(digsig_file)
+ return PLUGIN_INSTALL_ERROR_DIGITAL_SIG_NOT_FOUND, -1
+
+ gpg = utils.which('gpg')
+ if gpg:
+ gpg = os.path.join(gpg, 'gpg')
+ cmd = '%s --no-permission-warning --keyserver pgp.mit.edu --recv-keys 0xA59047B9' % gpg
+ log.info("Receiving digital keys: %s" % cmd)
+ status, output = self.run(cmd)
+ log.debug(output)
+
+ if status != 0:
+ return PLUGIN_INSTALL_ERROR_UNABLE_TO_RECV_KEYS, status
+
+ cmd = '%s --no-permission-warning --verify %s %s' % (gpg, digsig_file, plugin_file)
+ log.debug("Verifying plugin with digital keys: %s" % cmd)
+ status, output = self.run(cmd)
+ log.debug(output)
+ log.debug("%s status: %d" % (gpg, status))
+
+ if status != 0:
+ return PLUGIN_INSTALL_ERROR_DIGITAL_SIG_BAD, status
+
+
+ return PLUGIN_INSTALL_ERROR_NONE, plugin_file
+
+#
+# return value:
+# '-1' --> PLUGIN_VERSION_MISMATCH -->version mismatch
+# '0' --> PLUGIN_NOT_INSTALLED --> not installed
+# '1' --> PLUGIN_INSTALLED
+
+ def check_for_plugin(self):
+ sys_state.read()
+ plugin_state = sys_state.get('plugin', 'installed', PLUGIN_NOT_INSTALLED)
+ if plugin_state != PLUGIN_NOT_INSTALLED and self.check_plugin_version() is False:
+ log.debug("Plug-in version mismatch. Need to install plugin again")
+ plugin_state = PLUGIN_VERSION_MISMATCH
+ elif plugin_state == PLUGIN_INSTALLED:
+ log.debug("Plugin is installed")
+ else:
+ log.debug("Plugin is not installed")
+
+ # cross checking so files present or not.
+ if plugin_state != PLUGIN_NOT_INSTALLED:
+ Scan_sts =self.check_scanner_plugin_files()
+ Fax_sts = self.check_fax_plugin_files()
+ Prnt_sts = self.check_printer_plugin_files()
+ if Scan_sts!= PLUGIN_STATUS_FILES_PRESENT or Fax_sts!= PLUGIN_STATUS_FILES_PRESENT or Prnt_sts != PLUGIN_STATUS_FILES_PRESENT:
+ log.debug("Plug-in files might be corrupted. Re-install plug-in")
+ plugin_state = PLUGIN_VERSION_MISMATCH
+
+ return plugin_state
+
+ def check_plugin_version(self):
+ sys_state.read()
+ plugin_installed_version = sys_state.get('plugin','version', '0.0.0')
+ hplip_version = sys_conf.get('hplip', 'version', '0.0.0')
+ if plugin_installed_version == hplip_version:
+ return True
+ else:
+ return False
+
+
+
+ def check_printer_plugin_files(self):
+ ret_val = None
+ home = sys_conf.get('dirs', 'home')
+ printer_so_dir= home+"/prnt/plugins/"
+ ret_val = self.check_so_exists(printer_so_dir, 'lj.so', "Printer",ret_val)
+ return ret_val
+
+
+ def check_scanner_plugin_files(self):
+ ret_val = None
+ home = sys_conf.get('dirs', 'home')
+ scan_so_files_list =['bb_marvell.so' , 'bb_soapht.so' , 'bb_soap.so']
+
+ cnt=0
+ scanner_so_dir= home+'/scan/plugins/'
+ while cnt < len(scan_so_files_list):
+ ret_val = self.check_so_exists(scanner_so_dir, scan_so_files_list[cnt], "Scanner",ret_val)
+ cnt += 1
+ return ret_val
+
+
+
+ def check_fax_plugin_files(self):
+ ret_val = None
+ home = sys_conf.get('dirs', 'home')
+ fax_so_dir= home+"/fax/plugins/"
+ ret_val = self.check_so_exists(fax_so_dir,'fax_marvell.so' ,"Fax",ret_val)
+ return ret_val
+
+
+ def check_so_exists(self, sym_link_dir, so_file, functionType, Pre_ret_val):
+ ret_val = Pre_ret_val
+ sym_link_file = sym_link_dir + so_file
+ if not os.path.exists(sym_link_file):
+ log.debug("Either %s file is not present or symbolic link is missing: %s" %(functionType, sym_link_file))
+ user_conf.set(functionType+'_plugins', so_file,'Not_Found')
+ if ret_val == None:
+ ret_val= PLUGIN_STATUS_FILES_NOT_PRESENT
+ elif ret_val == PLUGIN_STATUS_FILES_PRESENT:
+ ret_val = PLUGIN_STATUS_PARTIAL_FILES_PRESENT
+ else:
+ # capturing real file path
+ if os.path.islink(sym_link_file):
+ real_file = os.path.realpath(sym_link_file)
+ else:
+ real_file = sym_link_file
+
+ if not os.path.exists(real_file):
+ log.debug("%s Plugin file is missing: %s" % (functionType, real_file))
+ user_conf.set(functionType+'_plugins', so_file,'Not_Found')
+ if ret_val == None:
+ ret_val= PLUGIN_STATUS_FILES_NOT_PRESENT
+ elif ret_val == PLUGIN_STATUS_FILES_PRESENT:
+ ret_val = PLUGIN_STATUS_PARTIAL_FILES_PRESENT
+ elif (os.stat(sym_link_file).st_mode & 72) != 72:
+ user_conf.set(functionType+'_plugins', so_file,'Permissin_Error')
+ log.debug("%s Plugin file doesn't have user/group execute permission: %s" % (functionType,sym_link_file))
+ if ret_val == None:
+ ret_val= PLUGIN_STATUS_FILES_NOT_PRESENT
+ elif ret_val == PLUGIN_STATUS_FILES_PRESENT:
+ ret_val = PLUGIN_STATUS_PARTIAL_FILES_PRESENT
+ else:
+ user_conf.set(functionType+'_plugins', so_file,'Present')
+ if ret_val == None:
+ ret_val= PLUGIN_STATUS_FILES_PRESENT
+ elif ret_val == PLUGIN_STATUS_FILES_NOT_PRESENT:
+ ret_val = PLUGIN_STATUS_PARTIAL_FILES_PRESENT
+
+ log.debug("%s Plug-in file %s status: %d" % (functionType, sym_link_file, ret_val))
+ return ret_val
+
+
+
+ def run_plugin(self, mode=GUI_MODE, callback=None):
+ plugin_file = os.path.join(self.plugin_path, self.plugin_name)
+
+ if not os.path.exists(plugin_file):
+ return False
+
+ if mode == GUI_MODE:
+ return os.system("sh %s --nox11 -- -u" % plugin_file) == 0
+ else:
+ if os.system("sh %s --nox11 -- -i" % plugin_file) == 0:
+ return True
+ else:
+ log.error("Python gobject/dbus may be not installed")
+ return False
+
+
+ def delete_plugin(self):
+ plugin_file = os.path.join(self.plugin_path, self.plugin_name)
+ digsig_file = plugin_file + ".asc"
+
+ if os.path.exists(plugin_file):
+ os.unlink(plugin_file)
+ if os.path.exists(digsig_file):
+ os.unlink(digsig_file)
+
+
+ def is_auto_installer_support(self):
+ if not self.distro_name:
+ self.get_distro()
+ self.distro_name = self.distros_index[self.distro]
+
+ if self.distro_name and self.distro_name in ("ubuntu","debian","suse","fedora"):
+ log.debug("Auto installation is supported for Distro =%s version =%s "%(self.distro_name, self.distro_version))
+ return True
+ else:
+ log.debug("Auto installation is not supported for Distro =%s version =%s "%(self.distro_name, self.distro_version))
+ return False
+
+
+ def uninstall(self,mode = INTERACTIVE_MODE, callback=None):
+ checkSudo = False
+ if os.getuid() != 0:
+ checkSudo = True
+# log.error("To run 'hp-uninstall' utility, you must have root privileges.")
+# return False
+
+ home_dir= sys_conf.get("dirs","home","")
+ version= sys_conf.get("hplip","version","0.0.0")
+ if home_dir is "":
+ log.error("HPLIP is not installed.")
+ return False
+
+ if mode != NON_INTERACTIVE_MODE:
+ ok,choice = tui.enter_choice("\nAre you sure to uninstall HPLIP-%s (y=yes, n=no*)?:" %version,['y','n'],'n')
+ if not ok or choice == 'n':
+ return False
+
+ hplip_remove_cmd = self.get_distro_data('hplip_remove_cmd')
+ log.debug("hplip_remove_cmd =%s "%hplip_remove_cmd)
+ #read conf file to enter into installed dir
+ log.info("Starting uninstallation...")
+
+ plugin_state = sys_state.get('plugin', 'installed', PLUGIN_NOT_INSTALLED)
+
+ # check systray is running?
+ status,output = utils.Is_Process_Running('hp-systray')
+ if status is True:
+ if mode != NON_INTERACTIVE_MODE:
+ ok,choice = tui.enter_choice("\nSome HPLIP applications are running. Press 'y' to close and proceed or Press 'n' to quit uninstall (y=yes*, n=no):",['y','n'],'y')
+ if not ok or choice =='n':
+ log.info("Quiting HPLIP unininstallation. Close application(s) manually and run again.")
+ return False
+
+ try:
+ from dbus import SystemBus, lowlevel
+ except ImportError:
+ log.error("Unable to load DBus")
+ pass
+ else:
+ try:
+ args = ['', '', EVENT_SYSTEMTRAY_EXIT, prop.username, 0, '', '']
+ msg = lowlevel.SignalMessage('/', 'com.hplip.StatusService', 'Event')
+ msg.append(signature='ssisiss', *args)
+ log.debug("Sending close message to hp-systray ...")
+ SystemBus().send_message(msg)
+ time.sleep(0.5)
+ except:
+ log.error("Failed to send DBus message to hp-systray/hp-toolbox.")
+ pass
+
+
+ toolbox_status,output = utils.Is_Process_Running('hp-toolbox')
+ systray_status,output = utils.Is_Process_Running('hp-systray')
+ if toolbox_status is True or systray_status is True:
+ log.error("Failed to close HP-Toolbox/HP-Systray. Close manually and run hp-uninstall again.")
+ return False
+
+ if hplip_remove_cmd:
+ self.remove_hplip(callback)
+
+ #removing .hplip directory
+ cmd='find /home -name .hplip'
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+
+ status, output=self.run(cmd)
+ if output is not None:
+ for p in output.splitlines():
+ if p.find("find:") != -1:
+ continue
+
+ cmd= RMDIR + " " + p
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+ log.debug("Removing .hplip folder cmd = %s " %cmd)
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove directory=%s "%p)
+
+ #remove the binaries and libraries
+ pat=re.compile(r"""(.*)share\/hplip""")
+ base =pat.match(home_dir)
+ usrbin_dir=None
+ if base is not None:
+ usrbin_dir= base.group(1) + "bin/"
+ usrlib_dir= base.group(1) + "lib/"
+ cnt = 0
+ while cnt <len (BINS_LIST ):
+ cmd = RM + " " + usrbin_dir + BINS_LIST[cnt]
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+
+ log.debug("Removing binaries cmd = %s " %cmd)
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove '%s' binary." %(usrbin_dir + BINS_LIST[cnt]))
+ cnt += 1
+
+ cnt =0
+ while cnt <len (LIBS_LIST ):
+ cmd = RM + " " + usrlib_dir + LIBS_LIST[cnt]
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+
+ log.debug("Removing library cmd = %s " %cmd)
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove '%s' library." %(usrlib_dir + LIBS_LIST[cnt]))
+ cnt += 1
+
+
+ remove_plugins = False
+ if mode != NON_INTERACTIVE_MODE and plugin_state != PLUGIN_NOT_INSTALLED:
+ ok,choice = tui.enter_choice("\nDo you want to remove HP proprietary plug-ins (y=yes*, n=no)?:",['y','n'],'y')
+ if ok and choice =='y':
+ remove_plugins = True
+ else:
+ remove_plugins = True
+
+ # removing HPLIP installed directories/files
+ cnt =0
+ while cnt < len(HPLIP_LIST):
+ cmd=RMDIR + " " + home_dir+"/"+HPLIP_LIST[cnt]
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+
+ log.debug("Removing hplip directory/file cmd= %s " %cmd)
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove hplip directory/file=%s "% (home_dir+"/"+HPLIP_LIST[cnt]))
+ cnt +=1
+
+ # removing configuration files
+ cnt= 0
+ while cnt < len(FILES_LIST):
+ cmd = RMDIR + " " + FILES_LIST[cnt]
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+ log.debug("Removing conf files cmd= %s" %(cmd))
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove '%s' file" %FILES_LIST[cnt])
+ cnt += 1
+ # removing Plug-in files
+ if remove_plugins == True:
+ cnt =0
+ while cnt < len(PLUGIN_LIST):
+ cmd=RMDIR + " " + home_dir+"/"+PLUGIN_LIST[cnt]
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+
+ log.debug("Removing hplip Plug-in files cmd= %s " %cmd)
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove plug-in directory/file=%s "% (home_dir+"/"+PLUGIN_LIST[cnt]))
+ cnt += 1
+
+ cnt =0
+ while cnt < len(PLUGIN_STATE):
+ cmd=RMDIR + " "+PLUGIN_STATE[cnt]
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+
+ log.debug("Removing hplip Plug-in file cmd= %s " %cmd)
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove plug-in directory/file=%s "% (PLUGIN_STATE[cnt]))
+ cnt += 1
+
+ cmd =RMDIR+ " "+home_dir
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+
+ log.debug("Removing hplip directory/file cmd= %s " %cmd)
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove hplip directory=%s "% (home_dir))
+
+ # removing HPLIP uninstall link
+ if usrbin_dir is not None:
+ cmd=RMDIR + " " + usrbin_dir+"hp-uninstall"
+ if checkSudo:
+ cmd= self.su_sudo() %cmd
+
+ log.debug("Removing hplip binary cmd= %s " %cmd)
+ status, output=self.run(cmd)
+ if 0 != status:
+ log.debug("Failed to remove '%s' file" %(usrbin_dir+"hp-uninstall"))
+ log.info("HPLIP uninstallation is completed")
+ return True
+
diff --git a/installer/distros.dat b/installer/distros.dat
index dfb567a0f..a5cc3bc2c 100644
--- a/installer/distros.dat
+++ b/installer/distros.dat
@@ -633,7 +633,7 @@ package_mgrs=yum,rpm,up2date
package_mgr_cmd=rpm install $packages_to_install
pre_depend_cmd=
post_depend_cmd=
-hplip_remove_cmd=
+hplip_remove_cmd=su -c 'rpm -ev hplipfull'
su_sudo=su
ppd_install=ppd
udev_mode_fix=1
@@ -2412,7 +2412,7 @@ package_mgrs=yum,rpm,up2date
package_mgr_cmd=rpm install $packages_to_install
pre_depend_cmd=
post_depend_cmd=
-hplip_remove_cmd=
+hplip_remove_cmd=su -c 'rpm -ev hplipfull'
su_sudo=su
ppd_install=ppd
udev_mode_fix=1
@@ -3511,7 +3511,7 @@ packages=
# ****************************************
[ubuntu]
index=12
-versions=8.04,10.04,10.10,11.04,11.10
+versions=8.04,10.04,10.10,11.04,11.10,12.04
display_name=Ubuntu
alt_names=kubuntu,edubuntu,xubuntu
display=1
@@ -4490,10 +4490,125 @@ add_user_to_group=-a -Glp,lpadmin
libdir_path=/usr/lib
same_as_version=11.04
+# ********************
+[ubuntu:12.04]
+code_name=Precise
+supported=1
+scan_supported=1
+fax_supported=1
+pcard_supported=1
+network_supported=1
+parallel_supported=1
+usb_supported=1
+packaged_version=3.12.2
+release_date=28/04/2012
+notes=Enable the universe/multiverse repositories. Also be sure you are using the Ubuntu "Main" Repositories. See: https://help.ubuntu.com/community/Repositories/Ubuntu for more information. Disable the CD-ROM/DVD source if you do not have the Ubuntu installation media inserted in the drive. During the install process you will be added to the lp and lpadmin group, please quit the installer before the setup stage, log out, log back in, and run hp-setup to complete the install.
+ppd_install=drv
+udev_mode_fix=1
+ppd_dir=/usr/share/ppd/HP
+fix_ppd_symlink=0
+drv_dir=/usr/share/cups/drv/HP
+ui_toolkit=qt4
+native_cups=1
+acl_rules=1
+add_user_to_group=-a -Glp,lpadmin
+libdir_path=/usr/lib
+
+[ubuntu:12.04:cups]
+packages=libcups2
+
+[ubuntu:12.04:cups-devel]
+packages=libcups2-dev,cups-bsd,cups-client
+
+[ubuntu:12.04:gcc]
+packages=build-essential
+
+[ubuntu:12.04:gs]
+packages=ghostscript
+
+[ubuntu:12.04:libcrypto]
+packages=openssl
+
+[ubuntu:12.04:libjpeg]
+packages=libjpeg62-dev,libcupsimage2-dev
+
+[ubuntu:12.04:libnetsnmp-devel]
+packages=libsnmp-dev
+
+[ubuntu:12.04:libpthread]
+packages=build-essential
+
+[ubuntu:12.04:libtool]
+packages=libtool
+
+[ubuntu:12.04:libusb]
+packages=libusb-dev
+
+[ubuntu:12.04:make]
+packages=build-essential
+
+[ubuntu:12.04:pil]
+packages=python-imaging
+
+[ubuntu:12.04:ppdev]
+packages=
+commands=sudo modprobe ppdev,sudo cp -f /etc/modules /etc/modules.hplip,echo ppdev | sudo tee -a /etc/modules
+
+[ubuntu:12.04:pyqt]
+packages=python-qt4
+
+[ubuntu:12.04:python-devel]
+packages=python-dev
+
+[ubuntu:12.04:pyqt4]
+packages=python-qt4
+
+[ubuntu:12.04:pyqt4-dbus]
+packages=python-qt4-dbus
+
+#[ubuntu:12.04:python23]
+#packages=python
+
+[ubuntu:12.04:python2x]
+packages=python
+
+[ubuntu:12.04:reportlab]
+packages=python-reportlab
+
+[ubuntu:12.04:sane]
+packages=libsane
+
+[ubuntu:12.04:sane-devel]
+packages=libsane-dev
+
+[ubuntu:12.04:scanimage]
+packages=sane-utils
+
+[ubuntu:12.04:xsane]
+packages=xsane
+
+[ubuntu:12.04:python-dbus]
+packages=python-dbus,python-gobject
+
+[ubuntu:12.04:dbus]
+packages=libdbus-1-dev
+
+[ubuntu:12.04:cups-image]
+packages=libcupsimage2-dev
+
+[ubuntu:12.04:cups-ddk]
+packages=cups
+
+[ubuntu:12.04:policykit]
+packages=policykit-1,policykit-1-gnome
+
+[ubuntu:12.04:python-notify]
+packages=python-notify
+
# ****************************************
[debian]
index=2
-versions=5.0,5.0.1,5.0.2,5.0.3,5.0.4,5.0.5,5.0.6,5.0.7,5.0.8,6.0,6.0.1,6.0.2,6.0.3
+versions=5.0,5.0.1,5.0.2,5.0.3,5.0.4,5.0.5,5.0.6,5.0.7,5.0.8,6.0,6.0.1,6.0.2,6.0.3,6.0.4
display_name=Debian
alt_names=
display=1
@@ -5641,6 +5756,9 @@ same_as_version=6.0
[debian:6.0.3]
same_as_version=6.0
+[debian:6.0.4]
+same_as_version=6.0
+
# ****************************************
[xandros]
index=13
@@ -6284,7 +6402,7 @@ packages=libcupsys2-dev
# ****************************************
[mandriva]
index=4
-versions=2006.0,2007.0,2007.1,2008.0,2008.1,2009,2009.0,2010.0
+versions=2010.0,2011.0
display_name=Mandriva Linux
alt_names=Mandrakelinux,Mandrake Linux
display=1
@@ -7443,6 +7561,118 @@ packages=libcups2
[mandriva:2010.0:policykit]
packages=policykit,policykit-gnome
+# ********************
+[mandriva:2011.0]
+code_name=
+supported=0
+scan_supported=1
+fax_supported=1
+pcard_supported=1
+network_supported=1
+parallel_supported=1
+usb_supported=1
+packaged_version=3.9.12
+release_date=2009-11-03
+notes=Before proceeding, please add the "contrib", "main", and "updates" installation sources to your URPMI configuration./n Open your browser and go to http://easyurpmi.zarb.org/ and follow the instructions provided and then proceed with the HPLIP install. Also you may wish to turn off the cdrom1-12 media sources to speed up the process.
+ppd_install=drv
+udev_mode_fix=1
+ppd_dir=/usr/share/ppd/HP
+fix_ppd_symlink=0
+drv_dir=/usr/share/cups/drv/HP
+ui_toolkit=qt4
+policykit=1
+
+[mandriva:2011.0:cups]
+packages=cups,cups-common
+
+[mandriva:2011.0:cups-devel]
+packages=libcups2-devel
+
+[mandriva:2011.0:gcc]
+packages=gcc-c++
+
+[mandriva:2011.0:gs]
+packages=ghostscript
+
+[mandriva:2011.0:libcrypto]
+packages=libopenssl0.9.8-devel
+
+[mandriva:2011.0:libjpeg]
+packages=libjpeg-devel
+
+[mandriva:2011.0:libnetsnmp-devel]
+packages=libnet-snmp-devel
+
+[mandriva:2011.0:libpthread]
+packages=glibc-i18ndata,glibc_lsb
+
+[mandriva:2011.0:libtool]
+packages=libtool,libgphoto-devel
+
+[mandriva:2011.0:libusb]
+packages=libusb1.0-devel
+
+[mandriva:2011.0:make]
+packages=make
+
+[mandriva:2011.0:pil]
+packages=python-imaging
+
+[mandriva:2011.0:ppdev]
+packages=
+commands=su -c "modprobe ppdev"
+
+[mandriva:2011.0:pyqt]
+packages=python-qt4
+
+[mandriva:2011.0:python-devel]
+packages=libpython2.6-devel
+
+[mandriva:2011.0:pyqt4]
+packages=python-qt4
+
+[mandriva:2011.0:pyqt4-dbus]
+packages=qt4-qtdbus
+
+[mandriva:2011.0:python23]
+packages=python
+
+[mandriva:2011.0:python2x]
+packages=python
+
+[mandriva:2011.0:reportlab]
+packages=python-reportlab
+
+[mandriva:2011.0:sane]
+packages=saned
+
+[mandriva:2011.0:sane-devel]
+packages=libsane1-devel,sane-backends
+
+[mandriva:2011.0:scanimage]
+packages=libsane1
+
+[mandriva:2011.0:xsane]
+packages=xsane,sane-frontends
+
+[mandriva:2011.0:cups-ddk]
+packages=cups
+
+[mandriva:2011.0:python-dbus]
+packages=python-dbus,python-gobject
+
+[mandriva:2011.0:dbus]
+packages=libdbus-1-devel,python-gobject
+
+[mandriva:2011.0:python-ctypes]
+packages=python
+
+[mandriva:2011.0:cups-image]
+packages=libcups2
+
+[mandriva:2011.0:policykit]
+packages=policykit,policykit-gnome
+
# ****************************************
[linuxmint]
index=22
@@ -8009,7 +8239,97 @@ ui_toolkit=qt4
native_cups=1
acl_rules=1
add_user_to_group=-a -Glp
-same_as_version=8
+
+[linuxmint:12:cups]
+packages=libcups2
+
+[linuxmint:12:cups-devel]
+packages=libcups2-dev,cups-bsd,cups-client
+
+[linuxmint:12:gcc]
+packages=build-essential
+
+[linuxmint:12:gs]
+packages=ghostscript
+
+[linuxmint:12:libcrypto]
+packages=openssl
+
+[linuxmint:12:libjpeg]
+packages=libjpeg62-dev
+
+[linuxmint:12:libnetsnmp-devel]
+packages=libsnmp-dev
+
+[linuxmint:12:libpthread]
+packages=build-essential
+
+[linuxmint:12:libtool]
+packages=libtool
+
+[linuxmint:12:libusb]
+packages=libusb-dev
+
+[linuxmint:12:make]
+packages=build-essential
+
+[linuxmint:12:pil]
+packages=python-imaging
+
+[linuxmint:12:ppdev]
+packages=
+commands=sudo modprobe ppdev,sudo cp -f /etc/modules /etc/modules.hplip,echo ppdev | sudo tee -a /etc/modules
+
+[linuxmint:12:pyqt]
+packages=python-qt4
+
+[linuxmint:12:python-devel]
+packages=python-dev
+
+[linuxmint:12:pyqt4]
+packages=python-qt4
+
+[linuxmint:12:pyqt4-dbus]
+packages=python-qt4-dbus
+
+#[linuxmint:12:python23]
+#packages=python
+
+[linuxmint:12:python2x]
+packages=python
+
+[linuxmint:12:reportlab]
+packages=python-reportlab
+
+[linuxmint:12:sane]
+packages=libsane
+
+[linuxmint:12:sane-devel]
+packages=libsane-dev
+
+[linuxmint:12:scanimage]
+packages=sane-utils
+
+[linuxmint:12:xsane]
+packages=xsane
+
+[linuxmint:12:python-dbus]
+packages=python-dbus,python-gobject
+
+[linuxmint:12:dbus]
+packages=libdbus-1-dev
+
+[linuxmint:12:cups-image]
+packages=libcupsimage2-dev
+
+[linuxmint:12:cups-ddk]
+packages=cups
+
+[linuxmint:12:policykit]
+packages=policykit-1,policykit-1-gnome
+
+[linuxmint:12:python-notify]
+packages=python-notify
# ****************************************
@@ -8051,7 +8371,7 @@ ppd_dir=/usr/share/ppd/HP
fix_ppd_symlink=0
drv_dir=/usr/share/cups/drv/HP
ui_toolkit=none
-package_available=1
+package_available=0
package_arch=i386
[linpus:9.5:cups]
@@ -8161,7 +8481,7 @@ ppd_dir=/usr/share/ppd/HP
fix_ppd_symlink=0
drv_dir=/usr/share/cups/drv/HP
ui_toolkit=none
-package_available=1
+package_available=0
package_arch=i386
[linpus:9.4:cups]
diff --git a/installer/text_install.py b/installer/text_install.py
index 11e4aca75..67d7ae8c9 100755
--- a/installer/text_install.py
+++ b/installer/text_install.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
-# (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P.
+# (c) Copyright 2003-2014 Hewlett-Packard Development Company, L.P.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-# Author: Don Welch
+# Author: Don Welch, Amarnath Chitumalla
#
# Std Lib
@@ -32,6 +32,7 @@ from base import utils, tui
from core_install import *
def start_systray():
+ tui.title("RE-STARTING HP_SYSTRAY")
path = utils.which('hp-systray')
if path:
path = os.path.join(path, 'hp-systray')
@@ -90,6 +91,13 @@ def start(language, auto=True, test_depends=False,
log.info("")
log.note("Defaults for each question are maked with a '*'. Press <enter> to accept the default.")
+ core.init()
+ if not core.distro_name in ("ubuntu","debian","suse","fedora"):
+ log.error("Auto installation is not supported for '%s' distro so all dependencies may not be installed. \nPlease install manually as mentioned in 'http://hplipopensource.com/hplip-web/install/manual/index.html' web-site"% core.distro_name)
+ ok, choice = tui.enter_choice("\nPress 'y' If you still want to continue auto installation. Press 'n' to quit auto instalation(y=yes, n=no*): ",['y','n'],'n')
+ if not ok or choice =='n':
+ log.info("Installation exit")
+ sys.exit()
if not auto:
tui.title("INSTALLATION MODE")
@@ -116,7 +124,8 @@ def start(language, auto=True, test_depends=False,
return
log.info("\nInitializing. Please wait...")
- core.init()
+ prev_hplip_version= sys_conf.get("hplip","version","0.0.0")
+
if test_unknown:
core.distro_name = 'unknown'
@@ -125,21 +134,8 @@ def start(language, auto=True, test_depends=False,
#
- # HPLIP vs. HPIJS INSTALLATION
+ # HPLIP INSTALLATION
#
-
- #if not auto:
- #tui.title("INSTALL TYPE")
- #log.info("For most users, it is recommended to install HPLIP with full support (scanning, faxing, toolbox, etc).")
- #log.info("For servers or minimal installations, you can also install print support only (HPIJS only).")
-
- #ok, choice = tui.enter_choice("\nInstall full hplip support (recommended) or print-only support (f=full hplip support*, p=printing only support, q=quit) ?",
- #['f', 'p'], 'f')
- #if not ok: sys.exit(0)
- #if choice == 'p':
- #core.selected_component = 'hpijs'
-
- #log.debug(core.selected_component)
core.selected_component = 'hplip'
#
@@ -150,31 +146,9 @@ def start(language, auto=True, test_depends=False,
if core.selected_component == 'hplip':
log.info("This installer will install HPLIP version %s on your computer." % core.version_public)
- #core.hpijs_build = False
- #else:
- #log.info("This installer will install HPIJS version %s on your computer." % core.version_public)
- #core.hpijs_build = True
log.info("Please close any running package management systems now (YaST, Adept, Synaptic, Up2date, etc).")
-## #
-## # RELEASE NOTES
-## #
-##
-## if not auto:
-## if os.getenv('DISPLAY'):
-## tui.title("VIEW RELEASE NOTES")
-## log.info("Release notes from this version are available as a web (HTML) document.")
-## log.info("The release notes file will be shown in a separate web browser window.")
-##
-## ok, ans = tui.enter_yes_no("\nWould you like to view the release notes for this version of HPLIP", 'n')
-##
-## if ok and ans:
-## log.info("Displaying release notes in a browser window...")
-## core.show_release_notes_in_browser()
-##
-## if not ok:
-## sys.exit(0)
# For testing, mark all dependencies missing
if test_depends:
@@ -327,26 +301,17 @@ def start(language, auto=True, test_depends=False,
sys.exit(1)
+
#
# SELECT OPTIONS TO INSTALL
#
-
-
if not auto:
tui.title("SELECT HPLIP OPTIONS")
log.info("You can select which HPLIP options to enable. Some options require extra dependencies.")
log.info("")
num_opt_missing = core.select_options(option_question_callback)
- #else: # auto
- #ok, enable_par = tui.enter_yes_no("Would you like to enable support for parallel (LPT:) connected printers?", 'n')
- #if not ok: sys.exit(0)
-
- #core.selected_options['parallel'] = enable_par
-
- #if enable_par:
- #log.info("Parallel support enabled.")
else:
enable_par = False
core.selected_options['parallel'] = False
@@ -371,7 +336,7 @@ def start(language, auto=True, test_depends=False,
log.error("3 incorrect attempts. (or) Insufficient permissions(i.e. try with sudo user).\nExiting.")
sys.exit(1)
- #
+
# INSTALLATION NOTES
#
@@ -440,9 +405,6 @@ def start(language, auto=True, test_depends=False,
log.error("Installation cannot continue without this dependency. Please manually install this dependency and re-run this installer.")
sys.exit(0)
- #log.info("-"*10)
- #log.info("")
-
#
# OPTIONAL dependencies
#
@@ -493,11 +455,8 @@ def start(language, auto=True, test_depends=False,
core.selected_options[opt] = False
- #log.info("-"*10)
- #log.info("")
-
- log.debug("Dependencies to install: %s" % depends_to_install)
+ log.debug("Dependencies to install: %s hplip_present:%s" % (depends_to_install, core.hplip_present))
if core.distro_version_supported and \
(depends_to_install or core.hplip_present) and \
@@ -536,14 +495,17 @@ def start(language, auto=True, test_depends=False,
#
# CHECK FOR ACTIVE NETWORK CONNECTION
#
-
if not assume_network:
tui.title("CHECKING FOR NETWORK CONNECTION")
if not core.check_network_connection():
- log.error("\nThe network appears to be unreachable. Installation cannot complete without access to")
- log.error("distribution repositories. Please check the network and try again.")
- sys.exit(1)
+ log.error("The network appears to be unreachable. Installation may not resolve all dependencies without access to distribution repositories.")
+ ok, choice = tui.enter_choice("Do you want to continue installation without network?. Press 'y' for YES. Press 'n' for NO (y=yes*, n=no) : ",['y', 'n'], 'y')
+ if not ok or choice == 'n':
+ log.info("Please connect network and try again")
+ sys.exit(1)
+ else:
+ log.debug("Continuing installation without network")
else:
log.info("Network connection present.")
@@ -662,71 +624,29 @@ def start(language, auto=True, test_depends=False,
sys.exit(1)
- ##
- ## HPOJ REMOVAL
- ##
-
- #if core.hpoj_present and core.selected_component == 'hplip' and core.distro_version_supported:
- #log.error("HPOJ is installed and/or running. HPLIP is not compatible with HPOJ.")
- #failed = True
- #hpoj_remove_cmd = core.get_distro_data('hpoj_remove_cmd')
-
- #if hpoj_remove_cmd:
- #if auto:
- #answer = True
- #else:
- #ok, answer = tui.enter_yes_no("\nWould you like to have this installer attempt to uninstall HPOJ")
-
- #if not ok: sys.exit(0)
-
- #if answer:
- #failed = core.remove_hpoj(progress_callback)
-
- #if failed:
- #log.error("HPOJ removal failed. Please manually stop/remove/uninstall HPOJ and then re-run this installer.")
- #sys.exit(1)
- #else:
- #log.error("Please stop/remove/uninstall HPOJ and then re-run this installer.")
- #sys.exit(1)
-
- #else:
- #log.error("Please stop/remove/uninstall HPOJ and then re-run this installer.")
- #sys.exit(1)
#
# HPLIP REMOVE
#
-
if core.hplip_present and core.selected_component == 'hplip' and core.distro_version_supported:
- failed = True
- log.warn("A previous install of HPLIP is installed and/or running.")
-
- hplip_remove_cmd = core.get_distro_data('hplip_remove_cmd')
- if hplip_remove_cmd:
- if auto:
- answer = True
- else:
- ok, answer = tui.enter_yes_no("\nWould you like to have this installer attempt to uninstall the previously installed HPLIP")
- if not ok: sys.exit(0)
-
- if answer:
- failed = core.remove_hplip(progress_callback)
-
- else:
- log.error("The previously installed version of HPLIP may conflict with the new one being installed.")
- log.error("It is recommended that you quit this installer, and manually remove HPLIP before continuing.")
+ path = utils.which('hp-uninstall')
+ ok, choice = tui.enter_choice("HPLIP-%s exists, this may conflict with the new one being installed.\nDo you want to ('i'= Remove and Install, 'o'= Overwrite*, 'q'= Quit)? :"%(prev_hplip_version),['i','o','q'],'o')
+ if not ok or choice=='q':
+ log.error("User Exit")
sys.exit(0)
+ elif choice == 'i':
+# log.info("Uninstalling existing HPLIP-%s"%prev_hplip_version)
+ sts =core.uninstall(NON_INTERACTIVE_MODE)
- if failed:
- log.warn("HPLIP removal failed. The previous install may have been installed using a tarball or this installer.")
- log.warn("Continuing to run installer - this installation should overwrite the previous one.")
-
+ if sts is False:
+ log.warn("Failed to uninstall existing HPLIP-%s. This installation will overwrite on existing HPLIP" %prev_hplip_version)
+ else:
+ log.debug("HPLIP-%s is uninstalled successfully." %prev_hplip_version)
#
# POST-DEPEND
#
-
tui.title("RUNNING POST-PACKAGE COMMANDS")
core.run_post_depend(progress_callback)
log.info("OK")
@@ -735,7 +655,6 @@ def start(language, auto=True, test_depends=False,
#
# DEPENDENCIES RE-CHECK
#
-
tui.title("RE-CHECKING DEPENDENCIES")
core.check_dependencies()
@@ -818,7 +737,8 @@ def start(language, auto=True, test_depends=False,
#
# OPEN MDNS MULTICAST PORT
#
-
+ user_conf = UserConfig()
+
if core.selected_options['network']:
open_mdns_port = core.get_distro_ver_data('open_mdns_port')
if open_mdns_port:
@@ -845,11 +765,8 @@ def start(language, auto=True, test_depends=False,
if current_version >= 0x030902: # 3.9.2
try:
- # dBus
- #import dbus
from dbus import SessionBus, lowlevel
except ImportError:
- #log.error("Unable to load DBus")
pass
else:
try:
@@ -863,10 +780,17 @@ def start(language, auto=True, test_depends=False,
except:
pass
- tui.title("RE-STARTING HP_SYSTRAY")
- start_systray()
+ tui.title("HPLIP UPDATE NOTIFICATION")
+ ok, choice = tui.enter_choice("Do you want to check for HPLIP updates?. (y=yes*, n=no) : ",['y', 'n'], 'y')
+ if not ok or choice != 'y':
+ user_conf.set('upgrade', 'notify_upgrade', 'false')
+ else:
+ user_conf.set('upgrade', 'notify_upgrade', 'true')
+
+ user_conf.set('upgrade','last_upgraded_time',str(int(time.time())))
+ user_conf.set('upgrade','pending_upgrade_time','0')
+
- # Restart or re-plugin if necessary (always True in 2.7.9+)
if core.selected_component == 'hplip':
tui.title("RESTART OR RE-PLUG IS REQUIRED")
cmd = "hp-setup"
@@ -879,23 +803,29 @@ def start(language, auto=True, test_depends=False,
ok, choice = tui.enter_choice("Restart or re-plug in your printer (r=restart, p=re-plug in*, i=ignore/continue, q=quit) : ",
['r', 'p', 'i'], 'p')
- if not ok: sys.exit(0)
+ if not ok:
+ start_systray()
+ sys.exit(0)
if choice == 'r':
log.note("")
log.note("IMPORTANT! Make sure to save all work in all open applications before restarting!")
ok, ans = tui.enter_yes_no(log.bold("Restart now"), 'n')
- if not ok: sys.exit(0)
+ if not ok:
+ start_systray()
+ sys.exit(0)
if ans:
ok = core.restart()
if not ok:
log.error("Restart failed. Please restart using the system menu.")
+ start_systray()
sys.exit(0)
elif choice == 'p': # 'p'
if not tui.continue_prompt("Please unplug and re-plugin your printer now. "):
+ start_systray()
sys.exit(0)
@@ -909,13 +839,16 @@ def start(language, auto=True, test_depends=False,
install_printer = True
else:
ok, install_printer = tui.enter_yes_no("Would you like to setup a printer now")
- if not ok: sys.exit(0)
+ if not ok:
+ start_systray()
+ sys.exit(0)
if install_printer:
log.info("Please make sure your printer is connected and powered on at this time.")
if not core.run_hp_setup():
log.error("hp-setup failed. Please run hp-setup manually.")
+ start_systray()
except KeyboardInterrupt:
log.info("")
log.error("Aborted.")
diff --git a/io/hpmud/hpmud.c b/io/hpmud/hpmud.c
index 8be7b7878..d24ebd226 100644
--- a/io/hpmud/hpmud.c
+++ b/io/hpmud/hpmud.c
@@ -22,6 +22,7 @@
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Author: Naga Samrat Chowdary Narla,
+ Contributor: Sarbeswar Meher
\*****************************************************************************/
#include "hpmud.h"
@@ -211,7 +212,6 @@ enum HPMUD_RESULT __attribute__ ((visibility ("hidden"))) service_to_channel(mud
else if (strncasecmp(sn, "hp-ledm-scan", 12) == 0)
{
*index = HPMUD_LEDM_SCAN_CHANNEL;
- BUG("io/hpmud/hpmud.c: service_to_channel(): sn=%s\n", sn);
}
/* All the following services require MLC/1284.4. */
else if (pd->io_mode == HPMUD_RAW_MODE || pd->io_mode == HPMUD_UNI_MODE)
@@ -272,9 +272,9 @@ static int new_device(const char *uri, enum HPMUD_IO_MODE mode, int *result)
if (uri[0] == 0)
return 0;
-
+
pthread_mutex_lock(&msp->mutex);
-
+
if (msp->device[i].index)
{
BUG("invalid device_open state\n"); /* device is already open for this client, one device per session */
diff --git a/io/hpmud/hpmud.h b/io/hpmud/hpmud.h
index f28e2f81c..3970d28bb 100644
--- a/io/hpmud/hpmud.h
+++ b/io/hpmud/hpmud.h
@@ -2,7 +2,7 @@
hpmud.h - public definitions for multi-point transport driver
- (c) 2004-2008 Copyright Hewlett-Packard Development Company, LP
+ (c) 2004-2015 Copyright Hewlett-Packard Development Company, LP
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -21,7 +21,7 @@
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- Author: Naga Samrat Chowdary Narla, Yashwant Sahu
+ Author: Naga Samrat Chowdary Narla, Yashwant Sahu, Sarbeswar Meher
\*****************************************************************************/
#ifndef _HPMUD_H
@@ -84,9 +84,9 @@ enum HPMUD_SCANTYPE
enum HPMUD_SCANSRC
{
HPMUD_SCANSRC_NA = 0,
- HPMUD_SCANSRC_ADF= 1,
- HPMUD_SCANSRC_FLATBED = 2,
- HPMUD_SCANSRC_BOTH = 3
+ HPMUD_SCANSRC_FLATBED = 0x1,
+ HPMUD_SCANSRC_ADF= 0x2,
+ HPMUD_SCANSRC_CAMERA = 0x4,
};
enum HPMUD_STATUSTYPE
@@ -138,7 +138,7 @@ typedef int HPMUD_CHANNEL;
#define HPMUD_CHANNEL_MAX HPMUD_MAX_CHANNEL_ID
#define HPMUD_LINE_SIZE 256 /* Length of a line. */
-#define HPMUD_BUFFER_SIZE 8192 /* General Read/Write buffer. */
+#define HPMUD_BUFFER_SIZE 16384 /* General Read/Write buffer. */
struct hpmud_dstat
{
@@ -153,12 +153,12 @@ struct hpmud_model_attributes
{
enum HPMUD_IO_MODE prt_mode; /* print only (io_mode) */
enum HPMUD_IO_MODE mfp_mode; /* pml | scan | fax (io_mode) */
- enum HPMUD_SCANTYPE scantype; /* 0=none */
+ enum HPMUD_SCANTYPE scantype; /* scan protocol i.e. SCL, PML, SOAP, MARVELL, LEDM */
enum HPMUD_STATUSTYPE statustype;
enum HPMUD_SUPPORT_TYPE support;
enum HPMUD_PLUGIN_TYPE plugin;
enum HPMUD_SUPPORT_TYPE reserved[5];
- enum HPMUD_SCANSRC scansrc;
+ enum HPMUD_SCANSRC scansrc; /*Flatbed, ADF, Camera or combination of these*/
};
#ifdef __cplusplus
diff --git a/io/hpmud/hpmudi.h b/io/hpmud/hpmudi.h
index 5daa404be..269cb0680 100644
--- a/io/hpmud/hpmudi.h
+++ b/io/hpmud/hpmudi.h
@@ -100,12 +100,12 @@ enum HPMUD_CHANNEL_ID
HPMUD_CONFIG_DOWNLOAD_CHANNEL = 0xf,
HPMUD_MEMORY_CARD_CHANNEL = 0x11,
HPMUD_EWS_CHANNEL = 0x12, /* Embeded Web Server interface ff/1/1, any unused socket id */
- HPMUD_EWS_LEDM_CHANNEL = 0x17, /* Embeded Web Server interface ff/cc/0, any unused socket id */
HPMUD_SOAPSCAN_CHANNEL = 0x13, /* Soap Scan interface ff/2/1, any unused socket id */
HPMUD_SOAPFAX_CHANNEL = 0x14, /* Soap Fax interface ff/3/1, any unused socket id */
HPMUD_MARVELL_SCAN_CHANNEL = 0x15, /* Marvell scan interface ff/ff/ff, any unused socket id */
HPMUD_MARVELL_FAX_CHANNEL = 0x16, /* Marvell fax interface ff/ff/ff, any unused socket id */
- HPMUD_LEDM_SCAN_CHANNEL = 0x18, /* LEDM scan interface ff/4/1, any unused socket id */
+ HPMUD_EWS_LEDM_CHANNEL = 0x17, /* Embeded Web Server interface ff/4/1, any unused socket id */
+ HPMUD_LEDM_SCAN_CHANNEL = 0x18, /* LEDM scan interface ff/cc/0, any unused socket id */
HPMUD_WIFI_CHANNEL = 0x2b, /* WIFI config */
HPMUD_DEVMGMT_CHANNEL = 0x2c, /* decimal 44 */
HPMUD_MAX_CHANNEL_ID
diff --git a/io/hpmud/jd.c b/io/hpmud/jd.c
index ab4a7cb7d..1b7a38244 100644
--- a/io/hpmud/jd.c
+++ b/io/hpmud/jd.c
@@ -22,7 +22,7 @@
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Client/Server generic message format (see messaging-protocol.doc):
- Author: Naga Samrat Chowdary Narla
+ Author: Naga Samrat Chowdary Narla, Sarbeswar Meher
\*****************************************************************************/
#ifdef HAVE_LIBNETSNMP
diff --git a/io/hpmud/model.c b/io/hpmud/model.c
index ebde06a9c..3678af56b 100644
--- a/io/hpmud/model.c
+++ b/io/hpmud/model.c
@@ -479,11 +479,11 @@ static int parse_key_value_pair(char *buf, int len, struct hpmud_model_attribute
}
else if(strcasecmp(key, "scan-type") == 0)
{
- ma->scantype = strtol(value, &tail2, 10);
+ ma->scantype = strtol(value, &tail2, 10); /*SCL, PML, SOAP, MARVELL, LEDM*/
}
else if(strcasecmp(key, "scan-src") == 0)
{
- ma->scansrc = strtol(value, &tail2, 10);
+ ma->scansrc = strtol(value, &tail2, 10); /*Flatbed, ADF, Camera or combination of these*/
}
else if(strcasecmp(key, "status-type") == 0)
{
diff --git a/io/hpmud/musb.c b/io/hpmud/musb.c
index 90927f611..1649297ff 100644
--- a/io/hpmud/musb.c
+++ b/io/hpmud/musb.c
@@ -22,7 +22,7 @@
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Client/Server generic message format (see messaging-protocol.doc):
- Author: Naga Samrat Chowdary Narla
+ Author: Naga Samrat Chowdary Narla, Sarbeswar Meher
\*****************************************************************************/
#include "hpmud.h"
@@ -91,21 +91,22 @@ static char *fd_name[MAX_FD] =
"ff/4/1",
"ff/1/0",
"ff/cc/0",
+ "ff/2/10",
};
static int fd_class[MAX_FD] =
{
- 0,0x7,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0,0x7,0x7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
};
static int fd_subclass[MAX_FD] =
{
- 0,0x1,0x1,0x1,0x2,0x3,0xff,0xd4,0x4,0x1,0xcc,
+ 0,0x1,0x1,0x1,0x2,0x3,0xff,0xd4,0x4,0x1,0xcc,0x2,
};
static int fd_protocol[MAX_FD] =
{
- 0,0x2,0x3,0x1,0x1,0x1,0xff,0,0x1,0,0,
+ 0,0x2,0x3,0x1,0x1,0x1,0xff,0,0x1,0,0,0x10,
};
static const unsigned char venice_power_on[] = {0x1b, '%','P','u','i','f','p','.','p','o','w','e','r',' ','1',';',
@@ -1490,19 +1491,19 @@ enum HPMUD_RESULT __attribute__ ((visibility ("hidden"))) musb_comp_channel_open
fd = FD_ff_4_1;
break;
case HPMUD_SOAPSCAN_CHANNEL:
- fd = FD_ff_2_1;
+ fd = FD_ff_2_1;
break;
case HPMUD_SOAPFAX_CHANNEL:
- fd = FD_ff_3_1;
+ fd = FD_ff_3_1;
break;
case HPMUD_MARVELL_SCAN_CHANNEL:
- fd = FD_ff_ff_ff;
+ fd = FD_ff_ff_ff;
break;
case HPMUD_MARVELL_FAX_CHANNEL: //using vendor specific C/S/P codes for fax too
- fd = FD_ff_1_0;
+ fd = FD_ff_1_0;
break;
case HPMUD_LEDM_SCAN_CHANNEL: //using vendor specific C/S/P codes for fax too
- fd = FD_ff_cc_0;
+ fd = FD_ff_cc_0;
break;
default:
stat = HPMUD_R_INVALID_SN;
diff --git a/io/hpmud/musb.h b/io/hpmud/musb.h
index 89ab54222..df4a8a6d0 100644
--- a/io/hpmud/musb.h
+++ b/io/hpmud/musb.h
@@ -47,6 +47,7 @@ enum FD_ID
FD_ff_4_1, /* orblite scan / rest scan interface */
FD_ff_1_0, /* Marvell fax support*/
FD_ff_cc_0,
+ FD_ff_2_10,
MAX_FD
};
diff --git a/makecopies.py b/makecopies.py
index de9eeae69..abb3b7104 100755
--- a/makecopies.py
+++ b/makecopies.py
@@ -283,10 +283,10 @@ else: # NON_INTERACTIVE_MODE
log.error(e.msg)
sys.exit(1)
- scan_style = dev.mq.get('scan-style', SCAN_STYLE_FLATBED)
- log.debug(scan_style)
+ scan_src = dev.mq.get('scan-src', SCAN_SRC_FLATBED)
+ log.debug(scan_src)
- if scan_style == SCAN_STYLE_SCROLLFED:
+ if scan_src == SCAN_SRC_SCROLLFED:
fit_to_page = pml.COPIER_FIT_TO_PAGE_DISABLED
log.debug("num_copies = %d" % num_copies)
@@ -296,13 +296,13 @@ else: # NON_INTERACTIVE_MODE
log.debug("fit_to_page = %d" % fit_to_page)
log.debug("max_reduction = %d" % max_reduction)
log.debug("max_enlargement = %d" % max_enlargement)
- log.debug("scan_style = %d" % scan_style)
+ log.debug("scan_src = %d" % scan_src)
update_queue = Queue.Queue()
event_queue = Queue.Queue()
dev.copy(num_copies, contrast, reduction,
- quality, fit_to_page, scan_style,
+ quality, fit_to_page, scan_src,
update_queue, event_queue)
diff --git a/plugin.py b/plugin.py
index bea4b8af3..32719054c 100755
--- a/plugin.py
+++ b/plugin.py
@@ -279,7 +279,7 @@ else: # INTERACTIVE_MODE
tui.header("PLUG-IN INSTALLATION FOR HPLIP %s" % version)
- if core.check_for_plugin() and plugin_path is None:
+ if core.check_for_plugin() == PLUGIN_INSTALLED and plugin_path is None:
log.info("The driver plugin for HPLIP %s appears to already be installed." % version)
cont, ans = tui.enter_yes_no("Do you wish to download and re-install the plug-in?")
diff --git a/ppd/hpcups/apollo-2100.ppd.gz b/ppd/hpcups/apollo-2100.ppd.gz
index 09ac29b9b..40487840c 100644
--- a/ppd/hpcups/apollo-2100.ppd.gz
+++ b/ppd/hpcups/apollo-2100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/apollo-2150.ppd.gz b/ppd/hpcups/apollo-2150.ppd.gz
index 509a3af79..95ca3ca95 100644
--- a/ppd/hpcups/apollo-2150.ppd.gz
+++ b/ppd/hpcups/apollo-2150.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/apollo-2200.ppd.gz b/ppd/hpcups/apollo-2200.ppd.gz
index f8fa5b6e6..d59cad05f 100644
--- a/ppd/hpcups/apollo-2200.ppd.gz
+++ b/ppd/hpcups/apollo-2200.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/apollo-2500.ppd.gz b/ppd/hpcups/apollo-2500.ppd.gz
index 013729b5c..f9de79001 100644
--- a/ppd/hpcups/apollo-2500.ppd.gz
+++ b/ppd/hpcups/apollo-2500.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/apollo-2600.ppd.gz b/ppd/hpcups/apollo-2600.ppd.gz
index 2294190ec..8c32d21ab 100644
--- a/ppd/hpcups/apollo-2600.ppd.gz
+++ b/ppd/hpcups/apollo-2600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/apollo-2650.ppd.gz b/ppd/hpcups/apollo-2650.ppd.gz
index 3ae919cd9..13133f9c5 100644
--- a/ppd/hpcups/apollo-2650.ppd.gz
+++ b/ppd/hpcups/apollo-2650.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/apollo-p2000-u.ppd.gz b/ppd/hpcups/apollo-p2000-u.ppd.gz
index 816d00026..58f234a1e 100644
--- a/ppd/hpcups/apollo-p2000-u.ppd.gz
+++ b/ppd/hpcups/apollo-p2000-u.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/apollo-p2250.ppd.gz b/ppd/hpcups/apollo-p2250.ppd.gz
index 2234388be..7f419333d 100644
--- a/ppd/hpcups/apollo-p2250.ppd.gz
+++ b/ppd/hpcups/apollo-p2250.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-2000c.ppd.gz b/ppd/hpcups/hp-2000c.ppd.gz
index a0747e6f0..7eb973db5 100644
--- a/ppd/hpcups/hp-2000c.ppd.gz
+++ b/ppd/hpcups/hp-2000c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-2500c.ppd.gz b/ppd/hpcups/hp-2500c.ppd.gz
index fb3013446..a392d2038 100644
--- a/ppd/hpcups/hp-2500c.ppd.gz
+++ b/ppd/hpcups/hp-2500c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-910.ppd.gz b/ppd/hpcups/hp-910.ppd.gz
index 6eaf6fe84..7e9e31746 100644
--- a/ppd/hpcups/hp-910.ppd.gz
+++ b/ppd/hpcups/hp-910.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-915.ppd.gz b/ppd/hpcups/hp-915.ppd.gz
index cba5b5dc3..77ca41f17 100644
--- a/ppd/hpcups/hp-915.ppd.gz
+++ b/ppd/hpcups/hp-915.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_1000.ppd.gz b/ppd/hpcups/hp-business_inkjet_1000.ppd.gz
index 54c2ef4fc..4a29e0f6e 100644
--- a/ppd/hpcups/hp-business_inkjet_1000.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_1000.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_1100.ppd.gz b/ppd/hpcups/hp-business_inkjet_1100.ppd.gz
index fb2eef542..e19beb59e 100644
--- a/ppd/hpcups/hp-business_inkjet_1100.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_1100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_1200.ppd.gz b/ppd/hpcups/hp-business_inkjet_1200.ppd.gz
index fd4400691..68df4d0cd 100644
--- a/ppd/hpcups/hp-business_inkjet_1200.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_1200.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_2200.ppd.gz b/ppd/hpcups/hp-business_inkjet_2200.ppd.gz
index aca5a09ca..4fb2eb856 100644
--- a/ppd/hpcups/hp-business_inkjet_2200.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_2200.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_2230.ppd.gz b/ppd/hpcups/hp-business_inkjet_2230.ppd.gz
index 25fe60a1d..e17ecffd5 100644
--- a/ppd/hpcups/hp-business_inkjet_2230.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_2230.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_2250-pcl3.ppd.gz b/ppd/hpcups/hp-business_inkjet_2250-pcl3.ppd.gz
index 06f2e041f..41e7ced7f 100644
--- a/ppd/hpcups/hp-business_inkjet_2250-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_2250-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_2280-pcl3.ppd.gz b/ppd/hpcups/hp-business_inkjet_2280-pcl3.ppd.gz
index c4322c5be..3d3c02a5d 100644
--- a/ppd/hpcups/hp-business_inkjet_2280-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_2280-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_2300-pcl3.ppd.gz b/ppd/hpcups/hp-business_inkjet_2300-pcl3.ppd.gz
index 7bb46e686..b2e55e8be 100644
--- a/ppd/hpcups/hp-business_inkjet_2300-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_2300-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_2600-pcl3.ppd.gz b/ppd/hpcups/hp-business_inkjet_2600-pcl3.ppd.gz
index e3bcfb686..332863741 100644
--- a/ppd/hpcups/hp-business_inkjet_2600-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_2600-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_2800-pcl3.ppd.gz b/ppd/hpcups/hp-business_inkjet_2800-pcl3.ppd.gz
index 66737e3f3..fb2c303e7 100644
--- a/ppd/hpcups/hp-business_inkjet_2800-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_2800-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-business_inkjet_3000-pcl3.ppd.gz b/ppd/hpcups/hp-business_inkjet_3000-pcl3.ppd.gz
index 91bf0c2e5..eb6025c4a 100644
--- a/ppd/hpcups/hp-business_inkjet_3000-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-business_inkjet_3000-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_inkjet_cp1700.ppd.gz b/ppd/hpcups/hp-color_inkjet_cp1700.ppd.gz
index 0725be8ba..a69a2f3f4 100644
--- a/ppd/hpcups/hp-color_inkjet_cp1700.ppd.gz
+++ b/ppd/hpcups/hp-color_inkjet_cp1700.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_inkjet_printer_cp1700.ppd.gz b/ppd/hpcups/hp-color_inkjet_printer_cp1700.ppd.gz
index 87f71a529..8ad219f18 100644
--- a/ppd/hpcups/hp-color_inkjet_printer_cp1700.ppd.gz
+++ b/ppd/hpcups/hp-color_inkjet_printer_cp1700.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_1600.ppd.gz b/ppd/hpcups/hp-color_laserjet_1600.ppd.gz
index 34f88194b..6316c5915 100644
--- a/ppd/hpcups/hp-color_laserjet_1600.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_1600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_2500-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_2500-pcl3.ppd.gz
index 97744e72e..4f4a9d0be 100644
--- a/ppd/hpcups/hp-color_laserjet_2500-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_2500-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_2500_series.ppd.gz b/ppd/hpcups/hp-color_laserjet_2500_series.ppd.gz
index c12720860..feca08d6d 100644
--- a/ppd/hpcups/hp-color_laserjet_2500_series.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_2500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_2600n.ppd.gz b/ppd/hpcups/hp-color_laserjet_2600n.ppd.gz
index 0c1781c66..5a30471e3 100644
--- a/ppd/hpcups/hp-color_laserjet_2600n.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_2600n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3000-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_3000-pcl3.ppd.gz
index cc9e6408d..db9c8a49c 100644
--- a/ppd/hpcups/hp-color_laserjet_3000-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3000-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3500.ppd.gz b/ppd/hpcups/hp-color_laserjet_3500.ppd.gz
index f061f476f..1a0ea65c5 100644
--- a/ppd/hpcups/hp-color_laserjet_3500.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3500.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3500n.ppd.gz b/ppd/hpcups/hp-color_laserjet_3500n.ppd.gz
index a28da1c25..1e83cef48 100644
--- a/ppd/hpcups/hp-color_laserjet_3500n.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3500n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3550.ppd.gz b/ppd/hpcups/hp-color_laserjet_3550.ppd.gz
index a228b1a6e..cc86f53ba 100644
--- a/ppd/hpcups/hp-color_laserjet_3550.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3550.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3550n.ppd.gz b/ppd/hpcups/hp-color_laserjet_3550n.ppd.gz
index c79a3bdbf..6db450701 100644
--- a/ppd/hpcups/hp-color_laserjet_3550n.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3550n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3600.ppd.gz b/ppd/hpcups/hp-color_laserjet_3600.ppd.gz
index a51ff1a95..1d2c9bf50 100644
--- a/ppd/hpcups/hp-color_laserjet_3600.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3700-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_3700-pcl3.ppd.gz
index 5dc6aad87..8570e46d9 100644
--- a/ppd/hpcups/hp-color_laserjet_3700-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3700-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3700n.ppd.gz b/ppd/hpcups/hp-color_laserjet_3700n.ppd.gz
index c9ad02cae..a5ab72392 100644
--- a/ppd/hpcups/hp-color_laserjet_3700n.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3700n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_3800-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_3800-pcl3.ppd.gz
index 44a33e45a..74178b0e9 100644
--- a/ppd/hpcups/hp-color_laserjet_3800-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_3800-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_4500-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_4500-pcl3.ppd.gz
index ad878b0f9..3f2e9adcd 100644
--- a/ppd/hpcups/hp-color_laserjet_4500-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_4500-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_4550-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_4550-pcl3.ppd.gz
index 654eea1d2..e99e9a7e3 100644
--- a/ppd/hpcups/hp-color_laserjet_4550-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_4550-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_4600-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_4600-pcl3.ppd.gz
index 5a31bce6b..f1ee56c20 100644
--- a/ppd/hpcups/hp-color_laserjet_4600-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_4600-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_4600_series.ppd.gz b/ppd/hpcups/hp-color_laserjet_4600_series.ppd.gz
index d5c3b34b5..0723cc05f 100644
--- a/ppd/hpcups/hp-color_laserjet_4600_series.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_4600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_4610-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_4610-pcl3.ppd.gz
index e9960ef9d..8a86449dd 100644
--- a/ppd/hpcups/hp-color_laserjet_4610-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_4610-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_4650-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_4650-pcl3.ppd.gz
index 2217933bb..5d670198a 100644
--- a/ppd/hpcups/hp-color_laserjet_4650-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_4650-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_4700-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_4700-pcl3.ppd.gz
index e760f0584..9b1d6f66e 100644
--- a/ppd/hpcups/hp-color_laserjet_4700-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_4700-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_4730mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_4730mfp-pcl3.ppd.gz
index 3cf3b7d65..d5f34262e 100644
--- a/ppd/hpcups/hp-color_laserjet_4730mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_4730mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_5.ppd.gz b/ppd/hpcups/hp-color_laserjet_5.ppd.gz
index c313937ce..567b70e06 100644
--- a/ppd/hpcups/hp-color_laserjet_5.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_5.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_5500-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_5500-pcl3.ppd.gz
index cce101358..c039d4627 100644
--- a/ppd/hpcups/hp-color_laserjet_5500-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_5500-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_5550-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_5550-pcl3.ppd.gz
index fc086d55b..9f12d3fbb 100644
--- a/ppd/hpcups/hp-color_laserjet_5550-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_5550-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_5m-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_5m-pcl3.ppd.gz
index 16a06ea17..97ada4a82 100644
--- a/ppd/hpcups/hp-color_laserjet_5m-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_5m-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_8500-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_8500-pcl3.ppd.gz
index c981e7bc6..a6fe1ca99 100644
--- a/ppd/hpcups/hp-color_laserjet_8500-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_8500-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_8550-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_8550-pcl3.ppd.gz
index c34f2e4d3..d8e479d9a 100644
--- a/ppd/hpcups/hp-color_laserjet_8550-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_8550-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_9500-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_9500-pcl3.ppd.gz
index 064aa977f..cbff43db3 100644
--- a/ppd/hpcups/hp-color_laserjet_9500-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_9500-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_9500_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_9500_mfp-pcl3.ppd.gz
index 6b6008fdc..173fbcd4f 100644
--- a/ppd/hpcups/hp-color_laserjet_9500_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_9500_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm1312_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm1312_mfp-pcl3.ppd.gz
index 0b22f6046..d8711d8a0 100644
--- a/ppd/hpcups/hp-color_laserjet_cm1312_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm1312_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm1312nfi_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm1312nfi_mfp-pcl3.ppd.gz
index 4b71d1af6..b1eb2b0c2 100644
--- a/ppd/hpcups/hp-color_laserjet_cm1312nfi_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm1312nfi_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm2320_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm2320_mfp-pcl3.ppd.gz
index 590eb0fdf..c28fe8609 100644
--- a/ppd/hpcups/hp-color_laserjet_cm2320_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm2320_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm2320fxi_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm2320fxi_mfp-pcl3.ppd.gz
index ed68693a9..f3cf0fc34 100644
--- a/ppd/hpcups/hp-color_laserjet_cm2320fxi_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm2320fxi_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm2320n_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm2320n_mfp-pcl3.ppd.gz
index 6b186c7c6..aee5b990c 100644
--- a/ppd/hpcups/hp-color_laserjet_cm2320n_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm2320n_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm2320nf_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm2320nf_mfp-pcl3.ppd.gz
index 6a06e2c7b..aa96dfce7 100644
--- a/ppd/hpcups/hp-color_laserjet_cm2320nf_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm2320nf_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm3530_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm3530_mfp-pcl3.ppd.gz
index 35aee6111..5e62d1b14 100644
--- a/ppd/hpcups/hp-color_laserjet_cm3530_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm3530_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm4540_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm4540_mfp-pcl3.ppd.gz
index 5449f534c..b65f643f1 100644
--- a/ppd/hpcups/hp-color_laserjet_cm4540_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm4540_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm4730_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm4730_mfp-pcl3.ppd.gz
index 9b6ba549b..33200787d 100644
--- a/ppd/hpcups/hp-color_laserjet_cm4730_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm4730_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm6030_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm6030_mfp-pcl3.ppd.gz
index 30300b53d..16dfeb9b0 100644
--- a/ppd/hpcups/hp-color_laserjet_cm6030_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm6030_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm6040_mfp.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm6040_mfp.ppd.gz
index 79b333715..aeabf42b4 100644
--- a/ppd/hpcups/hp-color_laserjet_cm6040_mfp.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm6040_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cm6049_mfp.ppd.gz b/ppd/hpcups/hp-color_laserjet_cm6049_mfp.ppd.gz
index 810991820..d16ed6a83 100644
--- a/ppd/hpcups/hp-color_laserjet_cm6049_mfp.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cm6049_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp1215.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp1215.ppd.gz
index 5ef3e1232..3141114e5 100644
--- a/ppd/hpcups/hp-color_laserjet_cp1215.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp1215.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp1217.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp1217.ppd.gz
index 627ab4d02..bfe4982b3 100644
--- a/ppd/hpcups/hp-color_laserjet_cp1217.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp1217.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp1514n-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp1514n-pcl3.ppd.gz
index 13c7083ea..092a7997c 100644
--- a/ppd/hpcups/hp-color_laserjet_cp1514n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp1514n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp1515n-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp1515n-pcl3.ppd.gz
index 43cd6595d..ce4be84e0 100644
--- a/ppd/hpcups/hp-color_laserjet_cp1515n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp1515n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp1518ni-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp1518ni-pcl3.ppd.gz
index aa764267d..02e459557 100644
--- a/ppd/hpcups/hp-color_laserjet_cp1518ni-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp1518ni-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp2025-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp2025-pcl3.ppd.gz
index b8e403bac..215306e6e 100644
--- a/ppd/hpcups/hp-color_laserjet_cp2025-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp2025-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp2025dn-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp2025dn-pcl3.ppd.gz
index 8fd38c69d..930426056 100644
--- a/ppd/hpcups/hp-color_laserjet_cp2025dn-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp2025dn-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp2025n-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp2025n-pcl3.ppd.gz
index ea6c41f5e..dbfd4974f 100644
--- a/ppd/hpcups/hp-color_laserjet_cp2025n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp2025n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp2025x-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp2025x-pcl3.ppd.gz
index d89680c4e..ff121c07e 100644
--- a/ppd/hpcups/hp-color_laserjet_cp2025x-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp2025x-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp3505-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp3505-pcl3.ppd.gz
index c0753030e..494988730 100644
--- a/ppd/hpcups/hp-color_laserjet_cp3505-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp3505-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp3525-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp3525-pcl3.ppd.gz
index 521793afd..9321e8f49 100644
--- a/ppd/hpcups/hp-color_laserjet_cp3525-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp3525-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp4005-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp4005-pcl3.ppd.gz
index 030d6a150..aa3f9a86b 100644
--- a/ppd/hpcups/hp-color_laserjet_cp4005-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp4005-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp4020_series-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp4020_series-pcl3.ppd.gz
index 9cad8867f..c83a309de 100644
--- a/ppd/hpcups/hp-color_laserjet_cp4020_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp4020_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp4520_series-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp4520_series-pcl3.ppd.gz
index 7753dc287..7c09db11b 100644
--- a/ppd/hpcups/hp-color_laserjet_cp4520_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp4520_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp5225-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp5225-pcl3.ppd.gz
index eec6fa1f7..f321ad815 100644
--- a/ppd/hpcups/hp-color_laserjet_cp5225-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp5225-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp5225dn-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp5225dn-pcl3.ppd.gz
index a9cf2612f..fb0f1716a 100644
--- a/ppd/hpcups/hp-color_laserjet_cp5225dn-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp5225dn-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp5225n-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp5225n-pcl3.ppd.gz
index ab02f24b3..ce5abe097 100644
--- a/ppd/hpcups/hp-color_laserjet_cp5225n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp5225n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp5520_series-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp5520_series-pcl3.ppd.gz
index 35df46aeb..7f1194a2a 100644
--- a/ppd/hpcups/hp-color_laserjet_cp5520_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp5520_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-color_laserjet_cp6015-pcl3.ppd.gz b/ppd/hpcups/hp-color_laserjet_cp6015-pcl3.ppd.gz
index d23b26d72..2d43687b2 100644
--- a/ppd/hpcups/hp-color_laserjet_cp6015-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-color_laserjet_cp6015-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-cp1160.ppd.gz b/ppd/hpcups/hp-cp1160.ppd.gz
index 281325e67..7e22b14e1 100644
--- a/ppd/hpcups/hp-cp1160.ppd.gz
+++ b/ppd/hpcups/hp-cp1160.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1000_j110_series.ppd.gz b/ppd/hpcups/hp-deskjet_1000_j110_series.ppd.gz
index 1df9beef3..78251a5e3 100644
--- a/ppd/hpcups/hp-deskjet_1000_j110_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1000_j110_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1050_j410_series.ppd.gz b/ppd/hpcups/hp-deskjet_1050_j410_series.ppd.gz
index 18c9f9dc2..d0b28fbf1 100644
--- a/ppd/hpcups/hp-deskjet_1050_j410_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1050_j410_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1100.ppd.gz b/ppd/hpcups/hp-deskjet_1100.ppd.gz
index d8463bff2..4653d729e 100644
--- a/ppd/hpcups/hp-deskjet_1100.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1120.ppd.gz b/ppd/hpcups/hp-deskjet_1120.ppd.gz
index dc009c4c6..0c4805974 100644
--- a/ppd/hpcups/hp-deskjet_1120.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1120.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1125.ppd.gz b/ppd/hpcups/hp-deskjet_1125.ppd.gz
index c26eb411a..56222d446 100644
--- a/ppd/hpcups/hp-deskjet_1125.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1125.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1200c.ppd.gz b/ppd/hpcups/hp-deskjet_1200c.ppd.gz
index e8009e6dc..edf7d9d73 100644
--- a/ppd/hpcups/hp-deskjet_1200c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1200c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1220c.ppd.gz b/ppd/hpcups/hp-deskjet_1220c.ppd.gz
index de9405201..ab6bcde47 100644
--- a/ppd/hpcups/hp-deskjet_1220c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1220c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1280.ppd.gz b/ppd/hpcups/hp-deskjet_1280.ppd.gz
index 9f228a8cb..9bd4bb675 100644
--- a/ppd/hpcups/hp-deskjet_1280.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1280.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1600c.ppd.gz b/ppd/hpcups/hp-deskjet_1600c.ppd.gz
index f376dc855..6babb3288 100644
--- a/ppd/hpcups/hp-deskjet_1600c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1600c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1600cm.ppd.gz b/ppd/hpcups/hp-deskjet_1600cm.ppd.gz
index c4f0045d1..92e0dac0e 100644
--- a/ppd/hpcups/hp-deskjet_1600cm.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1600cm.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_1600cn.ppd.gz b/ppd/hpcups/hp-deskjet_1600cn.ppd.gz
index 5a7813013..e8a1709c1 100644
--- a/ppd/hpcups/hp-deskjet_1600cn.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_1600cn.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_2000_j210_series.ppd.gz b/ppd/hpcups/hp-deskjet_2000_j210_series.ppd.gz
index 730d2bb49..e40b72100 100644
--- a/ppd/hpcups/hp-deskjet_2000_j210_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_2000_j210_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_2050_j510_series.ppd.gz b/ppd/hpcups/hp-deskjet_2050_j510_series.ppd.gz
index 6ce2b618f..45c38f79b 100644
--- a/ppd/hpcups/hp-deskjet_2050_j510_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_2050_j510_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3000_j310_series.ppd.gz b/ppd/hpcups/hp-deskjet_3000_j310_series.ppd.gz
index 37545cc9e..5099271a9 100644
--- a/ppd/hpcups/hp-deskjet_3000_j310_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3000_j310_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3050_j610_series.ppd.gz b/ppd/hpcups/hp-deskjet_3050_j610_series.ppd.gz
index 30505c588..4ec079947 100644
--- a/ppd/hpcups/hp-deskjet_3050_j610_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3050_j610_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3050a_j611_series.ppd.gz b/ppd/hpcups/hp-deskjet_3050a_j611_series.ppd.gz
index 04fc04bbc..6db9306a0 100644
--- a/ppd/hpcups/hp-deskjet_3050a_j611_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3050a_j611_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3070_b611_series.ppd.gz b/ppd/hpcups/hp-deskjet_3070_b611_series.ppd.gz
index bbde2123e..0e9d16034 100644
--- a/ppd/hpcups/hp-deskjet_3070_b611_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3070_b611_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3320.ppd.gz b/ppd/hpcups/hp-deskjet_3320.ppd.gz
index c3143ceb5..866d158a6 100644
--- a/ppd/hpcups/hp-deskjet_3320.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3320.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3325.ppd.gz b/ppd/hpcups/hp-deskjet_3325.ppd.gz
index c1725e536..a8fa60f29 100644
--- a/ppd/hpcups/hp-deskjet_3325.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3325.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3420.ppd.gz b/ppd/hpcups/hp-deskjet_3420.ppd.gz
index f9bbb5753..0cd987eb4 100644
--- a/ppd/hpcups/hp-deskjet_3420.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3420.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3425.ppd.gz b/ppd/hpcups/hp-deskjet_3425.ppd.gz
index 79ee0d01e..62c772e66 100644
--- a/ppd/hpcups/hp-deskjet_3425.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3425.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3450.ppd.gz b/ppd/hpcups/hp-deskjet_3450.ppd.gz
index 40ea5953f..99de67a23 100644
--- a/ppd/hpcups/hp-deskjet_3450.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3450.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3500.ppd.gz b/ppd/hpcups/hp-deskjet_3500.ppd.gz
index d9515ae33..002897025 100644
--- a/ppd/hpcups/hp-deskjet_3500.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3500.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3550.ppd.gz b/ppd/hpcups/hp-deskjet_3550.ppd.gz
index 7d5d257e2..149ea89fd 100644
--- a/ppd/hpcups/hp-deskjet_3550.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3550.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3600.ppd.gz b/ppd/hpcups/hp-deskjet_3600.ppd.gz
index 729d63d31..68409c960 100644
--- a/ppd/hpcups/hp-deskjet_3600.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3650.ppd.gz b/ppd/hpcups/hp-deskjet_3650.ppd.gz
index 6d9c378f3..9acc079f4 100644
--- a/ppd/hpcups/hp-deskjet_3650.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3650.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3740.ppd.gz b/ppd/hpcups/hp-deskjet_3740.ppd.gz
index 4fe8c8441..5e86215e8 100644
--- a/ppd/hpcups/hp-deskjet_3740.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3740.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3810.ppd.gz b/ppd/hpcups/hp-deskjet_3810.ppd.gz
index f027d49b3..0f61e0846 100644
--- a/ppd/hpcups/hp-deskjet_3810.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3810.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3816.ppd.gz b/ppd/hpcups/hp-deskjet_3816.ppd.gz
index c71093c18..36acecc06 100644
--- a/ppd/hpcups/hp-deskjet_3816.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3816.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3819.ppd.gz b/ppd/hpcups/hp-deskjet_3819.ppd.gz
index 5e3b7ce6e..fec0eede8 100644
--- a/ppd/hpcups/hp-deskjet_3819.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3819.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3820.ppd.gz b/ppd/hpcups/hp-deskjet_3820.ppd.gz
index 9857f6788..54dd8a85d 100644
--- a/ppd/hpcups/hp-deskjet_3820.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3820.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3822.ppd.gz b/ppd/hpcups/hp-deskjet_3822.ppd.gz
index fd5486040..1e8163d93 100644
--- a/ppd/hpcups/hp-deskjet_3822.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3822.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3840.ppd.gz b/ppd/hpcups/hp-deskjet_3840.ppd.gz
index e693b2d16..ac5ae2a16 100644
--- a/ppd/hpcups/hp-deskjet_3840.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3840.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3870.ppd.gz b/ppd/hpcups/hp-deskjet_3870.ppd.gz
index c491232fb..6a7af81cf 100644
--- a/ppd/hpcups/hp-deskjet_3870.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3870.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3900.ppd.gz b/ppd/hpcups/hp-deskjet_3900.ppd.gz
index ecfb02534..4461ac2c1 100644
--- a/ppd/hpcups/hp-deskjet_3900.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3900.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3910.ppd.gz b/ppd/hpcups/hp-deskjet_3910.ppd.gz
index d5790cf97..3d6748536 100644
--- a/ppd/hpcups/hp-deskjet_3910.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3910.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3920.ppd.gz b/ppd/hpcups/hp-deskjet_3920.ppd.gz
index ac3bdb651..f525d1f3c 100644
--- a/ppd/hpcups/hp-deskjet_3920.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3920.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_3940.ppd.gz b/ppd/hpcups/hp-deskjet_3940.ppd.gz
index 81a9cca9f..3a36a1b63 100644
--- a/ppd/hpcups/hp-deskjet_3940.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_3940.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_400.ppd.gz b/ppd/hpcups/hp-deskjet_400.ppd.gz
index 38d4be67d..dde9cb895 100644
--- a/ppd/hpcups/hp-deskjet_400.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_400.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_400l.ppd.gz b/ppd/hpcups/hp-deskjet_400l.ppd.gz
index 3ca3777d3..0757ef21d 100644
--- a/ppd/hpcups/hp-deskjet_400l.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_400l.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_460.ppd.gz b/ppd/hpcups/hp-deskjet_460.ppd.gz
index 7d9536dea..0827b3108 100644
--- a/ppd/hpcups/hp-deskjet_460.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_460.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_500.ppd.gz b/ppd/hpcups/hp-deskjet_500.ppd.gz
index 227f97dd6..e5f729e01 100644
--- a/ppd/hpcups/hp-deskjet_500.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_500.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_500c.ppd.gz b/ppd/hpcups/hp-deskjet_500c.ppd.gz
index d74cf73a3..1b674fbb6 100644
--- a/ppd/hpcups/hp-deskjet_500c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_500c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_505j.ppd.gz b/ppd/hpcups/hp-deskjet_505j.ppd.gz
index 9ee694a2f..c81d3fb69 100644
--- a/ppd/hpcups/hp-deskjet_505j.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_505j.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_510.ppd.gz b/ppd/hpcups/hp-deskjet_510.ppd.gz
index 1424ee54c..0be93456c 100644
--- a/ppd/hpcups/hp-deskjet_510.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_510.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5100.ppd.gz b/ppd/hpcups/hp-deskjet_5100.ppd.gz
index 39e0fbf81..f3194bb56 100644
--- a/ppd/hpcups/hp-deskjet_5100.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_520.ppd.gz b/ppd/hpcups/hp-deskjet_520.ppd.gz
index f53d6e96d..cd31096fa 100644
--- a/ppd/hpcups/hp-deskjet_520.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_520.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_540.ppd.gz b/ppd/hpcups/hp-deskjet_540.ppd.gz
index 9926510e8..c003ed259 100644
--- a/ppd/hpcups/hp-deskjet_540.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_540.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5400_series.ppd.gz b/ppd/hpcups/hp-deskjet_5400_series.ppd.gz
index 2f948095e..3cb2b19b5 100644
--- a/ppd/hpcups/hp-deskjet_5400_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_550c.ppd.gz b/ppd/hpcups/hp-deskjet_550c.ppd.gz
index e815d1185..9a7cd7889 100644
--- a/ppd/hpcups/hp-deskjet_550c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_550c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5550.ppd.gz b/ppd/hpcups/hp-deskjet_5550.ppd.gz
index e8295a4aa..ab60af7bb 100644
--- a/ppd/hpcups/hp-deskjet_5550.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5550.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5551.ppd.gz b/ppd/hpcups/hp-deskjet_5551.ppd.gz
index 3f6350a96..1db2ae287 100644
--- a/ppd/hpcups/hp-deskjet_5551.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5551.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5552.ppd.gz b/ppd/hpcups/hp-deskjet_5552.ppd.gz
index 84da5cea6..7dfe88659 100644
--- a/ppd/hpcups/hp-deskjet_5552.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5552.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5600.ppd.gz b/ppd/hpcups/hp-deskjet_5600.ppd.gz
index 11858fbf7..7853031aa 100644
--- a/ppd/hpcups/hp-deskjet_5600.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5650.ppd.gz b/ppd/hpcups/hp-deskjet_5650.ppd.gz
index 856fcbfdc..491e184dd 100644
--- a/ppd/hpcups/hp-deskjet_5650.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5650.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5652.ppd.gz b/ppd/hpcups/hp-deskjet_5652.ppd.gz
index ced343ac5..dbeba6b13 100644
--- a/ppd/hpcups/hp-deskjet_5652.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5652.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5700.ppd.gz b/ppd/hpcups/hp-deskjet_5700.ppd.gz
index 2580efe51..bf58a36b9 100644
--- a/ppd/hpcups/hp-deskjet_5700.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5700.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5800.ppd.gz b/ppd/hpcups/hp-deskjet_5800.ppd.gz
index de1ed1bc2..157e2462a 100644
--- a/ppd/hpcups/hp-deskjet_5800.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5800.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5850.ppd.gz b/ppd/hpcups/hp-deskjet_5850.ppd.gz
index db90534fe..39826479c 100644
--- a/ppd/hpcups/hp-deskjet_5850.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5850.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_5900_series.ppd.gz b/ppd/hpcups/hp-deskjet_5900_series.ppd.gz
index f273bf53b..8a508b8f1 100644
--- a/ppd/hpcups/hp-deskjet_5900_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_5900_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_600.ppd.gz b/ppd/hpcups/hp-deskjet_600.ppd.gz
index df28dd270..7910914b7 100644
--- a/ppd/hpcups/hp-deskjet_600.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_610c.ppd.gz b/ppd/hpcups/hp-deskjet_610c.ppd.gz
index eabb2a6c9..f3e011805 100644
--- a/ppd/hpcups/hp-deskjet_610c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_610c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_610cl.ppd.gz b/ppd/hpcups/hp-deskjet_610cl.ppd.gz
index 7a2761c20..ab9f4a35a 100644
--- a/ppd/hpcups/hp-deskjet_610cl.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_610cl.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_6120.ppd.gz b/ppd/hpcups/hp-deskjet_6120.ppd.gz
index 72e2b2f71..8fc2f1860 100644
--- a/ppd/hpcups/hp-deskjet_6120.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_6120.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_6122.ppd.gz b/ppd/hpcups/hp-deskjet_6122.ppd.gz
index 9bd12abc7..5726e5640 100644
--- a/ppd/hpcups/hp-deskjet_6122.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_6122.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_6127.ppd.gz b/ppd/hpcups/hp-deskjet_6127.ppd.gz
index aab365de9..a56d46b72 100644
--- a/ppd/hpcups/hp-deskjet_6127.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_6127.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_612c.ppd.gz b/ppd/hpcups/hp-deskjet_612c.ppd.gz
index 14ba1d59f..0711df079 100644
--- a/ppd/hpcups/hp-deskjet_612c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_612c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_630c.ppd.gz b/ppd/hpcups/hp-deskjet_630c.ppd.gz
index 3b4453f9c..aee182854 100644
--- a/ppd/hpcups/hp-deskjet_630c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_630c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_632c.ppd.gz b/ppd/hpcups/hp-deskjet_632c.ppd.gz
index 0d5134f45..5ab5d0157 100644
--- a/ppd/hpcups/hp-deskjet_632c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_632c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_640c.ppd.gz b/ppd/hpcups/hp-deskjet_640c.ppd.gz
index d63df080b..93b3f23d5 100644
--- a/ppd/hpcups/hp-deskjet_640c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_640c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_648c.ppd.gz b/ppd/hpcups/hp-deskjet_648c.ppd.gz
index bf3fec54f..508ddc619 100644
--- a/ppd/hpcups/hp-deskjet_648c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_648c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_6500.ppd.gz b/ppd/hpcups/hp-deskjet_6500.ppd.gz
index 62a6bb8dd..14458daf4 100644
--- a/ppd/hpcups/hp-deskjet_6500.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_6500.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_656c.ppd.gz b/ppd/hpcups/hp-deskjet_656c.ppd.gz
index d0bf438be..3e1d37abc 100644
--- a/ppd/hpcups/hp-deskjet_656c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_656c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_660.ppd.gz b/ppd/hpcups/hp-deskjet_660.ppd.gz
index c68e66a4e..b20cb96a8 100644
--- a/ppd/hpcups/hp-deskjet_660.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_660.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_6600.ppd.gz b/ppd/hpcups/hp-deskjet_6600.ppd.gz
index 41ae5a091..f42f72101 100644
--- a/ppd/hpcups/hp-deskjet_6600.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_6600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_670.ppd.gz b/ppd/hpcups/hp-deskjet_670.ppd.gz
index 50a3ee4e6..fe2bb1076 100644
--- a/ppd/hpcups/hp-deskjet_670.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_670.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_670c.ppd.gz b/ppd/hpcups/hp-deskjet_670c.ppd.gz
index f788ec315..27ef13f69 100644
--- a/ppd/hpcups/hp-deskjet_670c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_670c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_670tv.ppd.gz b/ppd/hpcups/hp-deskjet_670tv.ppd.gz
index 713ea08af..e6d351c37 100644
--- a/ppd/hpcups/hp-deskjet_670tv.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_670tv.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_672c.ppd.gz b/ppd/hpcups/hp-deskjet_672c.ppd.gz
index 5eaa7bb0e..ca3746d0d 100644
--- a/ppd/hpcups/hp-deskjet_672c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_672c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_680.ppd.gz b/ppd/hpcups/hp-deskjet_680.ppd.gz
index 61e5289ea..ae514c96e 100644
--- a/ppd/hpcups/hp-deskjet_680.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_680.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_6800.ppd.gz b/ppd/hpcups/hp-deskjet_6800.ppd.gz
index 434e824ed..b3382a966 100644
--- a/ppd/hpcups/hp-deskjet_6800.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_6800.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_682.ppd.gz b/ppd/hpcups/hp-deskjet_682.ppd.gz
index d3a475a0d..487f377dd 100644
--- a/ppd/hpcups/hp-deskjet_682.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_682.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_690.ppd.gz b/ppd/hpcups/hp-deskjet_690.ppd.gz
index 56f378d90..64082fc34 100644
--- a/ppd/hpcups/hp-deskjet_690.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_690.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_690c.ppd.gz b/ppd/hpcups/hp-deskjet_690c.ppd.gz
index 4b63b5ff3..c121df9e1 100644
--- a/ppd/hpcups/hp-deskjet_690c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_690c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_692.ppd.gz b/ppd/hpcups/hp-deskjet_692.ppd.gz
index 0b67971e3..9a6cbf92c 100644
--- a/ppd/hpcups/hp-deskjet_692.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_692.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_693.ppd.gz b/ppd/hpcups/hp-deskjet_693.ppd.gz
index 9b8ce56c0..b5a08091c 100644
--- a/ppd/hpcups/hp-deskjet_693.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_693.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_694.ppd.gz b/ppd/hpcups/hp-deskjet_694.ppd.gz
index 1dab151e4..4c2fb5bd6 100644
--- a/ppd/hpcups/hp-deskjet_694.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_694.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_6940_series.ppd.gz b/ppd/hpcups/hp-deskjet_6940_series.ppd.gz
index ad88e7388..e31024ca0 100644
--- a/ppd/hpcups/hp-deskjet_6940_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_6940_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_695.ppd.gz b/ppd/hpcups/hp-deskjet_695.ppd.gz
index 664d81057..7e0570ee2 100644
--- a/ppd/hpcups/hp-deskjet_695.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_695.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_697.ppd.gz b/ppd/hpcups/hp-deskjet_697.ppd.gz
index 733f3f251..a733036cb 100644
--- a/ppd/hpcups/hp-deskjet_697.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_697.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_6980_series.ppd.gz b/ppd/hpcups/hp-deskjet_6980_series.ppd.gz
index c6232687f..f8f5ed382 100644
--- a/ppd/hpcups/hp-deskjet_6980_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_6980_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_810c.ppd.gz b/ppd/hpcups/hp-deskjet_810c.ppd.gz
index a2cd61815..b99261ef0 100644
--- a/ppd/hpcups/hp-deskjet_810c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_810c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_812c.ppd.gz b/ppd/hpcups/hp-deskjet_812c.ppd.gz
index 8ef3f8b31..cb5d71f77 100644
--- a/ppd/hpcups/hp-deskjet_812c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_812c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_815c.ppd.gz b/ppd/hpcups/hp-deskjet_815c.ppd.gz
index 20f9eedbb..e2bb25660 100644
--- a/ppd/hpcups/hp-deskjet_815c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_815c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_816c.ppd.gz b/ppd/hpcups/hp-deskjet_816c.ppd.gz
index 6fb808adc..4195ecb9d 100644
--- a/ppd/hpcups/hp-deskjet_816c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_816c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_825c.ppd.gz b/ppd/hpcups/hp-deskjet_825c.ppd.gz
index 7ecc7143a..5d10781c0 100644
--- a/ppd/hpcups/hp-deskjet_825c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_825c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_830c.ppd.gz b/ppd/hpcups/hp-deskjet_830c.ppd.gz
index deadfe227..c8299ce11 100644
--- a/ppd/hpcups/hp-deskjet_830c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_830c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_832c.ppd.gz b/ppd/hpcups/hp-deskjet_832c.ppd.gz
index dd1e8d7dc..0ed880bc7 100644
--- a/ppd/hpcups/hp-deskjet_832c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_832c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_840c.ppd.gz b/ppd/hpcups/hp-deskjet_840c.ppd.gz
index 67030206a..f1eceac32 100644
--- a/ppd/hpcups/hp-deskjet_840c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_840c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_841c.ppd.gz b/ppd/hpcups/hp-deskjet_841c.ppd.gz
index 013da506a..3fea26707 100644
--- a/ppd/hpcups/hp-deskjet_841c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_841c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_842c.ppd.gz b/ppd/hpcups/hp-deskjet_842c.ppd.gz
index 25429db48..8e76abbb1 100644
--- a/ppd/hpcups/hp-deskjet_842c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_842c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_843c.ppd.gz b/ppd/hpcups/hp-deskjet_843c.ppd.gz
index a2bcfae01..62ea3bbea 100644
--- a/ppd/hpcups/hp-deskjet_843c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_843c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_845c.ppd.gz b/ppd/hpcups/hp-deskjet_845c.ppd.gz
index 1216faf42..034df271b 100644
--- a/ppd/hpcups/hp-deskjet_845c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_845c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_850c.ppd.gz b/ppd/hpcups/hp-deskjet_850c.ppd.gz
index dd37ccbc0..2711a26d2 100644
--- a/ppd/hpcups/hp-deskjet_850c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_850c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_855c.ppd.gz b/ppd/hpcups/hp-deskjet_855c.ppd.gz
index 33af37ceb..c84141af4 100644
--- a/ppd/hpcups/hp-deskjet_855c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_855c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_870c.ppd.gz b/ppd/hpcups/hp-deskjet_870c.ppd.gz
index 7e282b26a..3defb38e1 100644
--- a/ppd/hpcups/hp-deskjet_870c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_870c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_880c.ppd.gz b/ppd/hpcups/hp-deskjet_880c.ppd.gz
index 1ea7ffc3d..31a5de743 100644
--- a/ppd/hpcups/hp-deskjet_880c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_880c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_882c.ppd.gz b/ppd/hpcups/hp-deskjet_882c.ppd.gz
index 93b639240..e993cd38c 100644
--- a/ppd/hpcups/hp-deskjet_882c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_882c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_890c.ppd.gz b/ppd/hpcups/hp-deskjet_890c.ppd.gz
index c08e26120..9294bf16c 100644
--- a/ppd/hpcups/hp-deskjet_890c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_890c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_895c.ppd.gz b/ppd/hpcups/hp-deskjet_895c.ppd.gz
index 81662df40..8d9ea435b 100644
--- a/ppd/hpcups/hp-deskjet_895c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_895c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_916c.ppd.gz b/ppd/hpcups/hp-deskjet_916c.ppd.gz
index 0f34c2f1d..a02f41a1d 100644
--- a/ppd/hpcups/hp-deskjet_916c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_916c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_920c.ppd.gz b/ppd/hpcups/hp-deskjet_920c.ppd.gz
index 529abf3d1..286f00522 100644
--- a/ppd/hpcups/hp-deskjet_920c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_920c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_9300.ppd.gz b/ppd/hpcups/hp-deskjet_9300.ppd.gz
index 6c931de0f..70ada7bdf 100644
--- a/ppd/hpcups/hp-deskjet_9300.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_9300.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_930c.ppd.gz b/ppd/hpcups/hp-deskjet_930c.ppd.gz
index 726722e33..a2c102f64 100644
--- a/ppd/hpcups/hp-deskjet_930c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_930c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_932c.ppd.gz b/ppd/hpcups/hp-deskjet_932c.ppd.gz
index 19f95e087..28952b7e6 100644
--- a/ppd/hpcups/hp-deskjet_932c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_932c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_933c.ppd.gz b/ppd/hpcups/hp-deskjet_933c.ppd.gz
index 9534edbcb..81a52af08 100644
--- a/ppd/hpcups/hp-deskjet_933c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_933c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_934c.ppd.gz b/ppd/hpcups/hp-deskjet_934c.ppd.gz
index f8b0f0360..2ba62ae9a 100644
--- a/ppd/hpcups/hp-deskjet_934c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_934c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_935c.ppd.gz b/ppd/hpcups/hp-deskjet_935c.ppd.gz
index 5eaf08b90..47f0ba61c 100644
--- a/ppd/hpcups/hp-deskjet_935c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_935c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_940c.ppd.gz b/ppd/hpcups/hp-deskjet_940c.ppd.gz
index 5c96d8a95..30826dd6a 100644
--- a/ppd/hpcups/hp-deskjet_940c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_940c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_948c.ppd.gz b/ppd/hpcups/hp-deskjet_948c.ppd.gz
index f80dc8e2b..59eb32775 100644
--- a/ppd/hpcups/hp-deskjet_948c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_948c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_950c.ppd.gz b/ppd/hpcups/hp-deskjet_950c.ppd.gz
index ad4b397ef..792e4e3ae 100644
--- a/ppd/hpcups/hp-deskjet_950c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_950c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_952c.ppd.gz b/ppd/hpcups/hp-deskjet_952c.ppd.gz
index 8eccd90d7..4919feb72 100644
--- a/ppd/hpcups/hp-deskjet_952c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_952c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_955c.ppd.gz b/ppd/hpcups/hp-deskjet_955c.ppd.gz
index 0365ac657..d832272ee 100644
--- a/ppd/hpcups/hp-deskjet_955c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_955c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_957c.ppd.gz b/ppd/hpcups/hp-deskjet_957c.ppd.gz
index 3c22aaadd..378294d49 100644
--- a/ppd/hpcups/hp-deskjet_957c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_957c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_959c.ppd.gz b/ppd/hpcups/hp-deskjet_959c.ppd.gz
index 02b13c68f..53b1f9a6c 100644
--- a/ppd/hpcups/hp-deskjet_959c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_959c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_9600.ppd.gz b/ppd/hpcups/hp-deskjet_9600.ppd.gz
index ad5062f62..e798e3776 100644
--- a/ppd/hpcups/hp-deskjet_9600.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_9600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_960c.ppd.gz b/ppd/hpcups/hp-deskjet_960c.ppd.gz
index 3268f196b..80967a5cc 100644
--- a/ppd/hpcups/hp-deskjet_960c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_960c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_970c.ppd.gz b/ppd/hpcups/hp-deskjet_970c.ppd.gz
index 3701fe630..32f146f42 100644
--- a/ppd/hpcups/hp-deskjet_970c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_970c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_975c.ppd.gz b/ppd/hpcups/hp-deskjet_975c.ppd.gz
index f07704aed..ebf9f35fb 100644
--- a/ppd/hpcups/hp-deskjet_975c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_975c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_9800.ppd.gz b/ppd/hpcups/hp-deskjet_9800.ppd.gz
index c37c4344a..1a1fd83f5 100644
--- a/ppd/hpcups/hp-deskjet_9800.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_9800.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_980c.ppd.gz b/ppd/hpcups/hp-deskjet_980c.ppd.gz
index cc849c2fd..8b53c3b34 100644
--- a/ppd/hpcups/hp-deskjet_980c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_980c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_990c.ppd.gz b/ppd/hpcups/hp-deskjet_990c.ppd.gz
index 027d464e9..3eaa82174 100644
--- a/ppd/hpcups/hp-deskjet_990c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_990c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_995c.ppd.gz b/ppd/hpcups/hp-deskjet_995c.ppd.gz
index e4ad8edd6..117331304 100644
--- a/ppd/hpcups/hp-deskjet_995c.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_995c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d1300_series.ppd.gz b/ppd/hpcups/hp-deskjet_d1300_series.ppd.gz
index 43dc52caa..41a547234 100644
--- a/ppd/hpcups/hp-deskjet_d1300_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d1300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d1400_series.ppd.gz b/ppd/hpcups/hp-deskjet_d1400_series.ppd.gz
index 19276c67e..8139d8d3f 100644
--- a/ppd/hpcups/hp-deskjet_d1400_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d1400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d1500_series.ppd.gz b/ppd/hpcups/hp-deskjet_d1500_series.ppd.gz
index fa48c33c9..496c26c58 100644
--- a/ppd/hpcups/hp-deskjet_d1500_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d1500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d1600_series.ppd.gz b/ppd/hpcups/hp-deskjet_d1600_series.ppd.gz
index 64506a248..57e108d8b 100644
--- a/ppd/hpcups/hp-deskjet_d1600_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d1600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d2300_series.ppd.gz b/ppd/hpcups/hp-deskjet_d2300_series.ppd.gz
index fd0591810..60c197e5b 100644
--- a/ppd/hpcups/hp-deskjet_d2300_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d2300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d2400_series.ppd.gz b/ppd/hpcups/hp-deskjet_d2400_series.ppd.gz
index 43b9437c0..993251743 100644
--- a/ppd/hpcups/hp-deskjet_d2400_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d2400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d2500_series.ppd.gz b/ppd/hpcups/hp-deskjet_d2500_series.ppd.gz
index 7317d4f9e..c9ec661bb 100644
--- a/ppd/hpcups/hp-deskjet_d2500_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d2500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d2600_series.ppd.gz b/ppd/hpcups/hp-deskjet_d2600_series.ppd.gz
index ef7d3f979..e29b7dd15 100644
--- a/ppd/hpcups/hp-deskjet_d2600_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d2600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d4100_series.ppd.gz b/ppd/hpcups/hp-deskjet_d4100_series.ppd.gz
index 151fe578c..5c4402272 100644
--- a/ppd/hpcups/hp-deskjet_d4100_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d4100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d4200_series.ppd.gz b/ppd/hpcups/hp-deskjet_d4200_series.ppd.gz
index ed704462c..7911f5eda 100644
--- a/ppd/hpcups/hp-deskjet_d4200_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d4200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d4300_series.ppd.gz b/ppd/hpcups/hp-deskjet_d4300_series.ppd.gz
index b174e4f7c..521d9c255 100644
--- a/ppd/hpcups/hp-deskjet_d4300_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d4300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d5500_series.ppd.gz b/ppd/hpcups/hp-deskjet_d5500_series.ppd.gz
index bebf37a42..49eddb46a 100644
--- a/ppd/hpcups/hp-deskjet_d5500_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d5500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_d730.ppd.gz b/ppd/hpcups/hp-deskjet_d730.ppd.gz
index 8a97ef053..42db58886 100644
--- a/ppd/hpcups/hp-deskjet_d730.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_d730.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f2100_series.ppd.gz b/ppd/hpcups/hp-deskjet_f2100_series.ppd.gz
index a949e9cdd..88379d5d6 100644
--- a/ppd/hpcups/hp-deskjet_f2100_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f2100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f2200_series.ppd.gz b/ppd/hpcups/hp-deskjet_f2200_series.ppd.gz
index 974fdc0c4..117bc4f4c 100644
--- a/ppd/hpcups/hp-deskjet_f2200_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f2200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f2400_series.ppd.gz b/ppd/hpcups/hp-deskjet_f2400_series.ppd.gz
index 935388ed2..d25346b0e 100644
--- a/ppd/hpcups/hp-deskjet_f2400_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f2400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f300_series.ppd.gz b/ppd/hpcups/hp-deskjet_f300_series.ppd.gz
index d83c91779..7618641c1 100644
--- a/ppd/hpcups/hp-deskjet_f300_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f4100_series.ppd.gz b/ppd/hpcups/hp-deskjet_f4100_series.ppd.gz
index ec963b586..ac0023b36 100644
--- a/ppd/hpcups/hp-deskjet_f4100_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f4100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f4200_series.ppd.gz b/ppd/hpcups/hp-deskjet_f4200_series.ppd.gz
index 40146a353..dc9282c39 100644
--- a/ppd/hpcups/hp-deskjet_f4200_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f4200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f4210_series.ppd.gz b/ppd/hpcups/hp-deskjet_f4210_series.ppd.gz
index 7d982728b..b6b6b5909 100644
--- a/ppd/hpcups/hp-deskjet_f4210_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f4210_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f4213_series.ppd.gz b/ppd/hpcups/hp-deskjet_f4213_series.ppd.gz
index fe7a050e3..9d7bdb7ac 100644
--- a/ppd/hpcups/hp-deskjet_f4213_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f4213_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f4400_series.ppd.gz b/ppd/hpcups/hp-deskjet_f4400_series.ppd.gz
index 3e4aedd5a..c53d4dc9b 100644
--- a/ppd/hpcups/hp-deskjet_f4400_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f4400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f4500_series.ppd.gz b/ppd/hpcups/hp-deskjet_f4500_series.ppd.gz
index b1398efae..990340686 100644
--- a/ppd/hpcups/hp-deskjet_f4500_series.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f4500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_f735.ppd.gz b/ppd/hpcups/hp-deskjet_f735.ppd.gz
index 23de79a45..c5bfa0be2 100644
--- a/ppd/hpcups/hp-deskjet_f735.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_f735.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_ink_adv_2010_k010.ppd.gz b/ppd/hpcups/hp-deskjet_ink_adv_2010_k010.ppd.gz
index 46458c17a..3bbd53393 100644
--- a/ppd/hpcups/hp-deskjet_ink_adv_2010_k010.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_ink_adv_2010_k010.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_ink_adv_2060_k110.ppd.gz b/ppd/hpcups/hp-deskjet_ink_adv_2060_k110.ppd.gz
index 97b6357ed..6910b88c8 100644
--- a/ppd/hpcups/hp-deskjet_ink_adv_2060_k110.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_ink_adv_2060_k110.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_ink_advant_k109a-z.ppd.gz b/ppd/hpcups/hp-deskjet_ink_advant_k109a-z.ppd.gz
index d5fbdca00..e9b3953e8 100644
--- a/ppd/hpcups/hp-deskjet_ink_advant_k109a-z.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_ink_advant_k109a-z.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-deskjet_ink_advant_k209a-z.ppd.gz b/ppd/hpcups/hp-deskjet_ink_advant_k209a-z.ppd.gz
index 639fbda8b..b71583723 100644
--- a/ppd/hpcups/hp-deskjet_ink_advant_k209a-z.ppd.gz
+++ b/ppd/hpcups/hp-deskjet_ink_advant_k209a-z.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-dj350.ppd.gz b/ppd/hpcups/hp-dj350.ppd.gz
index 62d5471f4..3dc2e5a1d 100644
--- a/ppd/hpcups/hp-dj350.ppd.gz
+++ b/ppd/hpcups/hp-dj350.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-dj450.ppd.gz b/ppd/hpcups/hp-dj450.ppd.gz
index adfa77032..9b161b0c4 100644
--- a/ppd/hpcups/hp-dj450.ppd.gz
+++ b/ppd/hpcups/hp-dj450.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-envy_100_d410_series.ppd.gz b/ppd/hpcups/hp-envy_100_d410_series.ppd.gz
index 5891523f8..16487966e 100644
--- a/ppd/hpcups/hp-envy_100_d410_series.ppd.gz
+++ b/ppd/hpcups/hp-envy_100_d410_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-envy_110_series.ppd.gz b/ppd/hpcups/hp-envy_110_series.ppd.gz
index a81de4f01..1185bdb7b 100644
--- a/ppd/hpcups/hp-envy_110_series.ppd.gz
+++ b/ppd/hpcups/hp-envy_110_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1000.ppd.gz b/ppd/hpcups/hp-laserjet_1000.ppd.gz
index 11ecaef6f..f2b78f558 100644
--- a/ppd/hpcups/hp-laserjet_1000.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1000.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1005_series.ppd.gz b/ppd/hpcups/hp-laserjet_1005_series.ppd.gz
index 93141b8bc..962657aeb 100644
--- a/ppd/hpcups/hp-laserjet_1005_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1005_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1010.ppd.gz b/ppd/hpcups/hp-laserjet_1010.ppd.gz
index d12ba58ac..96565f435 100644
--- a/ppd/hpcups/hp-laserjet_1010.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1010.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1012.ppd.gz b/ppd/hpcups/hp-laserjet_1012.ppd.gz
index abd90e172..6b6797b84 100644
--- a/ppd/hpcups/hp-laserjet_1012.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1012.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1015.ppd.gz b/ppd/hpcups/hp-laserjet_1015.ppd.gz
index aafaefc95..16d2104ab 100644
--- a/ppd/hpcups/hp-laserjet_1015.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1015.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1018.ppd.gz b/ppd/hpcups/hp-laserjet_1018.ppd.gz
index f952b3e4b..406daf153 100644
--- a/ppd/hpcups/hp-laserjet_1018.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1018.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1020.ppd.gz b/ppd/hpcups/hp-laserjet_1020.ppd.gz
index 48fcdf335..082bb7240 100644
--- a/ppd/hpcups/hp-laserjet_1020.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1020.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1022-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1022-pcl3.ppd.gz
index a5e4bd6da..0ae51f9a4 100644
--- a/ppd/hpcups/hp-laserjet_1022-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1022-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1022-zjs.ppd.gz b/ppd/hpcups/hp-laserjet_1022-zjs.ppd.gz
index 277f11ee0..d4dc3a9cc 100644
--- a/ppd/hpcups/hp-laserjet_1022-zjs.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1022-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1022n-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1022n-pcl3.ppd.gz
index 8602d84f0..6c908bde5 100644
--- a/ppd/hpcups/hp-laserjet_1022n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1022n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1022n-zjs.ppd.gz b/ppd/hpcups/hp-laserjet_1022n-zjs.ppd.gz
index f1bb66d2f..1df8afe4c 100644
--- a/ppd/hpcups/hp-laserjet_1022n-zjs.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1022n-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1022nw-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1022nw-pcl3.ppd.gz
index fcb8e5b0b..b10524b4a 100644
--- a/ppd/hpcups/hp-laserjet_1022nw-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1022nw-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1022nw-zjs.ppd.gz b/ppd/hpcups/hp-laserjet_1022nw-zjs.ppd.gz
index 0ed3e246b..1ed7a0bd0 100644
--- a/ppd/hpcups/hp-laserjet_1022nw-zjs.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1022nw-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1100.ppd.gz b/ppd/hpcups/hp-laserjet_1100.ppd.gz
index 1eea2d303..235e67f1a 100644
--- a/ppd/hpcups/hp-laserjet_1100.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1100a.ppd.gz b/ppd/hpcups/hp-laserjet_1100a.ppd.gz
index 3bbdcf0de..c348893de 100644
--- a/ppd/hpcups/hp-laserjet_1100a.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1100a.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1100xi.ppd.gz b/ppd/hpcups/hp-laserjet_1100xi.ppd.gz
index 39ccffe32..ccc4a59a5 100644
--- a/ppd/hpcups/hp-laserjet_1100xi.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1100xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1150.ppd.gz b/ppd/hpcups/hp-laserjet_1150.ppd.gz
index aba88d468..1d85235dc 100644
--- a/ppd/hpcups/hp-laserjet_1150.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1150.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1160.ppd.gz b/ppd/hpcups/hp-laserjet_1160.ppd.gz
index 53e1dfdbc..719f3b51a 100644
--- a/ppd/hpcups/hp-laserjet_1160.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1160.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1160_series.ppd.gz b/ppd/hpcups/hp-laserjet_1160_series.ppd.gz
index 93d986670..0ed55b1e2 100644
--- a/ppd/hpcups/hp-laserjet_1160_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1160_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1200-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1200-pcl3.ppd.gz
index cfbdc1e76..2f60c1226 100644
--- a/ppd/hpcups/hp-laserjet_1200-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1200-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1200n.ppd.gz b/ppd/hpcups/hp-laserjet_1200n.ppd.gz
index 73c753b8c..bdd04a916 100644
--- a/ppd/hpcups/hp-laserjet_1200n.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1200n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1220-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1220-pcl3.ppd.gz
index 052e93a5d..24d8dc10c 100644
--- a/ppd/hpcups/hp-laserjet_1220-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1220-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1220se.ppd.gz b/ppd/hpcups/hp-laserjet_1220se.ppd.gz
index c692a355e..3d9e5de0d 100644
--- a/ppd/hpcups/hp-laserjet_1220se.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1220se.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1300-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1300-pcl3.ppd.gz
index 97d463923..f16b59b39 100644
--- a/ppd/hpcups/hp-laserjet_1300-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1300-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1300n-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1300n-pcl3.ppd.gz
index ca9495999..b019d671e 100644
--- a/ppd/hpcups/hp-laserjet_1300n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1300n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1300xi-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1300xi-pcl3.ppd.gz
index d1b646730..98e857f24 100644
--- a/ppd/hpcups/hp-laserjet_1300xi-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1300xi-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1320.ppd.gz b/ppd/hpcups/hp-laserjet_1320.ppd.gz
index 4eb30aaa7..009bd7c6a 100644
--- a/ppd/hpcups/hp-laserjet_1320.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1320.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1320_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_1320_series-pcl3.ppd.gz
index 7d88b351b..da3d603eb 100644
--- a/ppd/hpcups/hp-laserjet_1320_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1320_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1320n.ppd.gz b/ppd/hpcups/hp-laserjet_1320n.ppd.gz
index 65faf9d2d..0dd6bfdd9 100644
--- a/ppd/hpcups/hp-laserjet_1320n.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1320n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1320nw.ppd.gz b/ppd/hpcups/hp-laserjet_1320nw.ppd.gz
index 7bd803958..f54cad6db 100644
--- a/ppd/hpcups/hp-laserjet_1320nw.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1320nw.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_1320tn.ppd.gz b/ppd/hpcups/hp-laserjet_1320tn.ppd.gz
index d04bc4e39..94570b2ce 100644
--- a/ppd/hpcups/hp-laserjet_1320tn.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_1320tn.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2100.ppd.gz b/ppd/hpcups/hp-laserjet_2100.ppd.gz
index 04c2c74a8..6d41ed5be 100644
--- a/ppd/hpcups/hp-laserjet_2100.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2100_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_2100_series-pcl3.ppd.gz
index 73e3404e3..be1d17781 100644
--- a/ppd/hpcups/hp-laserjet_2100_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2100_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2200-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_2200-pcl3.ppd.gz
index d08a5897f..68b13772a 100644
--- a/ppd/hpcups/hp-laserjet_2200-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2200-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2200_series.ppd.gz b/ppd/hpcups/hp-laserjet_2200_series.ppd.gz
index 74dee45d1..c16de9de1 100644
--- a/ppd/hpcups/hp-laserjet_2200_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2300-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_2300-pcl3.ppd.gz
index 22171c238..2ec12bbb7 100644
--- a/ppd/hpcups/hp-laserjet_2300-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2300-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2300_series.ppd.gz b/ppd/hpcups/hp-laserjet_2300_series.ppd.gz
index b9a2a53dc..8bb0c7391 100644
--- a/ppd/hpcups/hp-laserjet_2300_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2410-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_2410-pcl3.ppd.gz
index 72accd313..85ed1ed90 100644
--- a/ppd/hpcups/hp-laserjet_2410-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2410-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2420-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_2420-pcl3.ppd.gz
index cd69d3c1e..76f224107 100644
--- a/ppd/hpcups/hp-laserjet_2420-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2420-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_2430-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_2430-pcl3.ppd.gz
index 40d3b10c5..1ff9318fb 100644
--- a/ppd/hpcups/hp-laserjet_2430-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_2430-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3015-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3015-pcl3.ppd.gz
index dc091d9c4..bd09eb277 100644
--- a/ppd/hpcups/hp-laserjet_3015-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3015-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3020-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3020-pcl3.ppd.gz
index 4699696dd..faa07a8dc 100644
--- a/ppd/hpcups/hp-laserjet_3020-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3020-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3030-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3030-pcl3.ppd.gz
index 6ecfb6963..574e63c8d 100644
--- a/ppd/hpcups/hp-laserjet_3030-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3030-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3050-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3050-pcl3.ppd.gz
index 9271e0e45..75044b26b 100644
--- a/ppd/hpcups/hp-laserjet_3050-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3050-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3052-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3052-pcl3.ppd.gz
index fed4b18cc..1df4502e2 100644
--- a/ppd/hpcups/hp-laserjet_3052-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3052-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3055.ppd.gz b/ppd/hpcups/hp-laserjet_3055.ppd.gz
index 3879b8f3a..f11b91799 100644
--- a/ppd/hpcups/hp-laserjet_3055.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3055.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3100.ppd.gz b/ppd/hpcups/hp-laserjet_3100.ppd.gz
index e56370bb7..befce625c 100644
--- a/ppd/hpcups/hp-laserjet_3100.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3150.ppd.gz b/ppd/hpcups/hp-laserjet_3150.ppd.gz
index 0ebd58fbb..f50efbad0 100644
--- a/ppd/hpcups/hp-laserjet_3150.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3150.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3200.ppd.gz b/ppd/hpcups/hp-laserjet_3200.ppd.gz
index 03c9b3509..b668eebc9 100644
--- a/ppd/hpcups/hp-laserjet_3200.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3200.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3200m-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3200m-pcl3.ppd.gz
index 3c2638f5f..339ff2348 100644
--- a/ppd/hpcups/hp-laserjet_3200m-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3200m-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3200se.ppd.gz b/ppd/hpcups/hp-laserjet_3200se.ppd.gz
index 01376d292..32c3ac9e7 100644
--- a/ppd/hpcups/hp-laserjet_3200se.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3200se.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3300_3310_3320-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3300_3310_3320-pcl3.ppd.gz
index d7718fa92..6b9ae433d 100644
--- a/ppd/hpcups/hp-laserjet_3300_3310_3320-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3300_3310_3320-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3330.ppd.gz b/ppd/hpcups/hp-laserjet_3330.ppd.gz
index d3eec9e04..e8eea1182 100644
--- a/ppd/hpcups/hp-laserjet_3330.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3330.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3380-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3380-pcl3.ppd.gz
index 4fe775c6d..8addb1c23 100644
--- a/ppd/hpcups/hp-laserjet_3380-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3380-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3390-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_3390-pcl3.ppd.gz
index 3b7cd9baa..b3a273888 100644
--- a/ppd/hpcups/hp-laserjet_3390-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3390-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_3392.ppd.gz b/ppd/hpcups/hp-laserjet_3392.ppd.gz
index 57af4b0e2..c9bdd985c 100644
--- a/ppd/hpcups/hp-laserjet_3392.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_3392.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4000_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4000_series-pcl3.ppd.gz
index 451b22faf..8cead4cf3 100644
--- a/ppd/hpcups/hp-laserjet_4000_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4000_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4050_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4050_series-pcl3.ppd.gz
index 6ac16dca1..0a64f2015 100644
--- a/ppd/hpcups/hp-laserjet_4050_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4050_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4100_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4100_mfp-pcl3.ppd.gz
index 188c38211..968dac54d 100644
--- a/ppd/hpcups/hp-laserjet_4100_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4100_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4100_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4100_series-pcl3.ppd.gz
index 6b4b1b10d..c9b779f91 100644
--- a/ppd/hpcups/hp-laserjet_4100_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4100_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4150_series.ppd.gz b/ppd/hpcups/hp-laserjet_4150_series.ppd.gz
index 6b6eeecb6..80836d6e5 100644
--- a/ppd/hpcups/hp-laserjet_4150_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4150_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4200-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4200-pcl3.ppd.gz
index a6b49564e..11bbd619d 100644
--- a/ppd/hpcups/hp-laserjet_4200-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4200-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4240-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4240-pcl3.ppd.gz
index 3ea44f682..990f16f7e 100644
--- a/ppd/hpcups/hp-laserjet_4240-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4240-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4250-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4250-pcl3.ppd.gz
index 85cefa128..a5eac50d4 100644
--- a/ppd/hpcups/hp-laserjet_4250-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4250-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4300-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4300-pcl3.ppd.gz
index 754dcf3d6..c81feba04 100644
--- a/ppd/hpcups/hp-laserjet_4300-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4300-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4345_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4345_mfp-pcl3.ppd.gz
index f53acb833..da6aeaeb3 100644
--- a/ppd/hpcups/hp-laserjet_4345_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4345_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4350-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4350-pcl3.ppd.gz
index 109c5cc8d..9692f45be 100644
--- a/ppd/hpcups/hp-laserjet_4350-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4350-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4_plus-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4_plus-pcl3.ppd.gz
index f6091fcae..5b161f779 100644
--- a/ppd/hpcups/hp-laserjet_4_plus-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4_plus-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4l.ppd.gz b/ppd/hpcups/hp-laserjet_4l.ppd.gz
index a1531ae3b..46d6a934f 100644
--- a/ppd/hpcups/hp-laserjet_4l.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4l.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4ml.ppd.gz b/ppd/hpcups/hp-laserjet_4ml.ppd.gz
index 48236a93b..ad254b3e2 100644
--- a/ppd/hpcups/hp-laserjet_4ml.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4ml.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4mp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4mp-pcl3.ppd.gz
index d020843e0..0d28a51de 100644
--- a/ppd/hpcups/hp-laserjet_4mp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4mp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4si-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4si-pcl3.ppd.gz
index 61c0a2c41..494e2bbf4 100644
--- a/ppd/hpcups/hp-laserjet_4si-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4si-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_4v-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_4v-pcl3.ppd.gz
index 2d4474033..90639472f 100644
--- a/ppd/hpcups/hp-laserjet_4v-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_4v-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5000.ppd.gz b/ppd/hpcups/hp-laserjet_5000.ppd.gz
index 0536cda78..981848e9a 100644
--- a/ppd/hpcups/hp-laserjet_5000.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5000.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5000_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_5000_series-pcl3.ppd.gz
index d84c2881a..30e022b3e 100644
--- a/ppd/hpcups/hp-laserjet_5000_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5000_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5100_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_5100_series-pcl3.ppd.gz
index 01817f5ec..020220189 100644
--- a/ppd/hpcups/hp-laserjet_5100_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5100_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5200-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_5200-pcl3.ppd.gz
index 1f7454de2..b2e1970a2 100644
--- a/ppd/hpcups/hp-laserjet_5200-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5200-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5200l-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_5200l-pcl3.ppd.gz
index 3556be612..f23db4c14 100644
--- a/ppd/hpcups/hp-laserjet_5200l-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5200l-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5200lx.ppd.gz b/ppd/hpcups/hp-laserjet_5200lx.ppd.gz
index 1ee1df8ab..fa3e0e3a3 100644
--- a/ppd/hpcups/hp-laserjet_5200lx.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5200lx.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5l.ppd.gz b/ppd/hpcups/hp-laserjet_5l.ppd.gz
index 5fb6188df..161ef7f7f 100644
--- a/ppd/hpcups/hp-laserjet_5l.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5l.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5mp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_5mp-pcl3.ppd.gz
index 02f3bd2c6..957b65d5e 100644
--- a/ppd/hpcups/hp-laserjet_5mp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5mp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5p.ppd.gz b/ppd/hpcups/hp-laserjet_5p.ppd.gz
index ba19b6adb..25636ba3b 100644
--- a/ppd/hpcups/hp-laserjet_5p.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5p.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5si-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_5si-pcl3.ppd.gz
index 31b6abf5d..495db979d 100644
--- a/ppd/hpcups/hp-laserjet_5si-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5si-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_5si_mopier-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_5si_mopier-pcl3.ppd.gz
index a21c239a6..e449630ee 100644
--- a/ppd/hpcups/hp-laserjet_5si_mopier-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_5si_mopier-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_6l.ppd.gz b/ppd/hpcups/hp-laserjet_6l.ppd.gz
index 8e6cd307c..36a501940 100644
--- a/ppd/hpcups/hp-laserjet_6l.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_6l.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_6mp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_6mp-pcl3.ppd.gz
index 7a2371d86..fafb6095b 100644
--- a/ppd/hpcups/hp-laserjet_6mp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_6mp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_6p.ppd.gz b/ppd/hpcups/hp-laserjet_6p.ppd.gz
index 64bcf8978..d52279785 100644
--- a/ppd/hpcups/hp-laserjet_6p.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_6p.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_8000.ppd.gz b/ppd/hpcups/hp-laserjet_8000.ppd.gz
index 1e65b0a54..878e62a77 100644
--- a/ppd/hpcups/hp-laserjet_8000.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_8000.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_8000_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_8000_series-pcl3.ppd.gz
index 1521c7f9b..80cbbe9ae 100644
--- a/ppd/hpcups/hp-laserjet_8000_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_8000_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_8100_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_8100_mfp.ppd.gz
index 878939d9a..635fb9520 100644
--- a/ppd/hpcups/hp-laserjet_8100_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_8100_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_8100_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_8100_series-pcl3.ppd.gz
index 8a86a15f0..6825c2d05 100644
--- a/ppd/hpcups/hp-laserjet_8100_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_8100_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_8150_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_8150_mfp.ppd.gz
index 064ada126..72fe47743 100644
--- a/ppd/hpcups/hp-laserjet_8150_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_8150_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_8150_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_8150_series-pcl3.ppd.gz
index 7296339f5..a3818c215 100644
--- a/ppd/hpcups/hp-laserjet_8150_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_8150_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_9000_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_9000_mfp-pcl3.ppd.gz
index 5bc215a62..4dd5e6e41 100644
--- a/ppd/hpcups/hp-laserjet_9000_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_9000_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_9000_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_9000_series-pcl3.ppd.gz
index 8cfe7df44..00604b0ca 100644
--- a/ppd/hpcups/hp-laserjet_9000_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_9000_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_9040-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_9040-pcl3.ppd.gz
index 626491413..7ec213fcc 100644
--- a/ppd/hpcups/hp-laserjet_9040-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_9040-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_9040_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_9040_mfp-pcl3.ppd.gz
index e3501fc77..07b86c248 100644
--- a/ppd/hpcups/hp-laserjet_9040_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_9040_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_9050-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_9050-pcl3.ppd.gz
index 6840b9f57..3feb6c263 100644
--- a/ppd/hpcups/hp-laserjet_9050-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_9050-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_9050_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_9050_mfp-pcl3.ppd.gz
index 43d7036a6..1239716ba 100644
--- a/ppd/hpcups/hp-laserjet_9050_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_9050_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_9055mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_9055mfp-pcl3.ppd.gz
index 7efe0c188..1b11e76f5 100644
--- a/ppd/hpcups/hp-laserjet_9055mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_9055mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_9065mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_9065mfp-pcl3.ppd.gz
index 32e4214b5..293049d16 100644
--- a/ppd/hpcups/hp-laserjet_9065mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_9065mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cm1411fn-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_cm1411fn-pcl3.ppd.gz
index 51881bcbc..77690e7d3 100644
--- a/ppd/hpcups/hp-laserjet_cm1411fn-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cm1411fn-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cm1412fn-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_cm1412fn-pcl3.ppd.gz
index 4cec78fce..38ea6fc58 100644
--- a/ppd/hpcups/hp-laserjet_cm1412fn-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cm1412fn-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cm1413fn-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_cm1413fn-pcl3.ppd.gz
index de286b46c..38e1d3af4 100644
--- a/ppd/hpcups/hp-laserjet_cm1413fn-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cm1413fn-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cm1415fn-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_cm1415fn-pcl3.ppd.gz
index 66c8c0848..038378325 100644
--- a/ppd/hpcups/hp-laserjet_cm1415fn-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cm1415fn-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cm1415fnw-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_cm1415fnw-pcl3.ppd.gz
index 4540f2d5f..eb974eed4 100644
--- a/ppd/hpcups/hp-laserjet_cm1415fnw-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cm1415fnw-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz
index 337bbf7a4..9e8ce7a9b 100644
--- a/ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz
index da06dc624..6509491d3 100644
--- a/ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz
index f1d05eaeb..71dfe74a8 100644
--- a/ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp1021.ppd.gz b/ppd/hpcups/hp-laserjet_cp1021.ppd.gz
deleted file mode 100644
index f9e6a00bc..000000000
--- a/ppd/hpcups/hp-laserjet_cp1021.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp1022.ppd.gz b/ppd/hpcups/hp-laserjet_cp1022.ppd.gz
deleted file mode 100644
index 085e42efa..000000000
--- a/ppd/hpcups/hp-laserjet_cp1022.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp1023.ppd.gz b/ppd/hpcups/hp-laserjet_cp1023.ppd.gz
deleted file mode 100644
index 087641e5c..000000000
--- a/ppd/hpcups/hp-laserjet_cp1023.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp1025.ppd.gz b/ppd/hpcups/hp-laserjet_cp1025.ppd.gz
index 9122dd418..1aaacaafd 100644
--- a/ppd/hpcups/hp-laserjet_cp1025.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cp1025.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz b/ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz
index 4c129d844..0d81c00f6 100644
--- a/ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp1027nw.ppd.gz b/ppd/hpcups/hp-laserjet_cp1027nw.ppd.gz
deleted file mode 100644
index 3fd8d05c0..000000000
--- a/ppd/hpcups/hp-laserjet_cp1027nw.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp1028nw.ppd.gz b/ppd/hpcups/hp-laserjet_cp1028nw.ppd.gz
deleted file mode 100644
index 32d2a1323..000000000
--- a/ppd/hpcups/hp-laserjet_cp1028nw.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp_1025.ppd.gz b/ppd/hpcups/hp-laserjet_cp_1025.ppd.gz
new file mode 100644
index 000000000..003fab7c0
--- /dev/null
+++ b/ppd/hpcups/hp-laserjet_cp_1025.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz b/ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz
new file mode 100644
index 000000000..645164e02
--- /dev/null
+++ b/ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1005.ppd.gz b/ppd/hpcups/hp-laserjet_m1005.ppd.gz
index e95fae6c3..3c7f123e6 100644
--- a/ppd/hpcups/hp-laserjet_m1005.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1005.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz
index 91dcc165d..452560e4d 100644
--- a/ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz
index f9f1e08e5..ce9ad951f 100644
--- a/ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1319f_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_m1319f_mfp.ppd.gz
index 5fecfd64c..8a523b5db 100644
--- a/ppd/hpcups/hp-laserjet_m1319f_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1319f_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1522nf_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m1522nf_mfp-pcl3.ppd.gz
index de75c5052..54e72b1ad 100644
--- a/ppd/hpcups/hp-laserjet_m1522nf_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1522nf_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1536dnf_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m1536dnf_mfp-pcl3.ppd.gz
index 9453865f5..37f9c3187 100644
--- a/ppd/hpcups/hp-laserjet_m1536dnf_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1536dnf_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1537dnf_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m1537dnf_mfp-pcl3.ppd.gz
index 826428338..e51fba9d1 100644
--- a/ppd/hpcups/hp-laserjet_m1537dnf_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1537dnf_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1538dnf_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m1538dnf_mfp-pcl3.ppd.gz
index 4255a4857..d80136973 100644
--- a/ppd/hpcups/hp-laserjet_m1538dnf_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1538dnf_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m1539dnf_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m1539dnf_mfp-pcl3.ppd.gz
index 6e5d5b2c5..908b3e4e6 100644
--- a/ppd/hpcups/hp-laserjet_m1539dnf_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m1539dnf_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m2727_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m2727_mfp-pcl3.ppd.gz
index 68b638ef5..9d87291d7 100644
--- a/ppd/hpcups/hp-laserjet_m2727_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m2727_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m3027_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m3027_mfp-pcl3.ppd.gz
index 3231e0688..3b7b9c6b6 100644
--- a/ppd/hpcups/hp-laserjet_m3027_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m3027_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m3035_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m3035_mfp-pcl3.ppd.gz
index 33c0e2d46..66c60fc40 100644
--- a/ppd/hpcups/hp-laserjet_m3035_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m3035_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m4345_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m4345_mfp-pcl3.ppd.gz
index 2b664bb25..bc4e5ac9f 100644
--- a/ppd/hpcups/hp-laserjet_m4345_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m4345_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m4349_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m4349_mfp-pcl3.ppd.gz
index 00f4ed410..91c427bd7 100644
--- a/ppd/hpcups/hp-laserjet_m4349_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m4349_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m5025_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m5025_mfp-pcl3.ppd.gz
index 78920a616..f1dfadb40 100644
--- a/ppd/hpcups/hp-laserjet_m5025_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m5025_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m5035_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m5035_mfp-pcl3.ppd.gz
index c0b07fddf..88e6710ef 100644
--- a/ppd/hpcups/hp-laserjet_m5035_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m5035_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m5039_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m5039_mfp-pcl3.ppd.gz
index d8e655977..8a6dafb27 100644
--- a/ppd/hpcups/hp-laserjet_m5039_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m5039_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m9040_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m9040_mfp-pcl3.ppd.gz
index 7f306c953..0f7f4fda1 100644
--- a/ppd/hpcups/hp-laserjet_m9040_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m9040_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m9050_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m9050_mfp-pcl3.ppd.gz
index b20bd3d54..e19b42a0c 100644
--- a/ppd/hpcups/hp-laserjet_m9050_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m9050_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_m9059_mfp-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_m9059_mfp-pcl3.ppd.gz
index 324453c0a..f47efcf38 100644
--- a/ppd/hpcups/hp-laserjet_m9059_mfp-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_m9059_mfp-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p1005.ppd.gz b/ppd/hpcups/hp-laserjet_p1005.ppd.gz
index 9223fe57a..dece84888 100644
--- a/ppd/hpcups/hp-laserjet_p1005.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p1005.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p1006.ppd.gz b/ppd/hpcups/hp-laserjet_p1006.ppd.gz
index b41a39a4c..f7afa8b65 100644
--- a/ppd/hpcups/hp-laserjet_p1006.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p1006.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p1007.ppd.gz b/ppd/hpcups/hp-laserjet_p1007.ppd.gz
index 9596b727e..5471d1258 100644
--- a/ppd/hpcups/hp-laserjet_p1007.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p1007.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p1008.ppd.gz b/ppd/hpcups/hp-laserjet_p1008.ppd.gz
index f058f129f..43e6f78cc 100644
--- a/ppd/hpcups/hp-laserjet_p1008.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p1008.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p1009.ppd.gz b/ppd/hpcups/hp-laserjet_p1009.ppd.gz
index 607f5bbbd..b422fe718 100644
--- a/ppd/hpcups/hp-laserjet_p1009.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p1009.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p1505.ppd.gz b/ppd/hpcups/hp-laserjet_p1505.ppd.gz
index 229f46b2f..deaf69daf 100644
--- a/ppd/hpcups/hp-laserjet_p1505.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p1505.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p1505n-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p1505n-pcl3.ppd.gz
index 4122f2ec1..2eab20582 100644
--- a/ppd/hpcups/hp-laserjet_p1505n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p1505n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p1505n-zxs.ppd.gz b/ppd/hpcups/hp-laserjet_p1505n-zxs.ppd.gz
index 6a6b76626..5dded8899 100644
--- a/ppd/hpcups/hp-laserjet_p1505n-zxs.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p1505n-zxs.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2014-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2014-pcl3.ppd.gz
index d4a767164..4d919551a 100644
--- a/ppd/hpcups/hp-laserjet_p2014-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2014-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2014-zxs.ppd.gz b/ppd/hpcups/hp-laserjet_p2014-zxs.ppd.gz
index 65d61d153..519f5c289 100644
--- a/ppd/hpcups/hp-laserjet_p2014-zxs.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2014-zxs.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2014n-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2014n-pcl3.ppd.gz
index 8ebf0d35e..4aad42817 100644
--- a/ppd/hpcups/hp-laserjet_p2014n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2014n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2014n-zxs.ppd.gz b/ppd/hpcups/hp-laserjet_p2014n-zxs.ppd.gz
index 72558a29e..aef281ba9 100644
--- a/ppd/hpcups/hp-laserjet_p2014n-zxs.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2014n-zxs.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2015_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2015_series-pcl3.ppd.gz
index 493d53a36..1b37f398c 100644
--- a/ppd/hpcups/hp-laserjet_p2015_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2015_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2015d_series.ppd.gz b/ppd/hpcups/hp-laserjet_p2015d_series.ppd.gz
index 3005265dc..12e1fa28c 100644
--- a/ppd/hpcups/hp-laserjet_p2015d_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2015d_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2015dn_series.ppd.gz b/ppd/hpcups/hp-laserjet_p2015dn_series.ppd.gz
index 0059fb9b8..89ec09cd2 100644
--- a/ppd/hpcups/hp-laserjet_p2015dn_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2015dn_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2015n_series.ppd.gz b/ppd/hpcups/hp-laserjet_p2015n_series.ppd.gz
index baeaa2fd1..8c125977a 100644
--- a/ppd/hpcups/hp-laserjet_p2015n_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2015n_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2015x_series.ppd.gz b/ppd/hpcups/hp-laserjet_p2015x_series.ppd.gz
index 60b9a19c7..47dbc748f 100644
--- a/ppd/hpcups/hp-laserjet_p2015x_series.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2015x_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2035-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2035-pcl3.ppd.gz
index 5da0cfc6c..284892de5 100644
--- a/ppd/hpcups/hp-laserjet_p2035-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2035-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2035-zjs.ppd.gz b/ppd/hpcups/hp-laserjet_p2035-zjs.ppd.gz
index 14f6a8fc2..fed998320 100644
--- a/ppd/hpcups/hp-laserjet_p2035-zjs.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2035-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2035n-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2035n-pcl3.ppd.gz
index 1a5687544..fd8b3e7af 100644
--- a/ppd/hpcups/hp-laserjet_p2035n-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2035n-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2035n-zjs.ppd.gz b/ppd/hpcups/hp-laserjet_p2035n-zjs.ppd.gz
index 40aab6e07..638bb2006 100644
--- a/ppd/hpcups/hp-laserjet_p2035n-zjs.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2035n-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2055-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2055-pcl3.ppd.gz
index 499566c14..cb1509491 100644
--- a/ppd/hpcups/hp-laserjet_p2055-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2055-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2055d-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2055d-pcl3.ppd.gz
index 90a0c9512..35e9262cb 100644
--- a/ppd/hpcups/hp-laserjet_p2055d-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2055d-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2055dn-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2055dn-pcl3.ppd.gz
index fff88d08e..9796fbf90 100644
--- a/ppd/hpcups/hp-laserjet_p2055dn-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2055dn-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p2055x-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p2055x-pcl3.ppd.gz
index 56370277a..77c9c2167 100644
--- a/ppd/hpcups/hp-laserjet_p2055x-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p2055x-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p3004-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p3004-pcl3.ppd.gz
index 7e9ea70a1..eac752cee 100644
--- a/ppd/hpcups/hp-laserjet_p3004-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p3004-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p3005-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p3005-pcl3.ppd.gz
index e004f1b3a..19820926b 100644
--- a/ppd/hpcups/hp-laserjet_p3005-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p3005-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p3010_series-pcl3.ppd.gz b/ppd/hpcups/hp-laserjet_p3010_series-pcl3.ppd.gz
index 85da4bece..6405660eb 100644
--- a/ppd/hpcups/hp-laserjet_p3010_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p3010_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4014.ppd.gz b/ppd/hpcups/hp-laserjet_p4014.ppd.gz
index 679d0d34d..d062fc8c2 100644
--- a/ppd/hpcups/hp-laserjet_p4014.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4014.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4014dn.ppd.gz b/ppd/hpcups/hp-laserjet_p4014dn.ppd.gz
index cb190d3da..231fc5c10 100644
--- a/ppd/hpcups/hp-laserjet_p4014dn.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4014dn.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4014n.ppd.gz b/ppd/hpcups/hp-laserjet_p4014n.ppd.gz
index 7c7ccb384..a7debecf1 100644
--- a/ppd/hpcups/hp-laserjet_p4014n.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4014n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4015.ppd.gz b/ppd/hpcups/hp-laserjet_p4015.ppd.gz
index 37976fdf0..f6830aa29 100644
--- a/ppd/hpcups/hp-laserjet_p4015.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4015.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4015dn.ppd.gz b/ppd/hpcups/hp-laserjet_p4015dn.ppd.gz
index c6d199338..a7c2851ab 100644
--- a/ppd/hpcups/hp-laserjet_p4015dn.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4015dn.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4015n.ppd.gz b/ppd/hpcups/hp-laserjet_p4015n.ppd.gz
index 5c4f9c7c2..b1e5a92d4 100644
--- a/ppd/hpcups/hp-laserjet_p4015n.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4015n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4015tn.ppd.gz b/ppd/hpcups/hp-laserjet_p4015tn.ppd.gz
index 65cb5cdac..f8942169e 100644
--- a/ppd/hpcups/hp-laserjet_p4015tn.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4015tn.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4015x.ppd.gz b/ppd/hpcups/hp-laserjet_p4015x.ppd.gz
index 62de643a1..0f53dcaaa 100644
--- a/ppd/hpcups/hp-laserjet_p4015x.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4015x.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4515.ppd.gz b/ppd/hpcups/hp-laserjet_p4515.ppd.gz
index 7fe405901..d0b3942f7 100644
--- a/ppd/hpcups/hp-laserjet_p4515.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4515.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4515n.ppd.gz b/ppd/hpcups/hp-laserjet_p4515n.ppd.gz
index b711a4efc..c49ea15ec 100644
--- a/ppd/hpcups/hp-laserjet_p4515n.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4515n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4515tn.ppd.gz b/ppd/hpcups/hp-laserjet_p4515tn.ppd.gz
index a449976d4..8293f5b43 100644
--- a/ppd/hpcups/hp-laserjet_p4515tn.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4515tn.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4515x.ppd.gz b/ppd/hpcups/hp-laserjet_p4515x.ppd.gz
index 09047d0b3..5c815c23b 100644
--- a/ppd/hpcups/hp-laserjet_p4515x.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4515x.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_p4515xm.ppd.gz b/ppd/hpcups/hp-laserjet_p4515xm.ppd.gz
index ed193fdcb..ae69b2173 100644
--- a/ppd/hpcups/hp-laserjet_p4515xm.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_p4515xm.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_m1132_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_professional_m1132_mfp.ppd.gz
index c1550e1b1..730e6cec9 100644
--- a/ppd/hpcups/hp-laserjet_professional_m1132_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_m1132_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_m1136_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_professional_m1136_mfp.ppd.gz
index 20cf464e4..c30ded99f 100644
--- a/ppd/hpcups/hp-laserjet_professional_m1136_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_m1136_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_m1212nf_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_professional_m1212nf_mfp.ppd.gz
index 3d6ac71b9..314697c07 100644
--- a/ppd/hpcups/hp-laserjet_professional_m1212nf_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_m1212nf_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_m1213nf_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_professional_m1213nf_mfp.ppd.gz
index 042d44b95..652713e1a 100644
--- a/ppd/hpcups/hp-laserjet_professional_m1213nf_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_m1213nf_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_m1214nfh_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_professional_m1214nfh_mfp.ppd.gz
index d3141a332..9df76ee39 100644
--- a/ppd/hpcups/hp-laserjet_professional_m1214nfh_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_m1214nfh_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_m1216nfh_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_professional_m1216nfh_mfp.ppd.gz
index 461cf8c1e..0e49f8cbd 100644
--- a/ppd/hpcups/hp-laserjet_professional_m1216nfh_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_m1216nfh_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz
index c739be475..98a6791cf 100644
--- a/ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz b/ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz
index bddafaa85..56d06ac62 100644
--- a/ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz b/ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz
index dec0ef3db..f7dc710c1 100644
--- a/ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_p1102s.ppd.gz b/ppd/hpcups/hp-laserjet_professional_p1102s.ppd.gz
deleted file mode 100644
index 81be45206..000000000
--- a/ppd/hpcups/hp-laserjet_professional_p1102s.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz b/ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz
index 9ed21122e..99c72afbc 100644
--- a/ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz b/ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz
index 002ac514c..0b5fde837 100644
--- a/ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_p1108.ppd.gz b/ppd/hpcups/hp-laserjet_professional_p1108.ppd.gz
index 425965db8..b231ada94 100644
--- a/ppd/hpcups/hp-laserjet_professional_p1108.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_p1108.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_p1566.ppd.gz b/ppd/hpcups/hp-laserjet_professional_p1566.ppd.gz
index 48c8b634b..cc1c1d976 100644
--- a/ppd/hpcups/hp-laserjet_professional_p1566.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_p1566.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_p1606dn.ppd.gz b/ppd/hpcups/hp-laserjet_professional_p1606dn.ppd.gz
index cb9f90cda..93abfff42 100644
--- a/ppd/hpcups/hp-laserjet_professional_p1606dn.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_p1606dn.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz b/ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz
index 3f0922af1..b5f4c0d3f 100644
--- a/ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz
+++ b/ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-mopier_240-pcl3.ppd.gz b/ppd/hpcups/hp-mopier_240-pcl3.ppd.gz
index 4de3856de..66c913bd3 100644
--- a/ppd/hpcups/hp-mopier_240-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-mopier_240-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-mopier_320-pcl3.ppd.gz b/ppd/hpcups/hp-mopier_320-pcl3.ppd.gz
index 6ec37ed3f..e0e8c9ab6 100644
--- a/ppd/hpcups/hp-mopier_320-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-mopier_320-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet.ppd.gz b/ppd/hpcups/hp-officejet.ppd.gz
index e099b4e63..485a219b6 100644
--- a/ppd/hpcups/hp-officejet.ppd.gz
+++ b/ppd/hpcups/hp-officejet.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_100_mobile_l411.ppd.gz b/ppd/hpcups/hp-officejet_100_mobile_l411.ppd.gz
index 308affb56..e502a3be5 100644
--- a/ppd/hpcups/hp-officejet_100_mobile_l411.ppd.gz
+++ b/ppd/hpcups/hp-officejet_100_mobile_l411.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4000_k210.ppd.gz b/ppd/hpcups/hp-officejet_4000_k210.ppd.gz
index bb1a7e022..77e1973f8 100644
--- a/ppd/hpcups/hp-officejet_4000_k210.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4000_k210.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4100_series.ppd.gz b/ppd/hpcups/hp-officejet_4100_series.ppd.gz
index 6bef8c2ce..f60d82565 100644
--- a/ppd/hpcups/hp-officejet_4100_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4105.ppd.gz b/ppd/hpcups/hp-officejet_4105.ppd.gz
index 78ebc5dbe..469a2a5bb 100644
--- a/ppd/hpcups/hp-officejet_4105.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4105.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4115_series.ppd.gz b/ppd/hpcups/hp-officejet_4115_series.ppd.gz
index 5b8b45b9a..647380b12 100644
--- a/ppd/hpcups/hp-officejet_4115_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4115_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4200_series.ppd.gz b/ppd/hpcups/hp-officejet_4200_series.ppd.gz
index 8b52c75bc..96290cc92 100644
--- a/ppd/hpcups/hp-officejet_4200_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4255.ppd.gz b/ppd/hpcups/hp-officejet_4255.ppd.gz
index 162f84acd..b3f783e79 100644
--- a/ppd/hpcups/hp-officejet_4255.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4255.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4300_series.ppd.gz b/ppd/hpcups/hp-officejet_4300_series.ppd.gz
index 6cd1925df..b20aa9180 100644
--- a/ppd/hpcups/hp-officejet_4300_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4400_k410.ppd.gz b/ppd/hpcups/hp-officejet_4400_k410.ppd.gz
index cf4fcc720..55afd3d45 100644
--- a/ppd/hpcups/hp-officejet_4400_k410.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4400_k410.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4500_g510a-f.ppd.gz b/ppd/hpcups/hp-officejet_4500_g510a-f.ppd.gz
index 1fc784b14..bc4e1f2ed 100644
--- a/ppd/hpcups/hp-officejet_4500_g510a-f.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4500_g510a-f.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4500_g510g-m.ppd.gz b/ppd/hpcups/hp-officejet_4500_g510g-m.ppd.gz
index 585c1917d..30c700484 100644
--- a/ppd/hpcups/hp-officejet_4500_g510g-m.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4500_g510g-m.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4500_g510n-z.ppd.gz b/ppd/hpcups/hp-officejet_4500_g510n-z.ppd.gz
index 55221e7da..915e693af 100644
--- a/ppd/hpcups/hp-officejet_4500_g510n-z.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4500_g510n-z.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_4500_k710.ppd.gz b/ppd/hpcups/hp-officejet_4500_k710.ppd.gz
index 65ca3eca5..e4b8bf3a2 100644
--- a/ppd/hpcups/hp-officejet_4500_k710.ppd.gz
+++ b/ppd/hpcups/hp-officejet_4500_k710.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_5100_series.ppd.gz b/ppd/hpcups/hp-officejet_5100_series.ppd.gz
index a45fb49b3..5c508054a 100644
--- a/ppd/hpcups/hp-officejet_5100_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_5100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_5105.ppd.gz b/ppd/hpcups/hp-officejet_5105.ppd.gz
index fee0b002d..989f1a50b 100644
--- a/ppd/hpcups/hp-officejet_5105.ppd.gz
+++ b/ppd/hpcups/hp-officejet_5105.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_5110.ppd.gz b/ppd/hpcups/hp-officejet_5110.ppd.gz
index 68c9537cb..05129d6a0 100644
--- a/ppd/hpcups/hp-officejet_5110.ppd.gz
+++ b/ppd/hpcups/hp-officejet_5110.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_5110v.ppd.gz b/ppd/hpcups/hp-officejet_5110v.ppd.gz
index 42c6fab8c..e9639c614 100644
--- a/ppd/hpcups/hp-officejet_5110v.ppd.gz
+++ b/ppd/hpcups/hp-officejet_5110v.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_5500_series.ppd.gz b/ppd/hpcups/hp-officejet_5500_series.ppd.gz
index 4866f31af..bb0f3ff59 100644
--- a/ppd/hpcups/hp-officejet_5500_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_5500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_5600_series.ppd.gz b/ppd/hpcups/hp-officejet_5600_series.ppd.gz
index 57b1ef67d..6b7c3f525 100644
--- a/ppd/hpcups/hp-officejet_5600_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_5600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6000_e609a.ppd.gz b/ppd/hpcups/hp-officejet_6000_e609a.ppd.gz
index 08fc77548..ebd2152c5 100644
--- a/ppd/hpcups/hp-officejet_6000_e609a.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6000_e609a.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6000_e609n.ppd.gz b/ppd/hpcups/hp-officejet_6000_e609n.ppd.gz
index 4dd714cff..b24244bf3 100644
--- a/ppd/hpcups/hp-officejet_6000_e609n.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6000_e609n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6100.ppd.gz b/ppd/hpcups/hp-officejet_6100.ppd.gz
new file mode 100644
index 000000000..dfc2b6cb2
--- /dev/null
+++ b/ppd/hpcups/hp-officejet_6100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6100_series.ppd.gz b/ppd/hpcups/hp-officejet_6100_series.ppd.gz
index 841b53882..de8410f8e 100644
--- a/ppd/hpcups/hp-officejet_6100_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6150_series.ppd.gz b/ppd/hpcups/hp-officejet_6150_series.ppd.gz
index 557805936..437d52765 100644
--- a/ppd/hpcups/hp-officejet_6150_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6150_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6200_series.ppd.gz b/ppd/hpcups/hp-officejet_6200_series.ppd.gz
index 1bb5887d0..cbb905b80 100644
--- a/ppd/hpcups/hp-officejet_6200_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6300_series.ppd.gz b/ppd/hpcups/hp-officejet_6300_series.ppd.gz
index 7f06b32ee..a2fe15cc2 100644
--- a/ppd/hpcups/hp-officejet_6300_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6500_e709a.ppd.gz b/ppd/hpcups/hp-officejet_6500_e709a.ppd.gz
index b4c5d44e7..adc4ddcc4 100644
--- a/ppd/hpcups/hp-officejet_6500_e709a.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6500_e709a.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6500_e709n.ppd.gz b/ppd/hpcups/hp-officejet_6500_e709n.ppd.gz
index 768e2ed62..51a336e1b 100644
--- a/ppd/hpcups/hp-officejet_6500_e709n.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6500_e709n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz b/ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz
index 890789764..08d08fcae 100644
--- a/ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz b/ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz
index fd0cb1423..c1bfff30e 100644
--- a/ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz
+++ b/ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6600.ppd.gz b/ppd/hpcups/hp-officejet_6600.ppd.gz
new file mode 100644
index 000000000..4ba628edf
--- /dev/null
+++ b/ppd/hpcups/hp-officejet_6600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_6700.ppd.gz b/ppd/hpcups/hp-officejet_6700.ppd.gz
new file mode 100644
index 000000000..945b41acb
--- /dev/null
+++ b/ppd/hpcups/hp-officejet_6700.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_7000_e809a.ppd.gz b/ppd/hpcups/hp-officejet_7000_e809a.ppd.gz
index 4437889b5..c3cd9d780 100644
--- a/ppd/hpcups/hp-officejet_7000_e809a.ppd.gz
+++ b/ppd/hpcups/hp-officejet_7000_e809a.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz b/ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz
index 5dc207a76..287a13164 100644
--- a/ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_7100_series.ppd.gz b/ppd/hpcups/hp-officejet_7100_series.ppd.gz
index 658b8bb0d..05161eaf4 100644
--- a/ppd/hpcups/hp-officejet_7100_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_7100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_7200_series.ppd.gz b/ppd/hpcups/hp-officejet_7200_series.ppd.gz
index 76fed274e..63473e49f 100644
--- a/ppd/hpcups/hp-officejet_7200_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_7200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_7300_series.ppd.gz b/ppd/hpcups/hp-officejet_7300_series.ppd.gz
index 2499b1cc9..638da9a75 100644
--- a/ppd/hpcups/hp-officejet_7300_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_7300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_7400_series.ppd.gz b/ppd/hpcups/hp-officejet_7400_series.ppd.gz
index 6641246a9..b67180d86 100644
--- a/ppd/hpcups/hp-officejet_7400_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_7400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_7500_e910.ppd.gz b/ppd/hpcups/hp-officejet_7500_e910.ppd.gz
index 9c6909cd4..302edc008 100644
--- a/ppd/hpcups/hp-officejet_7500_e910.ppd.gz
+++ b/ppd/hpcups/hp-officejet_7500_e910.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz b/ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz
index 447f39576..01a804829 100644
--- a/ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz
+++ b/ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_d_series.ppd.gz b/ppd/hpcups/hp-officejet_d_series.ppd.gz
index d7941bd20..85b43f38a 100644
--- a/ppd/hpcups/hp-officejet_d_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_d_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_g55.ppd.gz b/ppd/hpcups/hp-officejet_g55.ppd.gz
index f19409110..687b32cac 100644
--- a/ppd/hpcups/hp-officejet_g55.ppd.gz
+++ b/ppd/hpcups/hp-officejet_g55.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_g55xi.ppd.gz b/ppd/hpcups/hp-officejet_g55xi.ppd.gz
index f3d36fd29..27edfcab9 100644
--- a/ppd/hpcups/hp-officejet_g55xi.ppd.gz
+++ b/ppd/hpcups/hp-officejet_g55xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_g85.ppd.gz b/ppd/hpcups/hp-officejet_g85.ppd.gz
index ee2a0d61a..0b2432c80 100644
--- a/ppd/hpcups/hp-officejet_g85.ppd.gz
+++ b/ppd/hpcups/hp-officejet_g85.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_g85xi.ppd.gz b/ppd/hpcups/hp-officejet_g85xi.ppd.gz
index ea0dba695..881801499 100644
--- a/ppd/hpcups/hp-officejet_g85xi.ppd.gz
+++ b/ppd/hpcups/hp-officejet_g85xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_g95.ppd.gz b/ppd/hpcups/hp-officejet_g95.ppd.gz
index f082b435d..2ff75006b 100644
--- a/ppd/hpcups/hp-officejet_g95.ppd.gz
+++ b/ppd/hpcups/hp-officejet_g95.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_h470.ppd.gz b/ppd/hpcups/hp-officejet_h470.ppd.gz
index 1f3175eb6..05e1c3779 100644
--- a/ppd/hpcups/hp-officejet_h470.ppd.gz
+++ b/ppd/hpcups/hp-officejet_h470.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_j3500_series.ppd.gz b/ppd/hpcups/hp-officejet_j3500_series.ppd.gz
index 45ba7d859..203c8b946 100644
--- a/ppd/hpcups/hp-officejet_j3500_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_j3500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_j3600_series.ppd.gz b/ppd/hpcups/hp-officejet_j3600_series.ppd.gz
index 39d49a93d..1b0952dad 100644
--- a/ppd/hpcups/hp-officejet_j3600_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_j3600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_j4500_series.ppd.gz b/ppd/hpcups/hp-officejet_j4500_series.ppd.gz
index 6364fd680..edcc15dd7 100644
--- a/ppd/hpcups/hp-officejet_j4500_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_j4500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_j4660_series.ppd.gz b/ppd/hpcups/hp-officejet_j4660_series.ppd.gz
index 293f33089..05069ad21 100644
--- a/ppd/hpcups/hp-officejet_j4660_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_j4660_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_j4680_series.ppd.gz b/ppd/hpcups/hp-officejet_j4680_series.ppd.gz
index 032b89a75..98b214e00 100644
--- a/ppd/hpcups/hp-officejet_j4680_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_j4680_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_j5500_series.ppd.gz b/ppd/hpcups/hp-officejet_j5500_series.ppd.gz
index ea0e2097e..774855bd1 100644
--- a/ppd/hpcups/hp-officejet_j5500_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_j5500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_j5700_series.ppd.gz b/ppd/hpcups/hp-officejet_j5700_series.ppd.gz
index 178126faf..7db447195 100644
--- a/ppd/hpcups/hp-officejet_j5700_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_j5700_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_j6400_series.ppd.gz b/ppd/hpcups/hp-officejet_j6400_series.ppd.gz
index 602d135cf..cea12fa3a 100644
--- a/ppd/hpcups/hp-officejet_j6400_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_j6400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_k60.ppd.gz b/ppd/hpcups/hp-officejet_k60.ppd.gz
index fa1678e06..d285b037c 100644
--- a/ppd/hpcups/hp-officejet_k60.ppd.gz
+++ b/ppd/hpcups/hp-officejet_k60.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_k60xi.ppd.gz b/ppd/hpcups/hp-officejet_k60xi.ppd.gz
index 90fe69f34..8f938ec79 100644
--- a/ppd/hpcups/hp-officejet_k60xi.ppd.gz
+++ b/ppd/hpcups/hp-officejet_k60xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_k7100.ppd.gz b/ppd/hpcups/hp-officejet_k7100.ppd.gz
index a6aa5be68..41ec2200a 100644
--- a/ppd/hpcups/hp-officejet_k7100.ppd.gz
+++ b/ppd/hpcups/hp-officejet_k7100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_k80.ppd.gz b/ppd/hpcups/hp-officejet_k80.ppd.gz
index bb17d1cc7..bb1d6ba4a 100644
--- a/ppd/hpcups/hp-officejet_k80.ppd.gz
+++ b/ppd/hpcups/hp-officejet_k80.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_k80xi.ppd.gz b/ppd/hpcups/hp-officejet_k80xi.ppd.gz
index 5f7d7058b..c1e86b4bc 100644
--- a/ppd/hpcups/hp-officejet_k80xi.ppd.gz
+++ b/ppd/hpcups/hp-officejet_k80xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_lx.ppd.gz b/ppd/hpcups/hp-officejet_lx.ppd.gz
index 044120f77..385466a95 100644
--- a/ppd/hpcups/hp-officejet_lx.ppd.gz
+++ b/ppd/hpcups/hp-officejet_lx.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_1150c.ppd.gz b/ppd/hpcups/hp-officejet_pro_1150c.ppd.gz
index 21592aebf..1b1e227c8 100644
--- a/ppd/hpcups/hp-officejet_pro_1150c.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_1150c.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz b/ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz
index 3bf24a536..543ea3486 100644
--- a/ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz b/ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz
index 8d0691f79..7ab18e6a0 100644
--- a/ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_8100.ppd.gz b/ppd/hpcups/hp-officejet_pro_8100.ppd.gz
index 452829ece..a53c58bb1 100644
--- a/ppd/hpcups/hp-officejet_pro_8100.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_8100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz b/ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz
index f58b17009..18ad0ff78 100644
--- a/ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_8500_a909g.ppd.gz b/ppd/hpcups/hp-officejet_pro_8500_a909g.ppd.gz
index 544bad475..d7fb05f74 100644
--- a/ppd/hpcups/hp-officejet_pro_8500_a909g.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_8500_a909g.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_8500_a909n.ppd.gz b/ppd/hpcups/hp-officejet_pro_8500_a909n.ppd.gz
index 8ff5be465..724040204 100644
--- a/ppd/hpcups/hp-officejet_pro_8500_a909n.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_8500_a909n.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_8500_a910.ppd.gz b/ppd/hpcups/hp-officejet_pro_8500_a910.ppd.gz
index 38254a39a..ff9c4e382 100644
--- a/ppd/hpcups/hp-officejet_pro_8500_a910.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_8500_a910.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_8600.ppd.gz b/ppd/hpcups/hp-officejet_pro_8600.ppd.gz
index f5e35cad8..586863bab 100644
--- a/ppd/hpcups/hp-officejet_pro_8600.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_8600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_k5300.ppd.gz b/ppd/hpcups/hp-officejet_pro_k5300.ppd.gz
index 1a97e528f..989179067 100644
--- a/ppd/hpcups/hp-officejet_pro_k5300.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_k5300.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_k5400.ppd.gz b/ppd/hpcups/hp-officejet_pro_k5400.ppd.gz
index 39e1b04aa..008c85eb7 100644
--- a/ppd/hpcups/hp-officejet_pro_k5400.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_k5400.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_k550.ppd.gz b/ppd/hpcups/hp-officejet_pro_k550.ppd.gz
index f16daadc2..4cc1e6b02 100644
--- a/ppd/hpcups/hp-officejet_pro_k550.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_k550.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_k850.ppd.gz b/ppd/hpcups/hp-officejet_pro_k850.ppd.gz
index 84b61a4ac..4e7a44280 100644
--- a/ppd/hpcups/hp-officejet_pro_k850.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_k850.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_k8600.ppd.gz b/ppd/hpcups/hp-officejet_pro_k8600.ppd.gz
index 638e33c15..2b906bcad 100644
--- a/ppd/hpcups/hp-officejet_pro_k8600.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_k8600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_l7300.ppd.gz b/ppd/hpcups/hp-officejet_pro_l7300.ppd.gz
index e1dfe6dfb..be03739a9 100644
--- a/ppd/hpcups/hp-officejet_pro_l7300.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_l7300.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_l7400.ppd.gz b/ppd/hpcups/hp-officejet_pro_l7400.ppd.gz
index e91b2df5f..6495eb59d 100644
--- a/ppd/hpcups/hp-officejet_pro_l7400.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_l7400.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_l7500.ppd.gz b/ppd/hpcups/hp-officejet_pro_l7500.ppd.gz
index 159787751..9a8c7f4c2 100644
--- a/ppd/hpcups/hp-officejet_pro_l7500.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_l7500.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_l7600.ppd.gz b/ppd/hpcups/hp-officejet_pro_l7600.ppd.gz
index d6dfc4b8d..a1f71ce98 100644
--- a/ppd/hpcups/hp-officejet_pro_l7600.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_l7600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_pro_l7700.ppd.gz b/ppd/hpcups/hp-officejet_pro_l7700.ppd.gz
index 8fdf06791..0bf5c4595 100644
--- a/ppd/hpcups/hp-officejet_pro_l7700.ppd.gz
+++ b/ppd/hpcups/hp-officejet_pro_l7700.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_r40.ppd.gz b/ppd/hpcups/hp-officejet_r40.ppd.gz
index b6f56744b..c9e2f8fa7 100644
--- a/ppd/hpcups/hp-officejet_r40.ppd.gz
+++ b/ppd/hpcups/hp-officejet_r40.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_r40xi.ppd.gz b/ppd/hpcups/hp-officejet_r40xi.ppd.gz
index a0c51f5eb..9fe33ac00 100644
--- a/ppd/hpcups/hp-officejet_r40xi.ppd.gz
+++ b/ppd/hpcups/hp-officejet_r40xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_r45.ppd.gz b/ppd/hpcups/hp-officejet_r45.ppd.gz
index 3081c0f15..990cb26e8 100644
--- a/ppd/hpcups/hp-officejet_r45.ppd.gz
+++ b/ppd/hpcups/hp-officejet_r45.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_r60.ppd.gz b/ppd/hpcups/hp-officejet_r60.ppd.gz
index e563356d1..fd13e753d 100644
--- a/ppd/hpcups/hp-officejet_r60.ppd.gz
+++ b/ppd/hpcups/hp-officejet_r60.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_r65.ppd.gz b/ppd/hpcups/hp-officejet_r65.ppd.gz
index e711af7eb..57de8caa8 100644
--- a/ppd/hpcups/hp-officejet_r65.ppd.gz
+++ b/ppd/hpcups/hp-officejet_r65.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_r80.ppd.gz b/ppd/hpcups/hp-officejet_r80.ppd.gz
index 4ebe85461..6ada7bf1c 100644
--- a/ppd/hpcups/hp-officejet_r80.ppd.gz
+++ b/ppd/hpcups/hp-officejet_r80.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_r80xi.ppd.gz b/ppd/hpcups/hp-officejet_r80xi.ppd.gz
index 3ff4e3c16..335f40887 100644
--- a/ppd/hpcups/hp-officejet_r80xi.ppd.gz
+++ b/ppd/hpcups/hp-officejet_r80xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_300.ppd.gz b/ppd/hpcups/hp-officejet_series_300.ppd.gz
index b24d3d7a5..64a281367 100644
--- a/ppd/hpcups/hp-officejet_series_300.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_300.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_310.ppd.gz b/ppd/hpcups/hp-officejet_series_310.ppd.gz
index b7e30090e..33586516b 100644
--- a/ppd/hpcups/hp-officejet_series_310.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_310.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_320.ppd.gz b/ppd/hpcups/hp-officejet_series_320.ppd.gz
index e0119a95a..f064a8554 100644
--- a/ppd/hpcups/hp-officejet_series_320.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_320.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_330.ppd.gz b/ppd/hpcups/hp-officejet_series_330.ppd.gz
index b61de29f0..b17432fd0 100644
--- a/ppd/hpcups/hp-officejet_series_330.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_330.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_350.ppd.gz b/ppd/hpcups/hp-officejet_series_350.ppd.gz
index c67b2582c..0fdff5ee6 100644
--- a/ppd/hpcups/hp-officejet_series_350.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_350.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_500.ppd.gz b/ppd/hpcups/hp-officejet_series_500.ppd.gz
deleted file mode 100644
index edd1912e7..000000000
--- a/ppd/hpcups/hp-officejet_series_500.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_520.ppd.gz b/ppd/hpcups/hp-officejet_series_520.ppd.gz
index c3ca1aa53..4468932be 100644
--- a/ppd/hpcups/hp-officejet_series_520.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_520.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_570.ppd.gz b/ppd/hpcups/hp-officejet_series_570.ppd.gz
index e61d3c775..c2ae337c9 100644
--- a/ppd/hpcups/hp-officejet_series_570.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_570.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_580.ppd.gz b/ppd/hpcups/hp-officejet_series_580.ppd.gz
index 3856ed8b6..35e138e40 100644
--- a/ppd/hpcups/hp-officejet_series_580.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_580.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_590.ppd.gz b/ppd/hpcups/hp-officejet_series_590.ppd.gz
index 17224740f..b8749b5c5 100644
--- a/ppd/hpcups/hp-officejet_series_590.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_590.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_600.ppd.gz b/ppd/hpcups/hp-officejet_series_600.ppd.gz
index aba223f33..19aacc5d5 100644
--- a/ppd/hpcups/hp-officejet_series_600.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_600.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_610.ppd.gz b/ppd/hpcups/hp-officejet_series_610.ppd.gz
index ebdb57bb6..985bffc43 100644
--- a/ppd/hpcups/hp-officejet_series_610.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_610.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_630.ppd.gz b/ppd/hpcups/hp-officejet_series_630.ppd.gz
index b0fe28cdf..e42d22d6f 100644
--- a/ppd/hpcups/hp-officejet_series_630.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_630.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_700.ppd.gz b/ppd/hpcups/hp-officejet_series_700.ppd.gz
index 9a51d90a2..bf2efbe9c 100644
--- a/ppd/hpcups/hp-officejet_series_700.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_700.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_710.ppd.gz b/ppd/hpcups/hp-officejet_series_710.ppd.gz
index 36a7472d0..53cc73fd5 100644
--- a/ppd/hpcups/hp-officejet_series_710.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_710.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_720.ppd.gz b/ppd/hpcups/hp-officejet_series_720.ppd.gz
index 0e85671ad..ebd1f1325 100644
--- a/ppd/hpcups/hp-officejet_series_720.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_720.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_series_725.ppd.gz b/ppd/hpcups/hp-officejet_series_725.ppd.gz
index bc47f8485..884abe1c2 100644
--- a/ppd/hpcups/hp-officejet_series_725.ppd.gz
+++ b/ppd/hpcups/hp-officejet_series_725.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_t_series.ppd.gz b/ppd/hpcups/hp-officejet_t_series.ppd.gz
index 9fbe5e7e0..40b799941 100644
--- a/ppd/hpcups/hp-officejet_t_series.ppd.gz
+++ b/ppd/hpcups/hp-officejet_t_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_v30.ppd.gz b/ppd/hpcups/hp-officejet_v30.ppd.gz
index 32117fa8a..ff8867a7e 100644
--- a/ppd/hpcups/hp-officejet_v30.ppd.gz
+++ b/ppd/hpcups/hp-officejet_v30.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_v40.ppd.gz b/ppd/hpcups/hp-officejet_v40.ppd.gz
index 8e7b01edd..08f22b887 100644
--- a/ppd/hpcups/hp-officejet_v40.ppd.gz
+++ b/ppd/hpcups/hp-officejet_v40.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_v40xi.ppd.gz b/ppd/hpcups/hp-officejet_v40xi.ppd.gz
index 2e1786dff..e6065b293 100644
--- a/ppd/hpcups/hp-officejet_v40xi.ppd.gz
+++ b/ppd/hpcups/hp-officejet_v40xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-officejet_v45.ppd.gz b/ppd/hpcups/hp-officejet_v45.ppd.gz
index f9e5d5522..7734d87c5 100644
--- a/ppd/hpcups/hp-officejet_v45.ppd.gz
+++ b/ppd/hpcups/hp-officejet_v45.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_100.ppd.gz b/ppd/hpcups/hp-photosmart_100.ppd.gz
index 6b4349178..6fe1a8588 100644
--- a/ppd/hpcups/hp-photosmart_100.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_1115.ppd.gz b/ppd/hpcups/hp-photosmart_1115.ppd.gz
index 3bcb50cd5..6f82bd3a0 100644
--- a/ppd/hpcups/hp-photosmart_1115.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_1115.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_1215.ppd.gz b/ppd/hpcups/hp-photosmart_1215.ppd.gz
index 7116800a4..8db59436a 100644
--- a/ppd/hpcups/hp-photosmart_1215.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_1215.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_1218.ppd.gz b/ppd/hpcups/hp-photosmart_1218.ppd.gz
index c681c0289..01d399a37 100644
--- a/ppd/hpcups/hp-photosmart_1218.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_1218.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_130.ppd.gz b/ppd/hpcups/hp-photosmart_130.ppd.gz
index 0a98b31ae..eee71c57b 100644
--- a/ppd/hpcups/hp-photosmart_130.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_130.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_1315.ppd.gz b/ppd/hpcups/hp-photosmart_1315.ppd.gz
index 69e70a0e7..c09fdeedc 100644
--- a/ppd/hpcups/hp-photosmart_1315.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_1315.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_140_series.ppd.gz b/ppd/hpcups/hp-photosmart_140_series.ppd.gz
index 573b3b0ae..5a2e51d9c 100644
--- a/ppd/hpcups/hp-photosmart_140_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_140_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_230.ppd.gz b/ppd/hpcups/hp-photosmart_230.ppd.gz
index f5330e5db..ed5ceb654 100644
--- a/ppd/hpcups/hp-photosmart_230.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_230.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_240_series.ppd.gz b/ppd/hpcups/hp-photosmart_240_series.ppd.gz
index 3e83b0a8d..9ad077926 100644
--- a/ppd/hpcups/hp-photosmart_240_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_240_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_2570_series.ppd.gz b/ppd/hpcups/hp-photosmart_2570_series.ppd.gz
index 8a4ce3404..102d64e94 100644
--- a/ppd/hpcups/hp-photosmart_2570_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_2570_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_2600_series.ppd.gz b/ppd/hpcups/hp-photosmart_2600_series.ppd.gz
index ce76bc52a..2d28ec874 100644
--- a/ppd/hpcups/hp-photosmart_2600_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_2600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_2700_series.ppd.gz b/ppd/hpcups/hp-photosmart_2700_series.ppd.gz
index c2219bec7..eea5f16f3 100644
--- a/ppd/hpcups/hp-photosmart_2700_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_2700_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_3100_series.ppd.gz b/ppd/hpcups/hp-photosmart_3100_series.ppd.gz
index 252644e8e..e1b92e409 100644
--- a/ppd/hpcups/hp-photosmart_3100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_3100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_3200_series.ppd.gz b/ppd/hpcups/hp-photosmart_3200_series.ppd.gz
index 6b842cfe7..4f490b17b 100644
--- a/ppd/hpcups/hp-photosmart_3200_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_3200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_320_series.ppd.gz b/ppd/hpcups/hp-photosmart_320_series.ppd.gz
index 0e440ffbd..a5a07c1c9 100644
--- a/ppd/hpcups/hp-photosmart_320_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_320_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_3300_series.ppd.gz b/ppd/hpcups/hp-photosmart_3300_series.ppd.gz
index b9a7fe0f2..9209323d1 100644
--- a/ppd/hpcups/hp-photosmart_3300_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_3300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_330_series.ppd.gz b/ppd/hpcups/hp-photosmart_330_series.ppd.gz
index 59fb34ba8..b0185462f 100644
--- a/ppd/hpcups/hp-photosmart_330_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_330_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_370_series.ppd.gz b/ppd/hpcups/hp-photosmart_370_series.ppd.gz
index c89adb07e..b98f3adef 100644
--- a/ppd/hpcups/hp-photosmart_370_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_370_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_380_series.ppd.gz b/ppd/hpcups/hp-photosmart_380_series.ppd.gz
index 9e0c053b1..e4e2fb3e4 100644
--- a/ppd/hpcups/hp-photosmart_380_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_380_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_420_series.ppd.gz b/ppd/hpcups/hp-photosmart_420_series.ppd.gz
index 540701bbb..25fcb85d2 100644
--- a/ppd/hpcups/hp-photosmart_420_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_420_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_470_series.ppd.gz b/ppd/hpcups/hp-photosmart_470_series.ppd.gz
index a31c0cbfc..dedde91e1 100644
--- a/ppd/hpcups/hp-photosmart_470_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_470_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_5510_series.ppd.gz b/ppd/hpcups/hp-photosmart_5510_series.ppd.gz
index e0c798198..eae4bd81e 100644
--- a/ppd/hpcups/hp-photosmart_5510_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_5510_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_5510d_series.ppd.gz b/ppd/hpcups/hp-photosmart_5510d_series.ppd.gz
index 95080547d..df69dccc3 100644
--- a/ppd/hpcups/hp-photosmart_5510d_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_5510d_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_6510_series.ppd.gz b/ppd/hpcups/hp-photosmart_6510_series.ppd.gz
index 21e388dbc..cb6e24988 100644
--- a/ppd/hpcups/hp-photosmart_6510_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_6510_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7150.ppd.gz b/ppd/hpcups/hp-photosmart_7150.ppd.gz
index 18275ed5d..674308297 100644
--- a/ppd/hpcups/hp-photosmart_7150.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7150.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7200_series.ppd.gz b/ppd/hpcups/hp-photosmart_7200_series.ppd.gz
index 4e87c56cc..47fa42b1f 100644
--- a/ppd/hpcups/hp-photosmart_7200_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7345.ppd.gz b/ppd/hpcups/hp-photosmart_7345.ppd.gz
index 7cf160ecd..c3b446393 100644
--- a/ppd/hpcups/hp-photosmart_7345.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7345.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7350.ppd.gz b/ppd/hpcups/hp-photosmart_7350.ppd.gz
index 1c48d3a42..16a075e6d 100644
--- a/ppd/hpcups/hp-photosmart_7350.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7350.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7400_series.ppd.gz b/ppd/hpcups/hp-photosmart_7400_series.ppd.gz
index dbcb516ff..85dcd4d93 100644
--- a/ppd/hpcups/hp-photosmart_7400_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7510_series.ppd.gz b/ppd/hpcups/hp-photosmart_7510_series.ppd.gz
index 772396daf..86ebc626c 100644
--- a/ppd/hpcups/hp-photosmart_7510_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7510_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7550.ppd.gz b/ppd/hpcups/hp-photosmart_7550.ppd.gz
index 0dc3dab7e..46f4765b0 100644
--- a/ppd/hpcups/hp-photosmart_7550.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7550.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7600_series.ppd.gz b/ppd/hpcups/hp-photosmart_7600_series.ppd.gz
index dd2e4917c..6059b2469 100644
--- a/ppd/hpcups/hp-photosmart_7600_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7700_series.ppd.gz b/ppd/hpcups/hp-photosmart_7700_series.ppd.gz
index 5790552d0..37a5a00fd 100644
--- a/ppd/hpcups/hp-photosmart_7700_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7700_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7800_series.ppd.gz b/ppd/hpcups/hp-photosmart_7800_series.ppd.gz
index 59563d226..4a1a4ac23 100644
--- a/ppd/hpcups/hp-photosmart_7800_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7800_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_7900_series.ppd.gz b/ppd/hpcups/hp-photosmart_7900_series.ppd.gz
index 7505077cf..27d20f3ea 100644
--- a/ppd/hpcups/hp-photosmart_7900_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_7900_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_8000_series.ppd.gz b/ppd/hpcups/hp-photosmart_8000_series.ppd.gz
index 595f064c4..c464af72b 100644
--- a/ppd/hpcups/hp-photosmart_8000_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_8000_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_8100_series.ppd.gz b/ppd/hpcups/hp-photosmart_8100_series.ppd.gz
index 069ae960f..740d6d66a 100644
--- a/ppd/hpcups/hp-photosmart_8100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_8100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_8200_series.ppd.gz b/ppd/hpcups/hp-photosmart_8200_series.ppd.gz
index 1478388ba..776795e7f 100644
--- a/ppd/hpcups/hp-photosmart_8200_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_8200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_8400_series.ppd.gz b/ppd/hpcups/hp-photosmart_8400_series.ppd.gz
index 25f4a1e90..187e2d29e 100644
--- a/ppd/hpcups/hp-photosmart_8400_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_8400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_8700_series.ppd.gz b/ppd/hpcups/hp-photosmart_8700_series.ppd.gz
index d4cade48f..6ef81a8b5 100644
--- a/ppd/hpcups/hp-photosmart_8700_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_8700_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a310_series.ppd.gz b/ppd/hpcups/hp-photosmart_a310_series.ppd.gz
index b3a101c85..8981de33b 100644
--- a/ppd/hpcups/hp-photosmart_a310_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a310_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a320_series.ppd.gz b/ppd/hpcups/hp-photosmart_a320_series.ppd.gz
index 2d67ef4aa..c940c2bd2 100644
--- a/ppd/hpcups/hp-photosmart_a320_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a320_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a430_series.ppd.gz b/ppd/hpcups/hp-photosmart_a430_series.ppd.gz
index c1e800589..db0bf16ff 100644
--- a/ppd/hpcups/hp-photosmart_a430_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a430_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a440_series.ppd.gz b/ppd/hpcups/hp-photosmart_a440_series.ppd.gz
index dfa096813..efe044422 100644
--- a/ppd/hpcups/hp-photosmart_a440_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a440_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a510_series.ppd.gz b/ppd/hpcups/hp-photosmart_a510_series.ppd.gz
index 48832bf06..6272e5f02 100644
--- a/ppd/hpcups/hp-photosmart_a510_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a510_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a520_series.ppd.gz b/ppd/hpcups/hp-photosmart_a520_series.ppd.gz
index f7057e21c..92e8125cf 100644
--- a/ppd/hpcups/hp-photosmart_a520_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a520_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a530_series.ppd.gz b/ppd/hpcups/hp-photosmart_a530_series.ppd.gz
index f580e7e2b..b72d89cd5 100644
--- a/ppd/hpcups/hp-photosmart_a530_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a530_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a610_series.ppd.gz b/ppd/hpcups/hp-photosmart_a610_series.ppd.gz
index d4a466dab..35a26a03c 100644
--- a/ppd/hpcups/hp-photosmart_a610_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a610_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a620_series.ppd.gz b/ppd/hpcups/hp-photosmart_a620_series.ppd.gz
index 926e439b2..b3a5c867c 100644
--- a/ppd/hpcups/hp-photosmart_a620_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a620_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a630_series.ppd.gz b/ppd/hpcups/hp-photosmart_a630_series.ppd.gz
index 45802c033..49d60265f 100644
--- a/ppd/hpcups/hp-photosmart_a630_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a630_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a640_series.ppd.gz b/ppd/hpcups/hp-photosmart_a640_series.ppd.gz
index 304e2b724..903ac6c2c 100644
--- a/ppd/hpcups/hp-photosmart_a640_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a640_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a710_series.ppd.gz b/ppd/hpcups/hp-photosmart_a710_series.ppd.gz
index 969eda96a..d916f56f3 100644
--- a/ppd/hpcups/hp-photosmart_a710_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a710_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_a820_series.ppd.gz b/ppd/hpcups/hp-photosmart_a820_series.ppd.gz
index 4ccc7af16..50edf9238 100644
--- a/ppd/hpcups/hp-photosmart_a820_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_a820_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_b010_series.ppd.gz b/ppd/hpcups/hp-photosmart_b010_series.ppd.gz
index 2f40f6871..1e64d68fd 100644
--- a/ppd/hpcups/hp-photosmart_b010_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_b010_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_b109a-m.ppd.gz b/ppd/hpcups/hp-photosmart_b109a-m.ppd.gz
index f20eb720a..bf2a2ac49 100644
--- a/ppd/hpcups/hp-photosmart_b109a-m.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_b109a-m.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_b109a_series.ppd.gz b/ppd/hpcups/hp-photosmart_b109a_series.ppd.gz
index 7c1358585..9efa85f98 100644
--- a/ppd/hpcups/hp-photosmart_b109a_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_b109a_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_b110_series.ppd.gz b/ppd/hpcups/hp-photosmart_b110_series.ppd.gz
index 173402a5b..a24d31cc3 100644
--- a/ppd/hpcups/hp-photosmart_b110_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_b110_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_b8500_series.ppd.gz b/ppd/hpcups/hp-photosmart_b8500_series.ppd.gz
index a3565c581..d1a87f82c 100644
--- a/ppd/hpcups/hp-photosmart_b8500_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_b8500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c309a_series.ppd.gz b/ppd/hpcups/hp-photosmart_c309a_series.ppd.gz
index 3c58c7c57..c6da61c61 100644
--- a/ppd/hpcups/hp-photosmart_c309a_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c309a_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c3100_series.ppd.gz b/ppd/hpcups/hp-photosmart_c3100_series.ppd.gz
index 664a1721d..1c0f35bf7 100644
--- a/ppd/hpcups/hp-photosmart_c3100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c3100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c4100_series.ppd.gz b/ppd/hpcups/hp-photosmart_c4100_series.ppd.gz
index 79707cdd4..a15148c10 100644
--- a/ppd/hpcups/hp-photosmart_c4100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c4100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c4200_series.ppd.gz b/ppd/hpcups/hp-photosmart_c4200_series.ppd.gz
index fda0fd900..58418bf1f 100644
--- a/ppd/hpcups/hp-photosmart_c4200_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c4200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c4340_series.ppd.gz b/ppd/hpcups/hp-photosmart_c4340_series.ppd.gz
index 4e0d846f4..d77b3c6f1 100644
--- a/ppd/hpcups/hp-photosmart_c4340_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c4340_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c4380_series.ppd.gz b/ppd/hpcups/hp-photosmart_c4380_series.ppd.gz
index ec43c80fd..59cecda16 100644
--- a/ppd/hpcups/hp-photosmart_c4380_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c4380_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c4400_series.ppd.gz b/ppd/hpcups/hp-photosmart_c4400_series.ppd.gz
index 0b7aee4fd..5ae192c45 100644
--- a/ppd/hpcups/hp-photosmart_c4400_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c4400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c4500_series.ppd.gz b/ppd/hpcups/hp-photosmart_c4500_series.ppd.gz
index a88a7dbec..0b1bd5740 100644
--- a/ppd/hpcups/hp-photosmart_c4500_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c4500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c4600_series.ppd.gz b/ppd/hpcups/hp-photosmart_c4600_series.ppd.gz
index ac03f24a4..d6b75b506 100644
--- a/ppd/hpcups/hp-photosmart_c4600_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c4600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c4700_series.ppd.gz b/ppd/hpcups/hp-photosmart_c4700_series.ppd.gz
index d4e8b357f..216424250 100644
--- a/ppd/hpcups/hp-photosmart_c4700_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c4700_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c5100_series.ppd.gz b/ppd/hpcups/hp-photosmart_c5100_series.ppd.gz
index f1a96f871..56ada793c 100644
--- a/ppd/hpcups/hp-photosmart_c5100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c5100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c5200_series.ppd.gz b/ppd/hpcups/hp-photosmart_c5200_series.ppd.gz
index 56cc04cf0..5fb38fb3f 100644
--- a/ppd/hpcups/hp-photosmart_c5200_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c5200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c5300_series.ppd.gz b/ppd/hpcups/hp-photosmart_c5300_series.ppd.gz
index d5b4c2f99..3768e078a 100644
--- a/ppd/hpcups/hp-photosmart_c5300_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c5300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c5500_series.ppd.gz b/ppd/hpcups/hp-photosmart_c5500_series.ppd.gz
index 5c71fad6d..ba0d9ac45 100644
--- a/ppd/hpcups/hp-photosmart_c5500_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c5500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c6100_series.ppd.gz b/ppd/hpcups/hp-photosmart_c6100_series.ppd.gz
index 261185ad0..3f8ef6ca3 100644
--- a/ppd/hpcups/hp-photosmart_c6100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c6100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c6200_series.ppd.gz b/ppd/hpcups/hp-photosmart_c6200_series.ppd.gz
index c54bc790e..70d307dc6 100644
--- a/ppd/hpcups/hp-photosmart_c6200_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c6200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c6300_series.ppd.gz b/ppd/hpcups/hp-photosmart_c6300_series.ppd.gz
index 907d896d5..11803a830 100644
--- a/ppd/hpcups/hp-photosmart_c6300_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c6300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c7100_series.ppd.gz b/ppd/hpcups/hp-photosmart_c7100_series.ppd.gz
index 9c65fdaf0..3a03d90b6 100644
--- a/ppd/hpcups/hp-photosmart_c7100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c7100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c7200_series.ppd.gz b/ppd/hpcups/hp-photosmart_c7200_series.ppd.gz
index 8f01f23a1..0241596e7 100644
--- a/ppd/hpcups/hp-photosmart_c7200_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c7200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_c8100_series.ppd.gz b/ppd/hpcups/hp-photosmart_c8100_series.ppd.gz
index ed339b722..aef3b6e0e 100644
--- a/ppd/hpcups/hp-photosmart_c8100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_c8100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d110_series.ppd.gz b/ppd/hpcups/hp-photosmart_d110_series.ppd.gz
index 6d1f61d9b..5d7085f82 100644
--- a/ppd/hpcups/hp-photosmart_d110_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d110_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d5060_series.ppd.gz b/ppd/hpcups/hp-photosmart_d5060_series.ppd.gz
index aff40be84..f86765022 100644
--- a/ppd/hpcups/hp-photosmart_d5060_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d5060_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d5100_series.ppd.gz b/ppd/hpcups/hp-photosmart_d5100_series.ppd.gz
index 5a3bef710..ddba88689 100644
--- a/ppd/hpcups/hp-photosmart_d5100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d5100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d5300_series.ppd.gz b/ppd/hpcups/hp-photosmart_d5300_series.ppd.gz
index 93ea0acac..6ff8f2fd5 100644
--- a/ppd/hpcups/hp-photosmart_d5300_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d5300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d5400_series.ppd.gz b/ppd/hpcups/hp-photosmart_d5400_series.ppd.gz
index 2de7e3712..4bac51ea9 100644
--- a/ppd/hpcups/hp-photosmart_d5400_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d5400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d6100_series.ppd.gz b/ppd/hpcups/hp-photosmart_d6100_series.ppd.gz
index 34b7f9539..e15302117 100644
--- a/ppd/hpcups/hp-photosmart_d6100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d6100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d7100_series.ppd.gz b/ppd/hpcups/hp-photosmart_d7100_series.ppd.gz
index 874eabf7a..fe1854519 100644
--- a/ppd/hpcups/hp-photosmart_d7100_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d7100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d7200_series.ppd.gz b/ppd/hpcups/hp-photosmart_d7200_series.ppd.gz
index ef56fbb07..57a09d2ae 100644
--- a/ppd/hpcups/hp-photosmart_d7200_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d7200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d7300_series.ppd.gz b/ppd/hpcups/hp-photosmart_d7300_series.ppd.gz
index 3cbb0b1eb..38ad1afce 100644
--- a/ppd/hpcups/hp-photosmart_d7300_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d7300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d7400_series.ppd.gz b/ppd/hpcups/hp-photosmart_d7400_series.ppd.gz
index bf4ff4307..59d504901 100644
--- a/ppd/hpcups/hp-photosmart_d7400_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d7400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_d7500_series.ppd.gz b/ppd/hpcups/hp-photosmart_d7500_series.ppd.gz
index 9af53e0aa..b3ab39cb3 100644
--- a/ppd/hpcups/hp-photosmart_d7500_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_d7500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_estn_c510_series.ppd.gz b/ppd/hpcups/hp-photosmart_estn_c510_series.ppd.gz
index a52a7a115..b4ae1e530 100644
--- a/ppd/hpcups/hp-photosmart_estn_c510_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_estn_c510_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_ink_adv_k510.ppd.gz b/ppd/hpcups/hp-photosmart_ink_adv_k510.ppd.gz
index 860755c5a..a554f3b44 100644
--- a/ppd/hpcups/hp-photosmart_ink_adv_k510.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_ink_adv_k510.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_p1000.ppd.gz b/ppd/hpcups/hp-photosmart_p1000.ppd.gz
index 6d1ecf2e6..6c8b1e7a1 100644
--- a/ppd/hpcups/hp-photosmart_p1000.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_p1000.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_p1100.ppd.gz b/ppd/hpcups/hp-photosmart_p1100.ppd.gz
index 9bfe806cf..39c9c0019 100644
--- a/ppd/hpcups/hp-photosmart_p1100.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_p1100.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_plus_b209a-m.ppd.gz b/ppd/hpcups/hp-photosmart_plus_b209a-m.ppd.gz
index 2a28099dc..fdc2113cc 100644
--- a/ppd/hpcups/hp-photosmart_plus_b209a-m.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_plus_b209a-m.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_plus_b210_series.ppd.gz b/ppd/hpcups/hp-photosmart_plus_b210_series.ppd.gz
index 100d6c59f..2817c78bb 100644
--- a/ppd/hpcups/hp-photosmart_plus_b210_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_plus_b210_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_prem-web_c309n-s.ppd.gz b/ppd/hpcups/hp-photosmart_prem-web_c309n-s.ppd.gz
index 4c890cc12..d5e7a5b09 100644
--- a/ppd/hpcups/hp-photosmart_prem-web_c309n-s.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_prem-web_c309n-s.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_prem_c310_series.ppd.gz b/ppd/hpcups/hp-photosmart_prem_c310_series.ppd.gz
index 7df9f5549..55d6f2770 100644
--- a/ppd/hpcups/hp-photosmart_prem_c310_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_prem_c310_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_prem_c410_series.ppd.gz b/ppd/hpcups/hp-photosmart_prem_c410_series.ppd.gz
index 77f031065..12c2191ed 100644
--- a/ppd/hpcups/hp-photosmart_prem_c410_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_prem_c410_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_premium_c309g-m.ppd.gz b/ppd/hpcups/hp-photosmart_premium_c309g-m.ppd.gz
index 2b3705b5e..325bfee37 100644
--- a/ppd/hpcups/hp-photosmart_premium_c309g-m.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_premium_c309g-m.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_pro_b8300_series.ppd.gz b/ppd/hpcups/hp-photosmart_pro_b8300_series.ppd.gz
index 81bc6146b..43c30530d 100644
--- a/ppd/hpcups/hp-photosmart_pro_b8300_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_pro_b8300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_pro_b8800_series.ppd.gz b/ppd/hpcups/hp-photosmart_pro_b8800_series.ppd.gz
index 8a7316591..e0171f298 100644
--- a/ppd/hpcups/hp-photosmart_pro_b8800_series.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_pro_b8800_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-photosmart_wireless_b109n-z.ppd.gz b/ppd/hpcups/hp-photosmart_wireless_b109n-z.ppd.gz
index 47731b511..535f28bf6 100644
--- a/ppd/hpcups/hp-photosmart_wireless_b109n-z.ppd.gz
+++ b/ppd/hpcups/hp-photosmart_wireless_b109n-z.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-printer_scanner_copier_300.ppd.gz b/ppd/hpcups/hp-printer_scanner_copier_300.ppd.gz
index 28cac5796..e8298ea88 100644
--- a/ppd/hpcups/hp-printer_scanner_copier_300.ppd.gz
+++ b/ppd/hpcups/hp-printer_scanner_copier_300.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1000_series.ppd.gz b/ppd/hpcups/hp-psc_1000_series.ppd.gz
index 61d1760ba..9c85985d7 100644
--- a/ppd/hpcups/hp-psc_1000_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1000_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1100_series.ppd.gz b/ppd/hpcups/hp-psc_1100_series.ppd.gz
index ee48c66c1..3bba84288 100644
--- a/ppd/hpcups/hp-psc_1100_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1200_series.ppd.gz b/ppd/hpcups/hp-psc_1200_series.ppd.gz
index 700439407..05f8288be 100644
--- a/ppd/hpcups/hp-psc_1200_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1300_series.ppd.gz b/ppd/hpcups/hp-psc_1300_series.ppd.gz
index a2aa74c66..93cc03bae 100644
--- a/ppd/hpcups/hp-psc_1300_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1310_series.ppd.gz b/ppd/hpcups/hp-psc_1310_series.ppd.gz
index 728039006..37238ac75 100644
--- a/ppd/hpcups/hp-psc_1310_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1310_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1358_series.ppd.gz b/ppd/hpcups/hp-psc_1358_series.ppd.gz
index 8d54de616..7dd0d86e1 100644
--- a/ppd/hpcups/hp-psc_1358_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1358_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1400_series.ppd.gz b/ppd/hpcups/hp-psc_1400_series.ppd.gz
index 775bad380..3bdd1a1d6 100644
--- a/ppd/hpcups/hp-psc_1400_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1500_series.ppd.gz b/ppd/hpcups/hp-psc_1500_series.ppd.gz
index 5086c283d..36fc10cdc 100644
--- a/ppd/hpcups/hp-psc_1500_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1510_series.ppd.gz b/ppd/hpcups/hp-psc_1510_series.ppd.gz
index 68b09e8d2..4e3d72813 100644
--- a/ppd/hpcups/hp-psc_1510_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1510_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_1600_series.ppd.gz b/ppd/hpcups/hp-psc_1600_series.ppd.gz
index a18932be7..afefbb45f 100644
--- a/ppd/hpcups/hp-psc_1600_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_1600_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2100_series.ppd.gz b/ppd/hpcups/hp-psc_2100_series.ppd.gz
index f9de4172c..470686e57 100644
--- a/ppd/hpcups/hp-psc_2100_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2100_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2150_series.ppd.gz b/ppd/hpcups/hp-psc_2150_series.ppd.gz
index c2b881178..f0c59a49a 100644
--- a/ppd/hpcups/hp-psc_2150_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2150_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2170_series.ppd.gz b/ppd/hpcups/hp-psc_2170_series.ppd.gz
index e92ec8ee0..33f7af7f6 100644
--- a/ppd/hpcups/hp-psc_2170_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2170_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2200_series.ppd.gz b/ppd/hpcups/hp-psc_2200_series.ppd.gz
index 7c2532793..f936aae33 100644
--- a/ppd/hpcups/hp-psc_2200_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2200_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2210_series.ppd.gz b/ppd/hpcups/hp-psc_2210_series.ppd.gz
index dcded1915..6b6100a8f 100644
--- a/ppd/hpcups/hp-psc_2210_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2210_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2300_series.ppd.gz b/ppd/hpcups/hp-psc_2300_series.ppd.gz
index 96008abc1..73136e134 100644
--- a/ppd/hpcups/hp-psc_2300_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2300_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2350_series.ppd.gz b/ppd/hpcups/hp-psc_2350_series.ppd.gz
index 87e390e0b..46cdd528d 100644
--- a/ppd/hpcups/hp-psc_2350_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2350_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2400_series.ppd.gz b/ppd/hpcups/hp-psc_2400_series.ppd.gz
index 05639f330..af1f88201 100644
--- a/ppd/hpcups/hp-psc_2400_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2400_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_2500_series.ppd.gz b/ppd/hpcups/hp-psc_2500_series.ppd.gz
index d53498e2b..1d258e7f2 100644
--- a/ppd/hpcups/hp-psc_2500_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_2500_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_500.ppd.gz b/ppd/hpcups/hp-psc_500.ppd.gz
index 3c5232627..c8857e7e7 100644
--- a/ppd/hpcups/hp-psc_500.ppd.gz
+++ b/ppd/hpcups/hp-psc_500.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_720.ppd.gz b/ppd/hpcups/hp-psc_720.ppd.gz
index 4c09a3d3b..fa4e86663 100644
--- a/ppd/hpcups/hp-psc_720.ppd.gz
+++ b/ppd/hpcups/hp-psc_720.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_750.ppd.gz b/ppd/hpcups/hp-psc_750.ppd.gz
index 532220498..dd057cd73 100644
--- a/ppd/hpcups/hp-psc_750.ppd.gz
+++ b/ppd/hpcups/hp-psc_750.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_750xi.ppd.gz b/ppd/hpcups/hp-psc_750xi.ppd.gz
index 3580cabc9..056704d6b 100644
--- a/ppd/hpcups/hp-psc_750xi.ppd.gz
+++ b/ppd/hpcups/hp-psc_750xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_760.ppd.gz b/ppd/hpcups/hp-psc_760.ppd.gz
index 7a71af057..0c22a168e 100644
--- a/ppd/hpcups/hp-psc_760.ppd.gz
+++ b/ppd/hpcups/hp-psc_760.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_780.ppd.gz b/ppd/hpcups/hp-psc_780.ppd.gz
index 840c2363a..fb424262f 100644
--- a/ppd/hpcups/hp-psc_780.ppd.gz
+++ b/ppd/hpcups/hp-psc_780.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_780xi.ppd.gz b/ppd/hpcups/hp-psc_780xi.ppd.gz
index 67711bfc4..8b6e6ac3e 100644
--- a/ppd/hpcups/hp-psc_780xi.ppd.gz
+++ b/ppd/hpcups/hp-psc_780xi.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_900_series.ppd.gz b/ppd/hpcups/hp-psc_900_series.ppd.gz
index 91c994358..c0bc4d90d 100644
--- a/ppd/hpcups/hp-psc_900_series.ppd.gz
+++ b/ppd/hpcups/hp-psc_900_series.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_920.ppd.gz b/ppd/hpcups/hp-psc_920.ppd.gz
index 522bca4da..c60dc8e48 100644
--- a/ppd/hpcups/hp-psc_920.ppd.gz
+++ b/ppd/hpcups/hp-psc_920.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_950.ppd.gz b/ppd/hpcups/hp-psc_950.ppd.gz
index 7f1a2ba17..0804cedb2 100644
--- a/ppd/hpcups/hp-psc_950.ppd.gz
+++ b/ppd/hpcups/hp-psc_950.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_950vr.ppd.gz b/ppd/hpcups/hp-psc_950vr.ppd.gz
index d1bcb7f97..5af8a8ee9 100644
--- a/ppd/hpcups/hp-psc_950vr.ppd.gz
+++ b/ppd/hpcups/hp-psc_950vr.ppd.gz
Binary files differ
diff --git a/ppd/hpcups/hp-psc_950xi.ppd.gz b/ppd/hpcups/hp-psc_950xi.ppd.gz
index 6b22a612c..2ac7bfe8d 100644
--- a/ppd/hpcups/hp-psc_950xi.ppd.gz
+++ b/ppd/hpcups/hp-psc_950xi.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-2000c-hpijs.ppd.gz b/ppd/hpijs/hp-2000c-hpijs.ppd.gz
index e0a6262d4..7c5de5c5b 100644
--- a/ppd/hpijs/hp-2000c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-2000c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-2500c-hpijs.ppd.gz b/ppd/hpijs/hp-2500c-hpijs.ppd.gz
index 12053d5fb..22e52bd12 100644
--- a/ppd/hpijs/hp-2500c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-2500c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-910-hpijs.ppd.gz b/ppd/hpijs/hp-910-hpijs.ppd.gz
index ce418101b..97a1ec45c 100644
--- a/ppd/hpijs/hp-910-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-910-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-915-hpijs.ppd.gz b/ppd/hpijs/hp-915-hpijs.ppd.gz
index ee5659ed7..004a06696 100644
--- a/ppd/hpijs/hp-915-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-915-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz b/ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz
index 04b21d00b..32a7cf4ef 100644
--- a/ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_1100-hpijs.ppd.gz b/ppd/hpijs/hp-business_inkjet_1100-hpijs.ppd.gz
index d2aaea14d..0c3122371 100644
--- a/ppd/hpijs/hp-business_inkjet_1100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_1100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_1200-hpijs.ppd.gz b/ppd/hpijs/hp-business_inkjet_1200-hpijs.ppd.gz
index e12704cc9..17bb4ae87 100644
--- a/ppd/hpijs/hp-business_inkjet_1200-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_1200-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_2200-hpijs.ppd.gz b/ppd/hpijs/hp-business_inkjet_2200-hpijs.ppd.gz
index f29edbfc0..a3fc0f1d3 100644
--- a/ppd/hpijs/hp-business_inkjet_2200-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_2200-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_2230-hpijs.ppd.gz b/ppd/hpijs/hp-business_inkjet_2230-hpijs.ppd.gz
index facdacc2a..3588eae36 100644
--- a/ppd/hpijs/hp-business_inkjet_2230-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_2230-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_2250-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-business_inkjet_2250-hpijs-pcl3.ppd.gz
index 82175f400..e6ed1214c 100644
--- a/ppd/hpijs/hp-business_inkjet_2250-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_2250-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz
index 5729b026a..f31c0afcf 100644
--- a/ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_2300-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-business_inkjet_2300-hpijs-pcl3.ppd.gz
index 15a46c0ae..20b399945 100644
--- a/ppd/hpijs/hp-business_inkjet_2300-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_2300-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_2600-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-business_inkjet_2600-hpijs-pcl3.ppd.gz
index dec14ac9d..5ef8b6c72 100644
--- a/ppd/hpijs/hp-business_inkjet_2600-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_2600-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_2800-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-business_inkjet_2800-hpijs-pcl3.ppd.gz
index bf2663a1c..2840320b6 100644
--- a/ppd/hpijs/hp-business_inkjet_2800-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_2800-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-business_inkjet_3000-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-business_inkjet_3000-hpijs-pcl3.ppd.gz
index 9c6d53b7e..09f97c41f 100644
--- a/ppd/hpijs/hp-business_inkjet_3000-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-business_inkjet_3000-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz b/ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz
index d00aa571d..f69e8a17d 100644
--- a/ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_inkjet_printer_cp1700-hpijs.ppd.gz b/ppd/hpijs/hp-color_inkjet_printer_cp1700-hpijs.ppd.gz
index 78a14326a..8e523710a 100644
--- a/ppd/hpijs/hp-color_inkjet_printer_cp1700-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_inkjet_printer_cp1700-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_1600-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_1600-hpijs.ppd.gz
index b6ec395ed..ef9103fab 100644
--- a/ppd/hpijs/hp-color_laserjet_1600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_1600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_2500-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_2500-hpijs-pcl3.ppd.gz
index 6735e8373..ef12db69e 100644
--- a/ppd/hpijs/hp-color_laserjet_2500-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_2500-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_2500_series-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_2500_series-hpijs.ppd.gz
index fac9d2858..7ea8ecf73 100644
--- a/ppd/hpijs/hp-color_laserjet_2500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_2500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_2600n-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_2600n-hpijs.ppd.gz
index 85f8f64a2..d1530fcd4 100644
--- a/ppd/hpijs/hp-color_laserjet_2600n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_2600n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3000-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_3000-hpijs-pcl3.ppd.gz
index 8c0e1e6c1..af072ec65 100644
--- a/ppd/hpijs/hp-color_laserjet_3000-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3000-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz
index b19fbc418..9b2877613 100644
--- a/ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz
index beb4f27bf..cb74dd32e 100644
--- a/ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3550-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_3550-hpijs.ppd.gz
index cfb08aade..ad39ca89a 100644
--- a/ppd/hpijs/hp-color_laserjet_3550-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3550-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3550n-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_3550n-hpijs.ppd.gz
index b58d53eda..33f9304dc 100644
--- a/ppd/hpijs/hp-color_laserjet_3550n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3550n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3600-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_3600-hpijs.ppd.gz
index 4712d2590..e5817c377 100644
--- a/ppd/hpijs/hp-color_laserjet_3600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3700-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_3700-hpijs-pcl3.ppd.gz
index 18198d1b3..ecd548cc9 100644
--- a/ppd/hpijs/hp-color_laserjet_3700-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3700-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3700n-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_3700n-hpijs.ppd.gz
index d8d067372..ca4b2f7c0 100644
--- a/ppd/hpijs/hp-color_laserjet_3700n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3700n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_3800-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_3800-hpijs-pcl3.ppd.gz
index 9e2a7b679..f9baa57df 100644
--- a/ppd/hpijs/hp-color_laserjet_3800-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_3800-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_4500-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_4500-hpijs-pcl3.ppd.gz
index 410923fc4..d029e7592 100644
--- a/ppd/hpijs/hp-color_laserjet_4500-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_4500-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz
index 883f64714..3f4e4e5a2 100644
--- a/ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_4600-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_4600-hpijs-pcl3.ppd.gz
index 556921a55..89ed1f6ce 100644
--- a/ppd/hpijs/hp-color_laserjet_4600-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_4600-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_4600_series-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_4600_series-hpijs.ppd.gz
index 67bf447c9..833a53a6c 100644
--- a/ppd/hpijs/hp-color_laserjet_4600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_4600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_4610-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_4610-hpijs-pcl3.ppd.gz
index 66b4f32e3..b80576992 100644
--- a/ppd/hpijs/hp-color_laserjet_4610-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_4610-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_4650-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_4650-hpijs-pcl3.ppd.gz
index 4a69f43ab..0cedebed1 100644
--- a/ppd/hpijs/hp-color_laserjet_4650-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_4650-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_4700-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_4700-hpijs-pcl3.ppd.gz
index 227ef59fc..70d02a3b0 100644
--- a/ppd/hpijs/hp-color_laserjet_4700-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_4700-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_4730mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_4730mfp-hpijs-pcl3.ppd.gz
index 44900edf1..7f2145988 100644
--- a/ppd/hpijs/hp-color_laserjet_4730mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_4730mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz
index a036aa0a4..70eb3e759 100644
--- a/ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz
index b609ad58b..e0fb56dca 100644
--- a/ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_5550-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_5550-hpijs-pcl3.ppd.gz
index 3e3322588..35d553d67 100644
--- a/ppd/hpijs/hp-color_laserjet_5550-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_5550-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_5m-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_5m-hpijs-pcl3.ppd.gz
index 8c763dd38..3a07084c8 100644
--- a/ppd/hpijs/hp-color_laserjet_5m-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_5m-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_8500-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_8500-hpijs-pcl3.ppd.gz
index 8b8415675..8aea656d5 100644
--- a/ppd/hpijs/hp-color_laserjet_8500-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_8500-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_8550-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_8550-hpijs-pcl3.ppd.gz
index 0a476ecb8..ee633b86d 100644
--- a/ppd/hpijs/hp-color_laserjet_8550-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_8550-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_9500-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_9500-hpijs-pcl3.ppd.gz
index 18cf74161..f9230be35 100644
--- a/ppd/hpijs/hp-color_laserjet_9500-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_9500-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_9500_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_9500_mfp-hpijs-pcl3.ppd.gz
index a9c0bcb1a..3c53568b5 100644
--- a/ppd/hpijs/hp-color_laserjet_9500_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_9500_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm1312_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm1312_mfp-hpijs-pcl3.ppd.gz
index 052f44335..d815ba6b3 100644
--- a/ppd/hpijs/hp-color_laserjet_cm1312_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm1312_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm1312nfi_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm1312nfi_mfp-hpijs-pcl3.ppd.gz
index 92c98bb73..13e6288f0 100644
--- a/ppd/hpijs/hp-color_laserjet_cm1312nfi_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm1312nfi_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm2320_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm2320_mfp-hpijs-pcl3.ppd.gz
index d46683fd2..efbf28221 100644
--- a/ppd/hpijs/hp-color_laserjet_cm2320_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm2320_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm2320fxi_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm2320fxi_mfp-hpijs-pcl3.ppd.gz
index c1278331a..98c75b123 100644
--- a/ppd/hpijs/hp-color_laserjet_cm2320fxi_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm2320fxi_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm2320n_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm2320n_mfp-hpijs-pcl3.ppd.gz
index e7c97070d..d3e0d0db3 100644
--- a/ppd/hpijs/hp-color_laserjet_cm2320n_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm2320n_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm2320nf_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm2320nf_mfp-hpijs-pcl3.ppd.gz
index 770259846..c1db1bd46 100644
--- a/ppd/hpijs/hp-color_laserjet_cm2320nf_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm2320nf_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz
index b58cdae6d..2e348e62e 100644
--- a/ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm4540_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm4540_mfp-hpijs-pcl3.ppd.gz
index 235bfa009..c638f9622 100644
--- a/ppd/hpijs/hp-color_laserjet_cm4540_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm4540_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm4730_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm4730_mfp-hpijs-pcl3.ppd.gz
index 943f787c6..fb477c3ce 100644
--- a/ppd/hpijs/hp-color_laserjet_cm4730_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm4730_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm6030_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm6030_mfp-hpijs-pcl3.ppd.gz
index c12a26e88..ff61b5b0b 100644
--- a/ppd/hpijs/hp-color_laserjet_cm6030_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm6030_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm6040_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm6040_mfp-hpijs.ppd.gz
index 998ce8bfd..7149cd7ae 100644
--- a/ppd/hpijs/hp-color_laserjet_cm6040_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm6040_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cm6049_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_cm6049_mfp-hpijs.ppd.gz
index e155ac82c..cdf872f28 100644
--- a/ppd/hpijs/hp-color_laserjet_cm6049_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cm6049_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz
index 3b91f5521..a64bb7f73 100644
--- a/ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp1217-hpijs.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp1217-hpijs.ppd.gz
index b6d1e6628..4f66072b7 100644
--- a/ppd/hpijs/hp-color_laserjet_cp1217-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp1217-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp1514n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp1514n-hpijs-pcl3.ppd.gz
index 4c47b930c..2fb474274 100644
--- a/ppd/hpijs/hp-color_laserjet_cp1514n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp1514n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp1515n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp1515n-hpijs-pcl3.ppd.gz
index 9c7f15155..4d005a867 100644
--- a/ppd/hpijs/hp-color_laserjet_cp1515n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp1515n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp1518ni-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp1518ni-hpijs-pcl3.ppd.gz
index d4f866749..1a9516f53 100644
--- a/ppd/hpijs/hp-color_laserjet_cp1518ni-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp1518ni-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp2025-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp2025-hpijs-pcl3.ppd.gz
index d8a2cd0eb..82b01b543 100644
--- a/ppd/hpijs/hp-color_laserjet_cp2025-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp2025-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp2025dn-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp2025dn-hpijs-pcl3.ppd.gz
index fcf4db27d..1bf21a429 100644
--- a/ppd/hpijs/hp-color_laserjet_cp2025dn-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp2025dn-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp2025n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp2025n-hpijs-pcl3.ppd.gz
index db01f61e3..cdc553b0d 100644
--- a/ppd/hpijs/hp-color_laserjet_cp2025n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp2025n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp2025x-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp2025x-hpijs-pcl3.ppd.gz
index 657ccac66..4bc2e27f2 100644
--- a/ppd/hpijs/hp-color_laserjet_cp2025x-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp2025x-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp3505-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp3505-hpijs-pcl3.ppd.gz
index 691945a22..b24e6924e 100644
--- a/ppd/hpijs/hp-color_laserjet_cp3505-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp3505-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp3525-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp3525-hpijs-pcl3.ppd.gz
index f45b074a6..ed82d73d0 100644
--- a/ppd/hpijs/hp-color_laserjet_cp3525-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp3525-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp4005-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp4005-hpijs-pcl3.ppd.gz
index 748299869..3515a8b6b 100644
--- a/ppd/hpijs/hp-color_laserjet_cp4005-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp4005-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp4020_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp4020_series-hpijs-pcl3.ppd.gz
index ac2d3c6d1..e9ca4b3da 100644
--- a/ppd/hpijs/hp-color_laserjet_cp4020_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp4020_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp4520_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp4520_series-hpijs-pcl3.ppd.gz
index 596a20311..00d9606b8 100644
--- a/ppd/hpijs/hp-color_laserjet_cp4520_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp4520_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp5225-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp5225-hpijs-pcl3.ppd.gz
index cce91336c..7e83418f1 100644
--- a/ppd/hpijs/hp-color_laserjet_cp5225-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp5225-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp5225dn-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp5225dn-hpijs-pcl3.ppd.gz
index 433453dbd..699567c09 100644
--- a/ppd/hpijs/hp-color_laserjet_cp5225dn-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp5225dn-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp5225n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp5225n-hpijs-pcl3.ppd.gz
index c2a60f945..47582f963 100644
--- a/ppd/hpijs/hp-color_laserjet_cp5225n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp5225n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz
index 6a53ccff0..024239ae5 100644
--- a/ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-color_laserjet_cp6015-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-color_laserjet_cp6015-hpijs-pcl3.ppd.gz
index 965857f3e..b343ba09f 100644
--- a/ppd/hpijs/hp-color_laserjet_cp6015-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-color_laserjet_cp6015-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-cp1160-hpijs.ppd.gz b/ppd/hpijs/hp-cp1160-hpijs.ppd.gz
index 03490082c..36bfc3a46 100644
--- a/ppd/hpijs/hp-cp1160-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-cp1160-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz
index 550638945..57fe9d457 100644
--- a/ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz
index 9eeff4b24..f04e9ed6f 100644
--- a/ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1100-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1100-hpijs.ppd.gz
index e72657a51..d1c3258d1 100644
--- a/ppd/hpijs/hp-deskjet_1100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1120-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1120-hpijs.ppd.gz
index a9bf84553..dcba56b9a 100644
--- a/ppd/hpijs/hp-deskjet_1120-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1120-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1125-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1125-hpijs.ppd.gz
index f16f123c0..55e69d32a 100644
--- a/ppd/hpijs/hp-deskjet_1125-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1125-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1200c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1200c-hpijs.ppd.gz
index 23bf374bb..fd0e2293c 100644
--- a/ppd/hpijs/hp-deskjet_1200c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1200c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1220c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1220c-hpijs.ppd.gz
index 01391cd87..ff5700352 100644
--- a/ppd/hpijs/hp-deskjet_1220c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1220c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz
index b3e53e483..a24abc60d 100644
--- a/ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1600c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1600c-hpijs.ppd.gz
index e2840fa37..b63d51898 100644
--- a/ppd/hpijs/hp-deskjet_1600c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1600c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1600cm-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1600cm-hpijs.ppd.gz
index 7ffa0ba0e..3d82336f0 100644
--- a/ppd/hpijs/hp-deskjet_1600cm-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1600cm-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz
index ba65ab216..163ddc4d5 100644
--- a/ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_2000_j210_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_2000_j210_series-hpijs.ppd.gz
index 513f13625..7f1a0c654 100644
--- a/ppd/hpijs/hp-deskjet_2000_j210_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_2000_j210_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_2050_j510_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_2050_j510_series-hpijs.ppd.gz
index ba4a04816..c4c4ca270 100644
--- a/ppd/hpijs/hp-deskjet_2050_j510_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_2050_j510_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3000_j310_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3000_j310_series-hpijs.ppd.gz
index 2cc748bce..054ad7299 100644
--- a/ppd/hpijs/hp-deskjet_3000_j310_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3000_j310_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz
index 52e3c5d5f..bb0fb44cb 100644
--- a/ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3050a_j611_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3050a_j611_series-hpijs.ppd.gz
index 71c741129..b6e179fa2 100644
--- a/ppd/hpijs/hp-deskjet_3050a_j611_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3050a_j611_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3070_b611_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3070_b611_series-hpijs.ppd.gz
index 65a30d057..675df1099 100644
--- a/ppd/hpijs/hp-deskjet_3070_b611_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3070_b611_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3320-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3320-hpijs.ppd.gz
index 02157e8a7..6da40b2e7 100644
--- a/ppd/hpijs/hp-deskjet_3320-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3320-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3325-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3325-hpijs.ppd.gz
index 530d44a28..bfbe73fa0 100644
--- a/ppd/hpijs/hp-deskjet_3325-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3325-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3420-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3420-hpijs.ppd.gz
index af9c590f0..2226feceb 100644
--- a/ppd/hpijs/hp-deskjet_3420-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3420-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3425-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3425-hpijs.ppd.gz
index 7ee9a37c7..91ab328cf 100644
--- a/ppd/hpijs/hp-deskjet_3425-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3425-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3450-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3450-hpijs.ppd.gz
index 8da1192ac..1a1f9987a 100644
--- a/ppd/hpijs/hp-deskjet_3450-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3450-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3500-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3500-hpijs.ppd.gz
index 18655280e..f9eb048bf 100644
--- a/ppd/hpijs/hp-deskjet_3500-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3500-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3550-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3550-hpijs.ppd.gz
index a3f7e72c3..ca4de047e 100644
--- a/ppd/hpijs/hp-deskjet_3550-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3550-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3600-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3600-hpijs.ppd.gz
index 294b15f5f..5864c3514 100644
--- a/ppd/hpijs/hp-deskjet_3600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz
index 19b89f6b4..430b731bd 100644
--- a/ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz
index cf0c97cb9..e3352f3e5 100644
--- a/ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3810-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3810-hpijs.ppd.gz
index a9c0ac23e..d5b22e9ee 100644
--- a/ppd/hpijs/hp-deskjet_3810-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3810-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3816-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3816-hpijs.ppd.gz
index 59ff0656f..63b25694f 100644
--- a/ppd/hpijs/hp-deskjet_3816-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3816-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz
index 968dab08b..321f0f9e9 100644
--- a/ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz
index ffa540d4a..f853aecba 100644
--- a/ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3822-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3822-hpijs.ppd.gz
index 5aaabda5e..c6686e3de 100644
--- a/ppd/hpijs/hp-deskjet_3822-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3822-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3840-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3840-hpijs.ppd.gz
index 91fd14f35..5cc64c754 100644
--- a/ppd/hpijs/hp-deskjet_3840-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3840-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3870-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3870-hpijs.ppd.gz
index ca03cded9..30c94fcd9 100644
--- a/ppd/hpijs/hp-deskjet_3870-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3870-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3900-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3900-hpijs.ppd.gz
index c87c71622..8d9a20f1f 100644
--- a/ppd/hpijs/hp-deskjet_3900-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3900-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3910-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3910-hpijs.ppd.gz
index 986cca194..6edb21f85 100644
--- a/ppd/hpijs/hp-deskjet_3910-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3910-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3920-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3920-hpijs.ppd.gz
index 98e7f74dc..16d26f21a 100644
--- a/ppd/hpijs/hp-deskjet_3920-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3920-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_3940-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_3940-hpijs.ppd.gz
index 11fb51472..5cc1fcc22 100644
--- a/ppd/hpijs/hp-deskjet_3940-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_3940-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_400-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_400-hpijs.ppd.gz
index 70751f7fa..46741530c 100644
--- a/ppd/hpijs/hp-deskjet_400-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_400-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz
index a4808fadd..9b31aa654 100644
--- a/ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_460-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_460-hpijs.ppd.gz
index e3580e610..77dc1bdf5 100644
--- a/ppd/hpijs/hp-deskjet_460-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_460-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_500-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_500-hpijs.ppd.gz
index ad84d2bc3..2771717b0 100644
--- a/ppd/hpijs/hp-deskjet_500-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_500-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_500c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_500c-hpijs.ppd.gz
index be31134b2..fbc27b8a7 100644
--- a/ppd/hpijs/hp-deskjet_500c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_500c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz
index c04a17aa9..310651070 100644
--- a/ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_510-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_510-hpijs.ppd.gz
index 9458dc775..c74641cc2 100644
--- a/ppd/hpijs/hp-deskjet_510-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_510-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz
index a182ca85b..f3a8b27c3 100644
--- a/ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_520-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_520-hpijs.ppd.gz
index 8f9a50478..6d2eaff9d 100644
--- a/ppd/hpijs/hp-deskjet_520-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_520-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_540-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_540-hpijs.ppd.gz
index 164c987f1..f58df063a 100644
--- a/ppd/hpijs/hp-deskjet_540-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_540-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5400_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5400_series-hpijs.ppd.gz
index d9fd0c14f..23814b8ba 100644
--- a/ppd/hpijs/hp-deskjet_5400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_550c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_550c-hpijs.ppd.gz
index 173eefc30..f446bec80 100644
--- a/ppd/hpijs/hp-deskjet_550c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_550c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5550-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5550-hpijs.ppd.gz
index 949863e1b..b7be68a08 100644
--- a/ppd/hpijs/hp-deskjet_5550-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5550-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5551-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5551-hpijs.ppd.gz
index 5f5b5fda1..cbb3bafc5 100644
--- a/ppd/hpijs/hp-deskjet_5551-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5551-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5552-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5552-hpijs.ppd.gz
index 797d06091..9659acfc9 100644
--- a/ppd/hpijs/hp-deskjet_5552-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5552-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5600-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5600-hpijs.ppd.gz
index 8451b27d4..04e2140c5 100644
--- a/ppd/hpijs/hp-deskjet_5600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5650-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5650-hpijs.ppd.gz
index 4dd988fc5..ca44f7f77 100644
--- a/ppd/hpijs/hp-deskjet_5650-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5650-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz
index 12cdaa78f..daca58b34 100644
--- a/ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5700-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5700-hpijs.ppd.gz
index cae38ff05..f49d7eb4d 100644
--- a/ppd/hpijs/hp-deskjet_5700-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5700-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5800-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5800-hpijs.ppd.gz
index 43b5a45c2..192d20f5d 100644
--- a/ppd/hpijs/hp-deskjet_5800-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5800-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5850-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5850-hpijs.ppd.gz
index dd55d2992..825104cd8 100644
--- a/ppd/hpijs/hp-deskjet_5850-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5850-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_5900_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_5900_series-hpijs.ppd.gz
index 1e972eda9..89c1f9032 100644
--- a/ppd/hpijs/hp-deskjet_5900_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_5900_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_600-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_600-hpijs.ppd.gz
index eac4ee3fc..2cf5e3ca6 100644
--- a/ppd/hpijs/hp-deskjet_600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_610c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_610c-hpijs.ppd.gz
index 42d9b2e24..c20217f2f 100644
--- a/ppd/hpijs/hp-deskjet_610c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_610c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_610cl-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_610cl-hpijs.ppd.gz
index 5d2127f13..e280bf298 100644
--- a/ppd/hpijs/hp-deskjet_610cl-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_610cl-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_6120-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_6120-hpijs.ppd.gz
index 39e16f609..4608ae6ef 100644
--- a/ppd/hpijs/hp-deskjet_6120-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_6120-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_6122-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_6122-hpijs.ppd.gz
index fdda31ac8..87077e081 100644
--- a/ppd/hpijs/hp-deskjet_6122-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_6122-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_6127-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_6127-hpijs.ppd.gz
index 1976f5e09..237d75175 100644
--- a/ppd/hpijs/hp-deskjet_6127-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_6127-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_612c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_612c-hpijs.ppd.gz
index 11d89db16..f39d1001a 100644
--- a/ppd/hpijs/hp-deskjet_612c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_612c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_630c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_630c-hpijs.ppd.gz
index 99de32c8a..31c9499f1 100644
--- a/ppd/hpijs/hp-deskjet_630c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_630c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_632c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_632c-hpijs.ppd.gz
index a6dd781c4..bcb99b2d5 100644
--- a/ppd/hpijs/hp-deskjet_632c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_632c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_640c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_640c-hpijs.ppd.gz
index 9e866915e..5677b4fbe 100644
--- a/ppd/hpijs/hp-deskjet_640c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_640c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_648c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_648c-hpijs.ppd.gz
index 0521a267a..52559f1d4 100644
--- a/ppd/hpijs/hp-deskjet_648c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_648c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_6500-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_6500-hpijs.ppd.gz
index a78f4318c..7956a4d6c 100644
--- a/ppd/hpijs/hp-deskjet_6500-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_6500-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_656c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_656c-hpijs.ppd.gz
index 43407178e..ef9dc8e26 100644
--- a/ppd/hpijs/hp-deskjet_656c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_656c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz
index 5ad49b5b4..0065df18e 100644
--- a/ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_6600-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_6600-hpijs.ppd.gz
index 5cfa04dfc..588b56523 100644
--- a/ppd/hpijs/hp-deskjet_6600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_6600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_670-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_670-hpijs.ppd.gz
index 69d50b8c1..d0d718e28 100644
--- a/ppd/hpijs/hp-deskjet_670-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_670-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_670c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_670c-hpijs.ppd.gz
index 8db1bd1fd..a933a9d89 100644
--- a/ppd/hpijs/hp-deskjet_670c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_670c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_670tv-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_670tv-hpijs.ppd.gz
index aa84f2345..ed9e61dce 100644
--- a/ppd/hpijs/hp-deskjet_670tv-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_670tv-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz
index a7447d1be..d0e8f4de8 100644
--- a/ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_680-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_680-hpijs.ppd.gz
index 63dbc8b60..d2b7bbdef 100644
--- a/ppd/hpijs/hp-deskjet_680-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_680-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_6800-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_6800-hpijs.ppd.gz
index 268fec829..06a3e7370 100644
--- a/ppd/hpijs/hp-deskjet_6800-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_6800-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz
index 7fc186a6f..20c231677 100644
--- a/ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_690-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_690-hpijs.ppd.gz
index d890de125..60a199c84 100644
--- a/ppd/hpijs/hp-deskjet_690-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_690-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_690c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_690c-hpijs.ppd.gz
index 836b998b9..1364a2956 100644
--- a/ppd/hpijs/hp-deskjet_690c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_690c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_692-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_692-hpijs.ppd.gz
index 28474ffe3..5469b0c8e 100644
--- a/ppd/hpijs/hp-deskjet_692-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_692-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_693-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_693-hpijs.ppd.gz
index 844c1e2fb..5c5e3c681 100644
--- a/ppd/hpijs/hp-deskjet_693-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_693-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_694-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_694-hpijs.ppd.gz
index 48fdc0977..89ed9dc47 100644
--- a/ppd/hpijs/hp-deskjet_694-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_694-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_6940_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_6940_series-hpijs.ppd.gz
index 6e0e6f6be..53b428b0b 100644
--- a/ppd/hpijs/hp-deskjet_6940_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_6940_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_695-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_695-hpijs.ppd.gz
index 85ff500a0..ca424d726 100644
--- a/ppd/hpijs/hp-deskjet_695-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_695-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_697-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_697-hpijs.ppd.gz
index 44ee3b06c..df7023146 100644
--- a/ppd/hpijs/hp-deskjet_697-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_697-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_6980_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_6980_series-hpijs.ppd.gz
index 4ad4c75ad..58ee4a60c 100644
--- a/ppd/hpijs/hp-deskjet_6980_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_6980_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_810c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_810c-hpijs.ppd.gz
index 66987d8b9..3fb257236 100644
--- a/ppd/hpijs/hp-deskjet_810c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_810c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_812c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_812c-hpijs.ppd.gz
index 0e67f53e5..de6405c43 100644
--- a/ppd/hpijs/hp-deskjet_812c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_812c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_815c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_815c-hpijs.ppd.gz
index 3a32130ca..adbda65a3 100644
--- a/ppd/hpijs/hp-deskjet_815c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_815c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_816c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_816c-hpijs.ppd.gz
index 6d34ccbc1..a4def89b2 100644
--- a/ppd/hpijs/hp-deskjet_816c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_816c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_825c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_825c-hpijs.ppd.gz
index 9572d3eb6..ea23f8c15 100644
--- a/ppd/hpijs/hp-deskjet_825c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_825c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_830c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_830c-hpijs.ppd.gz
index 21f53eb17..79e081aaf 100644
--- a/ppd/hpijs/hp-deskjet_830c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_830c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_832c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_832c-hpijs.ppd.gz
index 009b33f9d..c3d172a33 100644
--- a/ppd/hpijs/hp-deskjet_832c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_832c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_840c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_840c-hpijs.ppd.gz
index a8c1abf8d..520c36dbf 100644
--- a/ppd/hpijs/hp-deskjet_840c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_840c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz
index 00da2ef06..fb63dc23f 100644
--- a/ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_842c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_842c-hpijs.ppd.gz
index 13b7d3aba..1e5a734a0 100644
--- a/ppd/hpijs/hp-deskjet_842c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_842c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz
index 568d44431..19f43e5b8 100644
--- a/ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz
index 9668828d4..9150a74ff 100644
--- a/ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_850c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_850c-hpijs.ppd.gz
index 0fd1977fb..39b44b206 100644
--- a/ppd/hpijs/hp-deskjet_850c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_850c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_855c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_855c-hpijs.ppd.gz
index 0eed0f3aa..1a4a396c1 100644
--- a/ppd/hpijs/hp-deskjet_855c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_855c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_870c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_870c-hpijs.ppd.gz
index e39210ca6..52770e935 100644
--- a/ppd/hpijs/hp-deskjet_870c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_870c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_880c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_880c-hpijs.ppd.gz
index 5add29aea..b6f169921 100644
--- a/ppd/hpijs/hp-deskjet_880c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_880c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz
index 282ca5a74..d2dcef6c4 100644
--- a/ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_890c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_890c-hpijs.ppd.gz
index fbd809785..bf450c031 100644
--- a/ppd/hpijs/hp-deskjet_890c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_890c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_895c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_895c-hpijs.ppd.gz
index 770e3633c..e9fe8d5da 100644
--- a/ppd/hpijs/hp-deskjet_895c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_895c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_916c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_916c-hpijs.ppd.gz
index 38fd6474e..b3f48e96c 100644
--- a/ppd/hpijs/hp-deskjet_916c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_916c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_920c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_920c-hpijs.ppd.gz
index 93e250baa..cb7fb410e 100644
--- a/ppd/hpijs/hp-deskjet_920c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_920c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_9300-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_9300-hpijs.ppd.gz
index 1fcaec861..e285e1655 100644
--- a/ppd/hpijs/hp-deskjet_9300-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_9300-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_930c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_930c-hpijs.ppd.gz
index 47281d369..b7035f64b 100644
--- a/ppd/hpijs/hp-deskjet_930c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_930c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_932c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_932c-hpijs.ppd.gz
index b12d3b1ad..e7c05b43b 100644
--- a/ppd/hpijs/hp-deskjet_932c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_932c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz
index 51722109a..a801e5ef4 100644
--- a/ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_934c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_934c-hpijs.ppd.gz
index 7cdb4c07c..4385bfc40 100644
--- a/ppd/hpijs/hp-deskjet_934c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_934c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz
index eabbe05ea..f7b86e516 100644
--- a/ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_940c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_940c-hpijs.ppd.gz
index 918119f83..fa3556ffb 100644
--- a/ppd/hpijs/hp-deskjet_940c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_940c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_948c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_948c-hpijs.ppd.gz
index 55073a7b6..9aa80f3e2 100644
--- a/ppd/hpijs/hp-deskjet_948c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_948c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz
index cdbc0cdcd..b45575700 100644
--- a/ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_952c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_952c-hpijs.ppd.gz
index e3ad3f76f..72fa9ae59 100644
--- a/ppd/hpijs/hp-deskjet_952c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_952c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_955c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_955c-hpijs.ppd.gz
index e387d9c51..8ec78456d 100644
--- a/ppd/hpijs/hp-deskjet_955c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_955c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_957c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_957c-hpijs.ppd.gz
index dce06076c..76dad410f 100644
--- a/ppd/hpijs/hp-deskjet_957c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_957c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_959c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_959c-hpijs.ppd.gz
index 26878add2..c186b60ab 100644
--- a/ppd/hpijs/hp-deskjet_959c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_959c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_9600-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_9600-hpijs.ppd.gz
index 3fc1eec89..140638dfd 100644
--- a/ppd/hpijs/hp-deskjet_9600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_9600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_960c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_960c-hpijs.ppd.gz
index d2a9a2eed..eb9d31175 100644
--- a/ppd/hpijs/hp-deskjet_960c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_960c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_970c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_970c-hpijs.ppd.gz
index 31d9e587d..e9c1e88ab 100644
--- a/ppd/hpijs/hp-deskjet_970c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_970c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_975c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_975c-hpijs.ppd.gz
index 1be14d0d0..1b631cec6 100644
--- a/ppd/hpijs/hp-deskjet_975c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_975c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_9800-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_9800-hpijs.ppd.gz
index 87b71e3a0..34c79803e 100644
--- a/ppd/hpijs/hp-deskjet_9800-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_9800-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz
index 608022021..d321372cf 100644
--- a/ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_990c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_990c-hpijs.ppd.gz
index 5aa6961a8..1b2ded629 100644
--- a/ppd/hpijs/hp-deskjet_990c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_990c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz
index f966643e0..3c6eb1965 100644
--- a/ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d1300_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d1300_series-hpijs.ppd.gz
index dec2f72eb..090a289af 100644
--- a/ppd/hpijs/hp-deskjet_d1300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d1300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d1400_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d1400_series-hpijs.ppd.gz
index a87849139..2541b9fd4 100644
--- a/ppd/hpijs/hp-deskjet_d1400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d1400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d1500_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d1500_series-hpijs.ppd.gz
index bae228937..60763b15b 100644
--- a/ppd/hpijs/hp-deskjet_d1500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d1500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz
index 0fcc7909b..9f0ad4e00 100644
--- a/ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d2300_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d2300_series-hpijs.ppd.gz
index 5e533078f..6ecf2fc0b 100644
--- a/ppd/hpijs/hp-deskjet_d2300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d2300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz
index e717c64f9..b8735aaab 100644
--- a/ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d2500_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d2500_series-hpijs.ppd.gz
index f5355df39..7ecb803aa 100644
--- a/ppd/hpijs/hp-deskjet_d2500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d2500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d2600_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d2600_series-hpijs.ppd.gz
index 52b6ccf8e..a9070a1e7 100644
--- a/ppd/hpijs/hp-deskjet_d2600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d2600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz
index d0763a386..a7a0f5284 100644
--- a/ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d4200_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d4200_series-hpijs.ppd.gz
index db1bf10ce..3b1cf3791 100644
--- a/ppd/hpijs/hp-deskjet_d4200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d4200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz
index a8b38284a..ab359b94c 100644
--- a/ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d5500_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d5500_series-hpijs.ppd.gz
index e198c0a65..d3eae4836 100644
--- a/ppd/hpijs/hp-deskjet_d5500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d5500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_d730-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_d730-hpijs.ppd.gz
index 9b29a86f5..4f1834b7e 100644
--- a/ppd/hpijs/hp-deskjet_d730-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_d730-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz
index be8154f45..9a60e4a5b 100644
--- a/ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f2200_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f2200_series-hpijs.ppd.gz
index da51d9bf1..1777c956b 100644
--- a/ppd/hpijs/hp-deskjet_f2200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f2200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f2400_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f2400_series-hpijs.ppd.gz
index 5158b6ba0..65f7b22dc 100644
--- a/ppd/hpijs/hp-deskjet_f2400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f2400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz
index 3a97979fd..1383aaefc 100644
--- a/ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f4100_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f4100_series-hpijs.ppd.gz
index 8e9fa1645..285cefd41 100644
--- a/ppd/hpijs/hp-deskjet_f4100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f4100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f4200_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f4200_series-hpijs.ppd.gz
index 51a0d2271..4629faa56 100644
--- a/ppd/hpijs/hp-deskjet_f4200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f4200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz
index 222fa52d3..5d097e61f 100644
--- a/ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f4213_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f4213_series-hpijs.ppd.gz
index cc37a7cf8..7b0f29714 100644
--- a/ppd/hpijs/hp-deskjet_f4213_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f4213_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f4400_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f4400_series-hpijs.ppd.gz
index 0f772f861..7b9474cf6 100644
--- a/ppd/hpijs/hp-deskjet_f4400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f4400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz
index c97c60bb3..706238e86 100644
--- a/ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz
index 70c73fa90..f1a71a633 100644
--- a/ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_ink_adv_2010_k010-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_ink_adv_2010_k010-hpijs.ppd.gz
index 41e5e80b6..d55d9e4f1 100644
--- a/ppd/hpijs/hp-deskjet_ink_adv_2010_k010-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_ink_adv_2010_k010-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_ink_adv_2060_k110-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_ink_adv_2060_k110-hpijs.ppd.gz
index 1fca24573..336de8053 100644
--- a/ppd/hpijs/hp-deskjet_ink_adv_2060_k110-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_ink_adv_2060_k110-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_ink_advant_k109a-z-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_ink_advant_k109a-z-hpijs.ppd.gz
index e1482d54b..62cc2da79 100644
--- a/ppd/hpijs/hp-deskjet_ink_advant_k109a-z-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_ink_advant_k109a-z-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-deskjet_ink_advant_k209a-z-hpijs.ppd.gz b/ppd/hpijs/hp-deskjet_ink_advant_k209a-z-hpijs.ppd.gz
index 7a6917325..37b01889f 100644
--- a/ppd/hpijs/hp-deskjet_ink_advant_k209a-z-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-deskjet_ink_advant_k209a-z-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-dj350-hpijs.ppd.gz b/ppd/hpijs/hp-dj350-hpijs.ppd.gz
index 79d691cf5..938f40708 100644
--- a/ppd/hpijs/hp-dj350-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-dj350-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-dj450-hpijs.ppd.gz b/ppd/hpijs/hp-dj450-hpijs.ppd.gz
index d41fe2d1b..4f6b37aa7 100644
--- a/ppd/hpijs/hp-dj450-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-dj450-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-envy_100_d410_series-hpijs.ppd.gz b/ppd/hpijs/hp-envy_100_d410_series-hpijs.ppd.gz
index 429c846b5..16cc35e80 100644
--- a/ppd/hpijs/hp-envy_100_d410_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-envy_100_d410_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-envy_110_series-hpijs.ppd.gz b/ppd/hpijs/hp-envy_110_series-hpijs.ppd.gz
index 519eef752..2288e0e43 100644
--- a/ppd/hpijs/hp-envy_110_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-envy_110_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1000-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1000-hpijs.ppd.gz
index a2d189cfb..c67ab198f 100644
--- a/ppd/hpijs/hp-laserjet_1000-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1000-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1005_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1005_series-hpijs.ppd.gz
index 96be2b54f..adab6a861 100644
--- a/ppd/hpijs/hp-laserjet_1005_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1005_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1010-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1010-hpijs.ppd.gz
index 6508c0acc..0ac625485 100644
--- a/ppd/hpijs/hp-laserjet_1010-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1010-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1012-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1012-hpijs.ppd.gz
index ffe595983..5e43a81e3 100644
--- a/ppd/hpijs/hp-laserjet_1012-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1012-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz
index 0ef74a659..f9235f7fa 100644
--- a/ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1018-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1018-hpijs.ppd.gz
index 1c9ee60d1..7babf50d8 100644
--- a/ppd/hpijs/hp-laserjet_1018-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1018-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1020-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1020-hpijs.ppd.gz
index be479683d..fcb274fcf 100644
--- a/ppd/hpijs/hp-laserjet_1020-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1020-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz
index bacc38238..727b84743 100644
--- a/ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1022-hpijs-zjs.ppd.gz b/ppd/hpijs/hp-laserjet_1022-hpijs-zjs.ppd.gz
index e98c9e89e..26422bc41 100644
--- a/ppd/hpijs/hp-laserjet_1022-hpijs-zjs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1022-hpijs-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1022n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1022n-hpijs-pcl3.ppd.gz
index 808a8ec92..9485d5709 100644
--- a/ppd/hpijs/hp-laserjet_1022n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1022n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1022n-hpijs-zjs.ppd.gz b/ppd/hpijs/hp-laserjet_1022n-hpijs-zjs.ppd.gz
index fcabb91ae..c8af68fca 100644
--- a/ppd/hpijs/hp-laserjet_1022n-hpijs-zjs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1022n-hpijs-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1022nw-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1022nw-hpijs-pcl3.ppd.gz
index 8b916316a..36ca0e70f 100644
--- a/ppd/hpijs/hp-laserjet_1022nw-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1022nw-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1022nw-hpijs-zjs.ppd.gz b/ppd/hpijs/hp-laserjet_1022nw-hpijs-zjs.ppd.gz
index cd757ae68..f3ddd4ec7 100644
--- a/ppd/hpijs/hp-laserjet_1022nw-hpijs-zjs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1022nw-hpijs-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1100-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1100-hpijs.ppd.gz
index 0a2973293..6ccc4a762 100644
--- a/ppd/hpijs/hp-laserjet_1100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1100a-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1100a-hpijs.ppd.gz
index 887e4e373..85891fd12 100644
--- a/ppd/hpijs/hp-laserjet_1100a-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1100a-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1100xi-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1100xi-hpijs.ppd.gz
index c7b9c74fe..ce8773b5b 100644
--- a/ppd/hpijs/hp-laserjet_1100xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1100xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1150-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1150-hpijs.ppd.gz
index c6723aed5..52132c0a8 100644
--- a/ppd/hpijs/hp-laserjet_1150-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1150-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1160-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1160-hpijs.ppd.gz
index 59414ec40..7a06960f5 100644
--- a/ppd/hpijs/hp-laserjet_1160-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1160-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1160_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1160_series-hpijs.ppd.gz
index b520a4adf..0ec82dec7 100644
--- a/ppd/hpijs/hp-laserjet_1160_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1160_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1200-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1200-hpijs-pcl3.ppd.gz
index e8ea91833..1371aaca7 100644
--- a/ppd/hpijs/hp-laserjet_1200-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1200-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1200n-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1200n-hpijs.ppd.gz
index bbf07467f..8e1dc3f9c 100644
--- a/ppd/hpijs/hp-laserjet_1200n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1200n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1220-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1220-hpijs-pcl3.ppd.gz
index 994bb5f47..27f1afb00 100644
--- a/ppd/hpijs/hp-laserjet_1220-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1220-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1220se-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1220se-hpijs.ppd.gz
index 237089b15..446648983 100644
--- a/ppd/hpijs/hp-laserjet_1220se-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1220se-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz
index e5b879de7..77b7207a3 100644
--- a/ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz
index d48b4c4f3..9254785cb 100644
--- a/ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1300xi-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1300xi-hpijs-pcl3.ppd.gz
index db2d50d2b..6fbe46f77 100644
--- a/ppd/hpijs/hp-laserjet_1300xi-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1300xi-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1320-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1320-hpijs.ppd.gz
index 9918b1722..d78cde06d 100644
--- a/ppd/hpijs/hp-laserjet_1320-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1320-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1320_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_1320_series-hpijs-pcl3.ppd.gz
index de83c390e..f94aeb8cf 100644
--- a/ppd/hpijs/hp-laserjet_1320_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1320_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1320n-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1320n-hpijs.ppd.gz
index 4c18aa21e..eaee0f7c5 100644
--- a/ppd/hpijs/hp-laserjet_1320n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1320n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1320nw-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1320nw-hpijs.ppd.gz
index cbb2db39f..b6a80f6f8 100644
--- a/ppd/hpijs/hp-laserjet_1320nw-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1320nw-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_1320tn-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_1320tn-hpijs.ppd.gz
index cfc3fefbc..bc917e9c1 100644
--- a/ppd/hpijs/hp-laserjet_1320tn-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_1320tn-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2100-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_2100-hpijs.ppd.gz
index 6a0534ec6..208665c11 100644
--- a/ppd/hpijs/hp-laserjet_2100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2100_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_2100_series-hpijs-pcl3.ppd.gz
index 148a64748..bc8b0e17b 100644
--- a/ppd/hpijs/hp-laserjet_2100_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2100_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2200-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_2200-hpijs-pcl3.ppd.gz
index 165b41e6a..5fedbcaf8 100644
--- a/ppd/hpijs/hp-laserjet_2200-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2200-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz
index 740a0804f..edacf9fc7 100644
--- a/ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz
index 665846bdc..6a5e59557 100644
--- a/ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2300_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_2300_series-hpijs.ppd.gz
index e9173bf7d..939213664 100644
--- a/ppd/hpijs/hp-laserjet_2300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2410-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_2410-hpijs-pcl3.ppd.gz
index 9dfed72b1..e88fd8171 100644
--- a/ppd/hpijs/hp-laserjet_2410-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2410-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2420-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_2420-hpijs-pcl3.ppd.gz
index 33f73df79..a9fabb1b5 100644
--- a/ppd/hpijs/hp-laserjet_2420-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2420-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_2430-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_2430-hpijs-pcl3.ppd.gz
index f3c2f0dd7..fc28d1375 100644
--- a/ppd/hpijs/hp-laserjet_2430-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_2430-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3015-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3015-hpijs-pcl3.ppd.gz
index 611d9022f..b7d1beb1d 100644
--- a/ppd/hpijs/hp-laserjet_3015-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3015-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz
index d45eada8a..cc835cdc0 100644
--- a/ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3030-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3030-hpijs-pcl3.ppd.gz
index e28fce3c7..be9654324 100644
--- a/ppd/hpijs/hp-laserjet_3030-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3030-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3050-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3050-hpijs-pcl3.ppd.gz
index 4214f0d9b..d98c332ab 100644
--- a/ppd/hpijs/hp-laserjet_3050-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3050-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3052-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3052-hpijs-pcl3.ppd.gz
index 7f6c8d80c..2f3808d9c 100644
--- a/ppd/hpijs/hp-laserjet_3052-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3052-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3055-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_3055-hpijs.ppd.gz
index 0e89a16fe..e47ff3fc1 100644
--- a/ppd/hpijs/hp-laserjet_3055-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3055-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3100-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_3100-hpijs.ppd.gz
index b65a29b58..b4fc85a9c 100644
--- a/ppd/hpijs/hp-laserjet_3100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3150-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_3150-hpijs.ppd.gz
index 29708f9b7..62da91c23 100644
--- a/ppd/hpijs/hp-laserjet_3150-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3150-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3200-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_3200-hpijs.ppd.gz
index 7f02ba89f..b101d1bf4 100644
--- a/ppd/hpijs/hp-laserjet_3200-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3200-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3200m-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3200m-hpijs-pcl3.ppd.gz
index 05272c88a..aa5859323 100644
--- a/ppd/hpijs/hp-laserjet_3200m-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3200m-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3200se-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_3200se-hpijs.ppd.gz
index 3a28b36a3..5bab32678 100644
--- a/ppd/hpijs/hp-laserjet_3200se-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3200se-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3300_3310_3320-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3300_3310_3320-hpijs-pcl3.ppd.gz
index e1af08765..8dfc3f1c2 100644
--- a/ppd/hpijs/hp-laserjet_3300_3310_3320-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3300_3310_3320-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3330-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_3330-hpijs.ppd.gz
index 186a2b962..9faf5ee17 100644
--- a/ppd/hpijs/hp-laserjet_3330-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3330-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz
index 123f20289..4f26fe171 100644
--- a/ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz
index 8b18929e2..7de5f8245 100644
--- a/ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_3392-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_3392-hpijs.ppd.gz
index 297c8cc3b..9f86fc5dc 100644
--- a/ppd/hpijs/hp-laserjet_3392-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_3392-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4000_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4000_series-hpijs-pcl3.ppd.gz
index fcf51003b..f45f13a95 100644
--- a/ppd/hpijs/hp-laserjet_4000_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4000_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4050_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4050_series-hpijs-pcl3.ppd.gz
index ab465afdb..b4ee507d1 100644
--- a/ppd/hpijs/hp-laserjet_4050_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4050_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4100_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4100_mfp-hpijs-pcl3.ppd.gz
index c01d2dd15..db962f91e 100644
--- a/ppd/hpijs/hp-laserjet_4100_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4100_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4100_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4100_series-hpijs-pcl3.ppd.gz
index 717c75bcb..0b52b5a40 100644
--- a/ppd/hpijs/hp-laserjet_4100_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4100_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4150_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_4150_series-hpijs.ppd.gz
index 8a4409f5c..1dc3d84e1 100644
--- a/ppd/hpijs/hp-laserjet_4150_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4150_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4200-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4200-hpijs-pcl3.ppd.gz
index 3f0c9c020..9d4fb4e65 100644
--- a/ppd/hpijs/hp-laserjet_4200-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4200-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4240-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4240-hpijs-pcl3.ppd.gz
index df3d89ca4..7c0ca91b3 100644
--- a/ppd/hpijs/hp-laserjet_4240-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4240-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4250-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4250-hpijs-pcl3.ppd.gz
index 61e309303..5a55cd24c 100644
--- a/ppd/hpijs/hp-laserjet_4250-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4250-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4300-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4300-hpijs-pcl3.ppd.gz
index a3ab3b0fe..7795abbc0 100644
--- a/ppd/hpijs/hp-laserjet_4300-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4300-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4345_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4345_mfp-hpijs-pcl3.ppd.gz
index 8f6c0b4ec..f67ceb7af 100644
--- a/ppd/hpijs/hp-laserjet_4345_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4345_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz
index 3dbf59243..1ad8893c6 100644
--- a/ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4_plus-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4_plus-hpijs-pcl3.ppd.gz
index 98e5688be..318049b43 100644
--- a/ppd/hpijs/hp-laserjet_4_plus-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4_plus-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4l-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_4l-hpijs.ppd.gz
index e7678bfdd..f1221be2b 100644
--- a/ppd/hpijs/hp-laserjet_4l-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4l-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4ml-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_4ml-hpijs.ppd.gz
index 68aeabe3f..2265f147e 100644
--- a/ppd/hpijs/hp-laserjet_4ml-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4ml-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4mp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4mp-hpijs-pcl3.ppd.gz
index c1479051a..169f38021 100644
--- a/ppd/hpijs/hp-laserjet_4mp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4mp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4si-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4si-hpijs-pcl3.ppd.gz
index 71a2bd634..f825e5711 100644
--- a/ppd/hpijs/hp-laserjet_4si-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4si-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_4v-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_4v-hpijs-pcl3.ppd.gz
index e59c95438..01f78f149 100644
--- a/ppd/hpijs/hp-laserjet_4v-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_4v-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5000-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_5000-hpijs.ppd.gz
index bf3a0d41d..21174d832 100644
--- a/ppd/hpijs/hp-laserjet_5000-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5000-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5000_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_5000_series-hpijs-pcl3.ppd.gz
index 77defae3c..7baf078c2 100644
--- a/ppd/hpijs/hp-laserjet_5000_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5000_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5100_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_5100_series-hpijs-pcl3.ppd.gz
index f39cea9fb..80e4be299 100644
--- a/ppd/hpijs/hp-laserjet_5100_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5100_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5200-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_5200-hpijs-pcl3.ppd.gz
index 0f190b704..9b278bcb7 100644
--- a/ppd/hpijs/hp-laserjet_5200-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5200-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5200l-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_5200l-hpijs-pcl3.ppd.gz
index dfe906889..ec0a270f5 100644
--- a/ppd/hpijs/hp-laserjet_5200l-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5200l-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5200lx-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_5200lx-hpijs.ppd.gz
index 52c44a393..7dab20468 100644
--- a/ppd/hpijs/hp-laserjet_5200lx-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5200lx-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5l-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_5l-hpijs.ppd.gz
index b81ba33c4..955259bcb 100644
--- a/ppd/hpijs/hp-laserjet_5l-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5l-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5mp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_5mp-hpijs-pcl3.ppd.gz
index b6bc9b43e..1fc09072b 100644
--- a/ppd/hpijs/hp-laserjet_5mp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5mp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5p-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_5p-hpijs.ppd.gz
index 8d0f8ed95..13073a24b 100644
--- a/ppd/hpijs/hp-laserjet_5p-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5p-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5si-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_5si-hpijs-pcl3.ppd.gz
index 63be5a5bf..90cc7abb7 100644
--- a/ppd/hpijs/hp-laserjet_5si-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5si-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_5si_mopier-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_5si_mopier-hpijs-pcl3.ppd.gz
index 938d53552..6e4f9b19c 100644
--- a/ppd/hpijs/hp-laserjet_5si_mopier-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_5si_mopier-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_6l-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_6l-hpijs.ppd.gz
index b18320294..ccaaa3e5a 100644
--- a/ppd/hpijs/hp-laserjet_6l-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_6l-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_6mp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_6mp-hpijs-pcl3.ppd.gz
index de3321a30..04677d935 100644
--- a/ppd/hpijs/hp-laserjet_6mp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_6mp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_6p-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_6p-hpijs.ppd.gz
index 50d197296..de593b14a 100644
--- a/ppd/hpijs/hp-laserjet_6p-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_6p-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz
index 4d97d715c..565efb86d 100644
--- a/ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_8000_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_8000_series-hpijs-pcl3.ppd.gz
index e07db8da4..bc5b33c49 100644
--- a/ppd/hpijs/hp-laserjet_8000_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_8000_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_8100_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_8100_mfp-hpijs.ppd.gz
index 5ca4c2ccb..8711f47e2 100644
--- a/ppd/hpijs/hp-laserjet_8100_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_8100_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_8100_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_8100_series-hpijs-pcl3.ppd.gz
index abb193863..038480b1e 100644
--- a/ppd/hpijs/hp-laserjet_8100_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_8100_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_8150_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_8150_mfp-hpijs.ppd.gz
index 1e507c65f..0e87d2244 100644
--- a/ppd/hpijs/hp-laserjet_8150_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_8150_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz
index f1f6ddf60..cd5e038c6 100644
--- a/ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_9000_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_9000_mfp-hpijs-pcl3.ppd.gz
index e4d465c4a..1c5571c9a 100644
--- a/ppd/hpijs/hp-laserjet_9000_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_9000_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_9000_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_9000_series-hpijs-pcl3.ppd.gz
index f8798dee5..fa4ecd12a 100644
--- a/ppd/hpijs/hp-laserjet_9000_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_9000_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_9040-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_9040-hpijs-pcl3.ppd.gz
index 2d75eda91..8b1fc731d 100644
--- a/ppd/hpijs/hp-laserjet_9040-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_9040-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_9040_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_9040_mfp-hpijs-pcl3.ppd.gz
index 8fa2f2f15..1476237c9 100644
--- a/ppd/hpijs/hp-laserjet_9040_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_9040_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_9050-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_9050-hpijs-pcl3.ppd.gz
index 340f050e5..2089bb1a0 100644
--- a/ppd/hpijs/hp-laserjet_9050-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_9050-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz
index dd7a585c1..8cf28eac2 100644
--- a/ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_9055mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_9055mfp-hpijs-pcl3.ppd.gz
index 2306be3f4..a83a5a05d 100644
--- a/ppd/hpijs/hp-laserjet_9055mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_9055mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_9065mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_9065mfp-hpijs-pcl3.ppd.gz
index aec0736d0..571366032 100644
--- a/ppd/hpijs/hp-laserjet_9065mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_9065mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cm1411fn-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_cm1411fn-hpijs-pcl3.ppd.gz
index d6619ac45..289048d06 100644
--- a/ppd/hpijs/hp-laserjet_cm1411fn-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cm1411fn-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cm1412fn-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_cm1412fn-hpijs-pcl3.ppd.gz
index cb5ee3bdc..715cff578 100644
--- a/ppd/hpijs/hp-laserjet_cm1412fn-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cm1412fn-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cm1413fn-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_cm1413fn-hpijs-pcl3.ppd.gz
index 2d9ca432b..9f2d0d9b4 100644
--- a/ppd/hpijs/hp-laserjet_cm1413fn-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cm1413fn-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cm1415fn-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_cm1415fn-hpijs-pcl3.ppd.gz
index 490036434..50a2bee60 100644
--- a/ppd/hpijs/hp-laserjet_cm1415fn-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cm1415fn-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz
index b78630d06..04ec74fa2 100644
--- a/ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cm1416fnw-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_cm1416fnw-hpijs-pcl3.ppd.gz
index 0402233c8..4715597c5 100644
--- a/ppd/hpijs/hp-laserjet_cm1416fnw-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cm1416fnw-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cm1417fnw-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_cm1417fnw-hpijs-pcl3.ppd.gz
index 1efd4c213..aadbe67a2 100644
--- a/ppd/hpijs/hp-laserjet_cm1417fnw-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cm1417fnw-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cm1418fnw-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_cm1418fnw-hpijs-pcl3.ppd.gz
index 12e1dd845..c1ab8e187 100644
--- a/ppd/hpijs/hp-laserjet_cm1418fnw-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cm1418fnw-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp1021-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp1021-hpijs.ppd.gz
deleted file mode 100644
index 19f633dc2..000000000
--- a/ppd/hpijs/hp-laserjet_cp1021-hpijs.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp1022-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp1022-hpijs.ppd.gz
deleted file mode 100644
index 63a45bece..000000000
--- a/ppd/hpijs/hp-laserjet_cp1022-hpijs.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp1023-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp1023-hpijs.ppd.gz
deleted file mode 100644
index 05d918784..000000000
--- a/ppd/hpijs/hp-laserjet_cp1023-hpijs.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp1025-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp1025-hpijs.ppd.gz
index c7665fb85..f9e87aa4c 100644
--- a/ppd/hpijs/hp-laserjet_cp1025-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cp1025-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp1025nw-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp1025nw-hpijs.ppd.gz
index f9447a1d2..b7726fba5 100644
--- a/ppd/hpijs/hp-laserjet_cp1025nw-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_cp1025nw-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp1027nw-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp1027nw-hpijs.ppd.gz
deleted file mode 100644
index fe4cb543b..000000000
--- a/ppd/hpijs/hp-laserjet_cp1027nw-hpijs.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp1028nw-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp1028nw-hpijs.ppd.gz
deleted file mode 100644
index 972928939..000000000
--- a/ppd/hpijs/hp-laserjet_cp1028nw-hpijs.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz
new file mode 100644
index 000000000..2d8de743e
--- /dev/null
+++ b/ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gz
new file mode 100644
index 000000000..00c09253b
--- /dev/null
+++ b/ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1005-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_m1005-hpijs.ppd.gz
index 4a6460cfd..69b27a89d 100644
--- a/ppd/hpijs/hp-laserjet_m1005-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1005-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1120_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_m1120_mfp-hpijs.ppd.gz
index 7b80b93e3..ceacab332 100644
--- a/ppd/hpijs/hp-laserjet_m1120_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1120_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1120n_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_m1120n_mfp-hpijs.ppd.gz
index 6c3a0771e..53a788757 100644
--- a/ppd/hpijs/hp-laserjet_m1120n_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1120n_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz
index 446b83170..1efcb6fe4 100644
--- a/ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz
index abfa4c235..a0a9f40c8 100644
--- a/ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1536dnf_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m1536dnf_mfp-hpijs-pcl3.ppd.gz
index 47bb69628..dc46a8410 100644
--- a/ppd/hpijs/hp-laserjet_m1536dnf_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1536dnf_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1537dnf_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m1537dnf_mfp-hpijs-pcl3.ppd.gz
index 8ead649e0..9d4b70e43 100644
--- a/ppd/hpijs/hp-laserjet_m1537dnf_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1537dnf_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1538dnf_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m1538dnf_mfp-hpijs-pcl3.ppd.gz
index c6784429a..da6af51d8 100644
--- a/ppd/hpijs/hp-laserjet_m1538dnf_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1538dnf_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m1539dnf_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m1539dnf_mfp-hpijs-pcl3.ppd.gz
index 3c75e8d70..9bcb61fcb 100644
--- a/ppd/hpijs/hp-laserjet_m1539dnf_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m1539dnf_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m2727_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m2727_mfp-hpijs-pcl3.ppd.gz
index aebe8fe7d..739e1c584 100644
--- a/ppd/hpijs/hp-laserjet_m2727_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m2727_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m3027_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m3027_mfp-hpijs-pcl3.ppd.gz
index 45ed9b8eb..4614d1e7b 100644
--- a/ppd/hpijs/hp-laserjet_m3027_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m3027_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m3035_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m3035_mfp-hpijs-pcl3.ppd.gz
index b0a3adc96..2b9f51537 100644
--- a/ppd/hpijs/hp-laserjet_m3035_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m3035_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz
index 1a45cffbe..66a6c1fe3 100644
--- a/ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m4349_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m4349_mfp-hpijs-pcl3.ppd.gz
index 33234219f..ad5d2dfb1 100644
--- a/ppd/hpijs/hp-laserjet_m4349_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m4349_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m5025_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m5025_mfp-hpijs-pcl3.ppd.gz
index 497d83560..99eb40bdd 100644
--- a/ppd/hpijs/hp-laserjet_m5025_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m5025_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz
index 61da5479c..02170cfb3 100644
--- a/ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m5039_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m5039_mfp-hpijs-pcl3.ppd.gz
index 130339d1d..8592964c7 100644
--- a/ppd/hpijs/hp-laserjet_m5039_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m5039_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m9040_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m9040_mfp-hpijs-pcl3.ppd.gz
index 3e3a85fe9..8e3583ae4 100644
--- a/ppd/hpijs/hp-laserjet_m9040_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m9040_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz
index fc5f39b0c..96954fa0c 100644
--- a/ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_m9059_mfp-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_m9059_mfp-hpijs-pcl3.ppd.gz
index 90624ce4c..374647058 100644
--- a/ppd/hpijs/hp-laserjet_m9059_mfp-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_m9059_mfp-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p1005-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p1005-hpijs.ppd.gz
index 6487088bf..95e75838a 100644
--- a/ppd/hpijs/hp-laserjet_p1005-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p1005-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p1006-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p1006-hpijs.ppd.gz
index a6359840a..0e652795f 100644
--- a/ppd/hpijs/hp-laserjet_p1006-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p1006-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p1007-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p1007-hpijs.ppd.gz
index c41e59072..67909c07f 100644
--- a/ppd/hpijs/hp-laserjet_p1007-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p1007-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p1008-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p1008-hpijs.ppd.gz
index dcdb1323b..ede16633b 100644
--- a/ppd/hpijs/hp-laserjet_p1008-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p1008-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p1009-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p1009-hpijs.ppd.gz
index 15f742584..5e5a25516 100644
--- a/ppd/hpijs/hp-laserjet_p1009-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p1009-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p1505-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p1505-hpijs.ppd.gz
index 3b5a84d40..bce66cd69 100644
--- a/ppd/hpijs/hp-laserjet_p1505-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p1505-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p1505n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p1505n-hpijs-pcl3.ppd.gz
index 080e8c1b2..efb9a73e6 100644
--- a/ppd/hpijs/hp-laserjet_p1505n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p1505n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p1505n-hpijs-zxs.ppd.gz b/ppd/hpijs/hp-laserjet_p1505n-hpijs-zxs.ppd.gz
index d1f3d2d27..c725137df 100644
--- a/ppd/hpijs/hp-laserjet_p1505n-hpijs-zxs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p1505n-hpijs-zxs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2014-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2014-hpijs-pcl3.ppd.gz
index 31e729925..ab58c91c7 100644
--- a/ppd/hpijs/hp-laserjet_p2014-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2014-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2014-hpijs-zxs.ppd.gz b/ppd/hpijs/hp-laserjet_p2014-hpijs-zxs.ppd.gz
index ceadf69c1..37b301c1c 100644
--- a/ppd/hpijs/hp-laserjet_p2014-hpijs-zxs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2014-hpijs-zxs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2014n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2014n-hpijs-pcl3.ppd.gz
index 7215c9933..fb56736f8 100644
--- a/ppd/hpijs/hp-laserjet_p2014n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2014n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz b/ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz
index 070d26f5e..e00f99b66 100644
--- a/ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz
index 8c2cfcad1..8ed892dc4 100644
--- a/ppd/hpijs/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2015d_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p2015d_series-hpijs.ppd.gz
index 82aaf5ced..e810bb3c8 100644
--- a/ppd/hpijs/hp-laserjet_p2015d_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2015d_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2015dn_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p2015dn_series-hpijs.ppd.gz
index 9e09029f7..0f5efa12d 100644
--- a/ppd/hpijs/hp-laserjet_p2015dn_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2015dn_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2015n_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p2015n_series-hpijs.ppd.gz
index 50e88d036..bba8d43e4 100644
--- a/ppd/hpijs/hp-laserjet_p2015n_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2015n_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2015x_series-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p2015x_series-hpijs.ppd.gz
index c39a8fb26..c7af63f56 100644
--- a/ppd/hpijs/hp-laserjet_p2015x_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2015x_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2035-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2035-hpijs-pcl3.ppd.gz
index 5c9b12b69..a01a30f38 100644
--- a/ppd/hpijs/hp-laserjet_p2035-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2035-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz b/ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz
index 1e5db4bae..ea88e75c3 100644
--- a/ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2035n-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2035n-hpijs-pcl3.ppd.gz
index 40642df7e..f7d45e3b9 100644
--- a/ppd/hpijs/hp-laserjet_p2035n-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2035n-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2035n-hpijs-zjs.ppd.gz b/ppd/hpijs/hp-laserjet_p2035n-hpijs-zjs.ppd.gz
index a1e468ef5..f990400c4 100644
--- a/ppd/hpijs/hp-laserjet_p2035n-hpijs-zjs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2035n-hpijs-zjs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2055-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2055-hpijs-pcl3.ppd.gz
index 2653a36df..7365ebb6c 100644
--- a/ppd/hpijs/hp-laserjet_p2055-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2055-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2055d-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2055d-hpijs-pcl3.ppd.gz
index e2e6d1950..3e0f895c1 100644
--- a/ppd/hpijs/hp-laserjet_p2055d-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2055d-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2055dn-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2055dn-hpijs-pcl3.ppd.gz
index 4f43245d1..548a6ab4d 100644
--- a/ppd/hpijs/hp-laserjet_p2055dn-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2055dn-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz
index 13c660af3..0f5ea11f7 100644
--- a/ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p3004-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p3004-hpijs-pcl3.ppd.gz
index 66039612a..5baaea506 100644
--- a/ppd/hpijs/hp-laserjet_p3004-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p3004-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p3005-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p3005-hpijs-pcl3.ppd.gz
index 72042638b..a2171728b 100644
--- a/ppd/hpijs/hp-laserjet_p3005-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p3005-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p3010_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-laserjet_p3010_series-hpijs-pcl3.ppd.gz
index 120984408..f960849b7 100644
--- a/ppd/hpijs/hp-laserjet_p3010_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p3010_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4014-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4014-hpijs.ppd.gz
index 49d87466d..54f94bab0 100644
--- a/ppd/hpijs/hp-laserjet_p4014-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4014-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4014dn-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4014dn-hpijs.ppd.gz
index 24170585a..a961e2e42 100644
--- a/ppd/hpijs/hp-laserjet_p4014dn-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4014dn-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4014n-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4014n-hpijs.ppd.gz
index 43d770cce..926669a69 100644
--- a/ppd/hpijs/hp-laserjet_p4014n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4014n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4015-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4015-hpijs.ppd.gz
index b8bfc68ec..f9953a1b9 100644
--- a/ppd/hpijs/hp-laserjet_p4015-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4015-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4015dn-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4015dn-hpijs.ppd.gz
index a44af5574..2f995e93f 100644
--- a/ppd/hpijs/hp-laserjet_p4015dn-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4015dn-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4015n-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4015n-hpijs.ppd.gz
index bc6c00ca5..c012b4ba7 100644
--- a/ppd/hpijs/hp-laserjet_p4015n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4015n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz
index ce737d5f6..b5a0e17ee 100644
--- a/ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz
index f3ca5a29f..4666307a5 100644
--- a/ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4515-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4515-hpijs.ppd.gz
index 081730fc1..6a977b7eb 100644
--- a/ppd/hpijs/hp-laserjet_p4515-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4515-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4515n-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4515n-hpijs.ppd.gz
index a6e5f2bd9..6fe8cbd76 100644
--- a/ppd/hpijs/hp-laserjet_p4515n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4515n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4515tn-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4515tn-hpijs.ppd.gz
index 58d5980f8..70d84d586 100644
--- a/ppd/hpijs/hp-laserjet_p4515tn-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4515tn-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4515x-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4515x-hpijs.ppd.gz
index 1c3ac19da..3a52ad3b9 100644
--- a/ppd/hpijs/hp-laserjet_p4515x-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4515x-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_p4515xm-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_p4515xm-hpijs.ppd.gz
index c9231b16a..3ecfd5252 100644
--- a/ppd/hpijs/hp-laserjet_p4515xm-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_p4515xm-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_m1132_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_m1132_mfp-hpijs.ppd.gz
index af15665b3..7d39f976c 100644
--- a/ppd/hpijs/hp-laserjet_professional_m1132_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_m1132_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_m1136_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_m1136_mfp-hpijs.ppd.gz
index 4da70f059..5b982fdfc 100644
--- a/ppd/hpijs/hp-laserjet_professional_m1136_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_m1136_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_m1212nf_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_m1212nf_mfp-hpijs.ppd.gz
index c969a22b2..cec7b684d 100644
--- a/ppd/hpijs/hp-laserjet_professional_m1212nf_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_m1212nf_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz
index 314ef9f41..6b3dc9f91 100644
--- a/ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_m1214nfh_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_m1214nfh_mfp-hpijs.ppd.gz
index 945a3c768..bf63e4479 100644
--- a/ppd/hpijs/hp-laserjet_professional_m1214nfh_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_m1214nfh_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_m1216nfh_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_m1216nfh_mfp-hpijs.ppd.gz
index 18b086f14..6a52ea227 100644
--- a/ppd/hpijs/hp-laserjet_professional_m1216nfh_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_m1216nfh_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_m1217nfw_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_m1217nfw_mfp-hpijs.ppd.gz
index ccb305b91..001f2a58c 100644
--- a/ppd/hpijs/hp-laserjet_professional_m1217nfw_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_m1217nfw_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_m1219nf_mfp-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_m1219nf_mfp-hpijs.ppd.gz
index cc47db268..79118d35c 100644
--- a/ppd/hpijs/hp-laserjet_professional_m1219nf_mfp-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_m1219nf_mfp-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_p1102-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_p1102-hpijs.ppd.gz
index 56342c3df..11a3b1a92 100644
--- a/ppd/hpijs/hp-laserjet_professional_p1102-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_p1102-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_p1102s-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_p1102s-hpijs.ppd.gz
deleted file mode 100644
index df09f820c..000000000
--- a/ppd/hpijs/hp-laserjet_professional_p1102s-hpijs.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz
index 62549c067..66bd63d1b 100644
--- a/ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz
index 6597ad1aa..1a1914151 100644
--- a/ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_p1108-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_p1108-hpijs.ppd.gz
index e90bc7b78..3d34cd9bf 100644
--- a/ppd/hpijs/hp-laserjet_professional_p1108-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_p1108-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_p1566-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_p1566-hpijs.ppd.gz
index c9e7f827f..c801dfb35 100644
--- a/ppd/hpijs/hp-laserjet_professional_p1566-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_p1566-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_p1606dn-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_p1606dn-hpijs.ppd.gz
index 298eccf51..3745b4a2b 100644
--- a/ppd/hpijs/hp-laserjet_professional_p1606dn-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_p1606dn-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-laserjet_professional_p_1102w-hpijs.ppd.gz b/ppd/hpijs/hp-laserjet_professional_p_1102w-hpijs.ppd.gz
index a29eaf5eb..bdef1f33d 100644
--- a/ppd/hpijs/hp-laserjet_professional_p_1102w-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-laserjet_professional_p_1102w-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-mopier_240-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-mopier_240-hpijs-pcl3.ppd.gz
index da71fa75e..c29e14033 100644
--- a/ppd/hpijs/hp-mopier_240-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-mopier_240-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-mopier_320-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-mopier_320-hpijs-pcl3.ppd.gz
index 0616f0002..35a98a73f 100644
--- a/ppd/hpijs/hp-mopier_320-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-mopier_320-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet-hpijs.ppd.gz b/ppd/hpijs/hp-officejet-hpijs.ppd.gz
index 451960ef9..eb39cc370 100644
--- a/ppd/hpijs/hp-officejet-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_100_mobile_l411-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_100_mobile_l411-hpijs.ppd.gz
index 2ffa1dfa3..5f9316df7 100644
--- a/ppd/hpijs/hp-officejet_100_mobile_l411-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_100_mobile_l411-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4000_k210-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4000_k210-hpijs.ppd.gz
index e89e53b9a..4e244c3b2 100644
--- a/ppd/hpijs/hp-officejet_4000_k210-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4000_k210-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4100_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4100_series-hpijs.ppd.gz
index 1e1bde5b3..8f7096461 100644
--- a/ppd/hpijs/hp-officejet_4100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4105-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4105-hpijs.ppd.gz
index d00f6ee50..905bebd7b 100644
--- a/ppd/hpijs/hp-officejet_4105-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4105-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4115_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4115_series-hpijs.ppd.gz
index bcb4848c5..b31a111e9 100644
--- a/ppd/hpijs/hp-officejet_4115_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4115_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz
index 8053b502b..fc4f66b05 100644
--- a/ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4255-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4255-hpijs.ppd.gz
index 3d7ed95fc..1cfed9297 100644
--- a/ppd/hpijs/hp-officejet_4255-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4255-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4300_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4300_series-hpijs.ppd.gz
index 147babbb6..d074d49b6 100644
--- a/ppd/hpijs/hp-officejet_4300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4400_k410-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4400_k410-hpijs.ppd.gz
index 8467ee9e6..e1605f2bc 100644
--- a/ppd/hpijs/hp-officejet_4400_k410-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4400_k410-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4500_g510a-f-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4500_g510a-f-hpijs.ppd.gz
index ca30863f3..cb91b50d1 100644
--- a/ppd/hpijs/hp-officejet_4500_g510a-f-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4500_g510a-f-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4500_g510g-m-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4500_g510g-m-hpijs.ppd.gz
index b4fd976c9..3a1737588 100644
--- a/ppd/hpijs/hp-officejet_4500_g510g-m-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4500_g510g-m-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz
index a4208a017..df85c80ae 100644
--- a/ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_4500_k710-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_4500_k710-hpijs.ppd.gz
index 91cbad4be..7d3792ac2 100644
--- a/ppd/hpijs/hp-officejet_4500_k710-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_4500_k710-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_5100_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_5100_series-hpijs.ppd.gz
index a42df05d7..850a35e30 100644
--- a/ppd/hpijs/hp-officejet_5100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_5100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_5105-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_5105-hpijs.ppd.gz
index 1701b5ecb..594e91c08 100644
--- a/ppd/hpijs/hp-officejet_5105-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_5105-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz
index 8550701ce..b02773db9 100644
--- a/ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz
index 368ea6523..c05677a6f 100644
--- a/ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz
index f5ef8d12e..cc8f3e8c5 100644
--- a/ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_5600_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_5600_series-hpijs.ppd.gz
index bb8e205c4..a48bd8694 100644
--- a/ppd/hpijs/hp-officejet_5600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_5600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6000_e609a-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6000_e609a-hpijs.ppd.gz
index 55a3dcff0..472f96c0b 100644
--- a/ppd/hpijs/hp-officejet_6000_e609a-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6000_e609a-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz
index 36aa2e5fa..db8539efc 100644
--- a/ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6100-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6100-hpijs.ppd.gz
new file mode 100644
index 000000000..60a89a6ec
--- /dev/null
+++ b/ppd/hpijs/hp-officejet_6100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6100_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6100_series-hpijs.ppd.gz
index aebcb9e95..3eedd7728 100644
--- a/ppd/hpijs/hp-officejet_6100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6150_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6150_series-hpijs.ppd.gz
index 9291bb7d0..050a6bdb1 100644
--- a/ppd/hpijs/hp-officejet_6150_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6150_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6200_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6200_series-hpijs.ppd.gz
index 83ba86b1f..088962d08 100644
--- a/ppd/hpijs/hp-officejet_6200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6300_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6300_series-hpijs.ppd.gz
index afc774204..0458923d0 100644
--- a/ppd/hpijs/hp-officejet_6300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6500_e709a-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6500_e709a-hpijs.ppd.gz
index b57a3bb33..ec8fdf1ea 100644
--- a/ppd/hpijs/hp-officejet_6500_e709a-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6500_e709a-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6500_e709n-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6500_e709n-hpijs.ppd.gz
index 27c3e2c1b..ad8f79350 100644
--- a/ppd/hpijs/hp-officejet_6500_e709n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6500_e709n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6500_e710a-f-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6500_e710a-f-hpijs.ppd.gz
index 5f0e0390e..6ecc2909a 100644
--- a/ppd/hpijs/hp-officejet_6500_e710a-f-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6500_e710a-f-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6500_e710n-z-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6500_e710n-z-hpijs.ppd.gz
index 436b5b679..52513e745 100644
--- a/ppd/hpijs/hp-officejet_6500_e710n-z-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_6500_e710n-z-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz
new file mode 100644
index 000000000..d190e0466
--- /dev/null
+++ b/ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_6700-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_6700-hpijs.ppd.gz
new file mode 100644
index 000000000..48f93efe1
--- /dev/null
+++ b/ppd/hpijs/hp-officejet_6700-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz
index 2531a042f..284d94271 100644
--- a/ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_7000_e809a_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_7000_e809a_series-hpijs.ppd.gz
index 6ee51883e..3463f5926 100644
--- a/ppd/hpijs/hp-officejet_7000_e809a_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_7000_e809a_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_7100_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_7100_series-hpijs.ppd.gz
index 46bbd2600..47300645f 100644
--- a/ppd/hpijs/hp-officejet_7100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_7100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_7200_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_7200_series-hpijs.ppd.gz
index c906ca1a3..6ca811ee1 100644
--- a/ppd/hpijs/hp-officejet_7200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_7200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_7300_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_7300_series-hpijs.ppd.gz
index 4bb8692af..b9de130de 100644
--- a/ppd/hpijs/hp-officejet_7300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_7300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_7400_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_7400_series-hpijs.ppd.gz
index 37e703d64..5264c6051 100644
--- a/ppd/hpijs/hp-officejet_7400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_7400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_7500_e910-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_7500_e910-hpijs.ppd.gz
index aa8ef7ebe..1eab04aff 100644
--- a/ppd/hpijs/hp-officejet_7500_e910-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_7500_e910-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_9100_series-hpijs-pcl3.ppd.gz b/ppd/hpijs/hp-officejet_9100_series-hpijs-pcl3.ppd.gz
index 32923bb7d..e7e749905 100644
--- a/ppd/hpijs/hp-officejet_9100_series-hpijs-pcl3.ppd.gz
+++ b/ppd/hpijs/hp-officejet_9100_series-hpijs-pcl3.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_d_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_d_series-hpijs.ppd.gz
index 71f0da180..695a304a1 100644
--- a/ppd/hpijs/hp-officejet_d_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_d_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_g55-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_g55-hpijs.ppd.gz
index f51ae114d..fdbe4f681 100644
--- a/ppd/hpijs/hp-officejet_g55-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_g55-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz
index 9e19e6605..a2219c83d 100644
--- a/ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_g85-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_g85-hpijs.ppd.gz
index 463fe8bc9..8e8ba791b 100644
--- a/ppd/hpijs/hp-officejet_g85-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_g85-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_g85xi-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_g85xi-hpijs.ppd.gz
index a01b7e4b0..db0471995 100644
--- a/ppd/hpijs/hp-officejet_g85xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_g85xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_g95-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_g95-hpijs.ppd.gz
index 393ae359b..f4756ffb5 100644
--- a/ppd/hpijs/hp-officejet_g95-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_g95-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz
index 9f5884c18..16a814e74 100644
--- a/ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_j3500_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_j3500_series-hpijs.ppd.gz
index 674d7d68c..b7e0951dd 100644
--- a/ppd/hpijs/hp-officejet_j3500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_j3500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_j3600_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_j3600_series-hpijs.ppd.gz
index bcc1feda9..aec75d855 100644
--- a/ppd/hpijs/hp-officejet_j3600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_j3600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_j4500_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_j4500_series-hpijs.ppd.gz
index 4db61a8ac..4710d6098 100644
--- a/ppd/hpijs/hp-officejet_j4500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_j4500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_j4660_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_j4660_series-hpijs.ppd.gz
index 537253366..9d4995c67 100644
--- a/ppd/hpijs/hp-officejet_j4660_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_j4660_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_j4680_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_j4680_series-hpijs.ppd.gz
index d43ece78e..0f29d2f4f 100644
--- a/ppd/hpijs/hp-officejet_j4680_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_j4680_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_j5500_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_j5500_series-hpijs.ppd.gz
index a7d83b711..3eaeeea3c 100644
--- a/ppd/hpijs/hp-officejet_j5500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_j5500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_j5700_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_j5700_series-hpijs.ppd.gz
index 11f22eea1..d086e7471 100644
--- a/ppd/hpijs/hp-officejet_j5700_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_j5700_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_j6400_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_j6400_series-hpijs.ppd.gz
index 1785cb8cf..bed87b212 100644
--- a/ppd/hpijs/hp-officejet_j6400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_j6400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_k60-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_k60-hpijs.ppd.gz
index 9e28fb0bd..6f0b5a99c 100644
--- a/ppd/hpijs/hp-officejet_k60-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_k60-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_k60xi-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_k60xi-hpijs.ppd.gz
index 55d8e00e9..fe0ab9570 100644
--- a/ppd/hpijs/hp-officejet_k60xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_k60xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_k7100-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_k7100-hpijs.ppd.gz
index 4d0be7d5e..7e8062b2b 100644
--- a/ppd/hpijs/hp-officejet_k7100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_k7100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_k80-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_k80-hpijs.ppd.gz
index 8f6fc5197..091667766 100644
--- a/ppd/hpijs/hp-officejet_k80-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_k80-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_k80xi-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_k80xi-hpijs.ppd.gz
index 9ff38ea98..b6fb3fd56 100644
--- a/ppd/hpijs/hp-officejet_k80xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_k80xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz
index d4a811d31..0e366634b 100644
--- a/ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_1150c-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_1150c-hpijs.ppd.gz
index 2089414b9..cfec55f74 100644
--- a/ppd/hpijs/hp-officejet_pro_1150c-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_1150c-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_1170c_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_1170c_series-hpijs.ppd.gz
index 8955e244b..9cab325b5 100644
--- a/ppd/hpijs/hp-officejet_pro_1170c_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_1170c_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_8000_a809-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_8000_a809-hpijs.ppd.gz
index 65977cf35..5d28c9548 100644
--- a/ppd/hpijs/hp-officejet_pro_8000_a809-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_8000_a809-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_8100-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_8100-hpijs.ppd.gz
index af832a4d4..85d61e339 100644
--- a/ppd/hpijs/hp-officejet_pro_8100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_8100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_8500_a909a-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_8500_a909a-hpijs.ppd.gz
index 58bdbbccc..faeb42766 100644
--- a/ppd/hpijs/hp-officejet_pro_8500_a909a-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_8500_a909a-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz
index aa9e89905..ad13c83c4 100644
--- a/ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_8500_a909n-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_8500_a909n-hpijs.ppd.gz
index a8d23a876..dd1e02eab 100644
--- a/ppd/hpijs/hp-officejet_pro_8500_a909n-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_8500_a909n-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_8500_a910-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_8500_a910-hpijs.ppd.gz
index 994501250..d1da11117 100644
--- a/ppd/hpijs/hp-officejet_pro_8500_a910-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_8500_a910-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_8600-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_8600-hpijs.ppd.gz
index 2698c3aa8..a930eb317 100644
--- a/ppd/hpijs/hp-officejet_pro_8600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_8600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_k5300-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_k5300-hpijs.ppd.gz
index 82b6443a3..7b4cdfa98 100644
--- a/ppd/hpijs/hp-officejet_pro_k5300-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_k5300-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_k5400-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_k5400-hpijs.ppd.gz
index 3986d8180..54829f070 100644
--- a/ppd/hpijs/hp-officejet_pro_k5400-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_k5400-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_k550-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_k550-hpijs.ppd.gz
index 56f105f09..a1002345e 100644
--- a/ppd/hpijs/hp-officejet_pro_k550-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_k550-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_k850-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_k850-hpijs.ppd.gz
index dfa852f0f..798baed18 100644
--- a/ppd/hpijs/hp-officejet_pro_k850-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_k850-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_k8600-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_k8600-hpijs.ppd.gz
index 088b34054..7e7468824 100644
--- a/ppd/hpijs/hp-officejet_pro_k8600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_k8600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_l7300-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_l7300-hpijs.ppd.gz
index 5cb879b6b..5141659e1 100644
--- a/ppd/hpijs/hp-officejet_pro_l7300-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_l7300-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_l7400-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_l7400-hpijs.ppd.gz
index 5dec37c98..493648cbd 100644
--- a/ppd/hpijs/hp-officejet_pro_l7400-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_l7400-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_l7500-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_l7500-hpijs.ppd.gz
index 5f936ae96..d3847d478 100644
--- a/ppd/hpijs/hp-officejet_pro_l7500-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_l7500-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_l7600-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_l7600-hpijs.ppd.gz
index b909247ba..37709099d 100644
--- a/ppd/hpijs/hp-officejet_pro_l7600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_l7600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_pro_l7700-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_pro_l7700-hpijs.ppd.gz
index 570a66352..9ba685698 100644
--- a/ppd/hpijs/hp-officejet_pro_l7700-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_pro_l7700-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_r40-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_r40-hpijs.ppd.gz
index bea827862..f01a91296 100644
--- a/ppd/hpijs/hp-officejet_r40-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_r40-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_r40xi-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_r40xi-hpijs.ppd.gz
index b947cb7e3..8d67120ec 100644
--- a/ppd/hpijs/hp-officejet_r40xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_r40xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_r45-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_r45-hpijs.ppd.gz
index 33a7d22ab..a18ac35c6 100644
--- a/ppd/hpijs/hp-officejet_r45-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_r45-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz
index f68f19b3d..40296bea8 100644
--- a/ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_r65-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_r65-hpijs.ppd.gz
index 3a3b34d41..2bbce8fcf 100644
--- a/ppd/hpijs/hp-officejet_r65-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_r65-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_r80-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_r80-hpijs.ppd.gz
index b821a386b..2e2201994 100644
--- a/ppd/hpijs/hp-officejet_r80-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_r80-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz
index 50a54d5e5..e12deebb9 100644
--- a/ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_300-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_300-hpijs.ppd.gz
index cb50811b5..da3b7d8be 100644
--- a/ppd/hpijs/hp-officejet_series_300-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_300-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_310-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_310-hpijs.ppd.gz
index bb39cb813..7f5a96e2b 100644
--- a/ppd/hpijs/hp-officejet_series_310-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_310-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_320-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_320-hpijs.ppd.gz
index 73e28112c..475d1173f 100644
--- a/ppd/hpijs/hp-officejet_series_320-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_320-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_330-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_330-hpijs.ppd.gz
index cb82bad31..5e7097235 100644
--- a/ppd/hpijs/hp-officejet_series_330-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_330-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_350-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_350-hpijs.ppd.gz
index 0dec8457f..50a827ff3 100644
--- a/ppd/hpijs/hp-officejet_series_350-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_350-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_500-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_500-hpijs.ppd.gz
deleted file mode 100644
index abac3eb90..000000000
--- a/ppd/hpijs/hp-officejet_series_500-hpijs.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_520-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_520-hpijs.ppd.gz
index b6e6b7ba6..9ea770d69 100644
--- a/ppd/hpijs/hp-officejet_series_520-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_520-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_570-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_570-hpijs.ppd.gz
index 7706ee1dc..04de47594 100644
--- a/ppd/hpijs/hp-officejet_series_570-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_570-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_580-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_580-hpijs.ppd.gz
index fa599f2fe..b60f92bce 100644
--- a/ppd/hpijs/hp-officejet_series_580-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_580-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_590-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_590-hpijs.ppd.gz
index ebffcb678..c1864714c 100644
--- a/ppd/hpijs/hp-officejet_series_590-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_590-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_600-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_600-hpijs.ppd.gz
index 1d57a5ab7..73aabfad5 100644
--- a/ppd/hpijs/hp-officejet_series_600-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_600-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_610-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_610-hpijs.ppd.gz
index 94fc076f9..2a6561797 100644
--- a/ppd/hpijs/hp-officejet_series_610-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_610-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz
index 5fa43bfe0..1126aa695 100644
--- a/ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_700-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_700-hpijs.ppd.gz
index 316e89652..b749fa5f2 100644
--- a/ppd/hpijs/hp-officejet_series_700-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_700-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_710-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_710-hpijs.ppd.gz
index 8ccd42acc..dfe9fedf6 100644
--- a/ppd/hpijs/hp-officejet_series_710-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_710-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_720-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_720-hpijs.ppd.gz
index 90591c31a..717338581 100644
--- a/ppd/hpijs/hp-officejet_series_720-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_720-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_series_725-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_series_725-hpijs.ppd.gz
index 51a80ea72..1afe7a877 100644
--- a/ppd/hpijs/hp-officejet_series_725-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_series_725-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz
index f76906624..2e37bc477 100644
--- a/ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_v30-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_v30-hpijs.ppd.gz
index 75b4547d6..8b8c1f430 100644
--- a/ppd/hpijs/hp-officejet_v30-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_v30-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_v40-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_v40-hpijs.ppd.gz
index 3593daacc..a64b2f266 100644
--- a/ppd/hpijs/hp-officejet_v40-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_v40-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_v40xi-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_v40xi-hpijs.ppd.gz
index 2b2386bb6..b4747e624 100644
--- a/ppd/hpijs/hp-officejet_v40xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_v40xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-officejet_v45-hpijs.ppd.gz b/ppd/hpijs/hp-officejet_v45-hpijs.ppd.gz
index 332a2821f..dc612645a 100644
--- a/ppd/hpijs/hp-officejet_v45-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-officejet_v45-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_100-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_100-hpijs.ppd.gz
index 1d7a54a85..ccde1f181 100644
--- a/ppd/hpijs/hp-photosmart_100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_1115-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_1115-hpijs.ppd.gz
index b8cccb9e1..89491039f 100644
--- a/ppd/hpijs/hp-photosmart_1115-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_1115-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_1215-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_1215-hpijs.ppd.gz
index b0abb1bdd..e33f2e47c 100644
--- a/ppd/hpijs/hp-photosmart_1215-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_1215-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_1218-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_1218-hpijs.ppd.gz
index f4bbeb524..6d1161762 100644
--- a/ppd/hpijs/hp-photosmart_1218-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_1218-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_130-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_130-hpijs.ppd.gz
index b971a359a..0d41ca992 100644
--- a/ppd/hpijs/hp-photosmart_130-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_130-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_1315-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_1315-hpijs.ppd.gz
index c138543a3..5527870ca 100644
--- a/ppd/hpijs/hp-photosmart_1315-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_1315-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_140_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_140_series-hpijs.ppd.gz
index d462af384..55fcb2de9 100644
--- a/ppd/hpijs/hp-photosmart_140_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_140_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz
index 8f6c6f18c..f86d82be0 100644
--- a/ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_240_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_240_series-hpijs.ppd.gz
index 46f778482..7cab2dae9 100644
--- a/ppd/hpijs/hp-photosmart_240_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_240_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_2570_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_2570_series-hpijs.ppd.gz
index 8e0c37f56..e53367f4d 100644
--- a/ppd/hpijs/hp-photosmart_2570_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_2570_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_2600_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_2600_series-hpijs.ppd.gz
index 4e1a9958b..01c38071a 100644
--- a/ppd/hpijs/hp-photosmart_2600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_2600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_2700_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_2700_series-hpijs.ppd.gz
index 80a7f41ba..d5a0ad72b 100644
--- a/ppd/hpijs/hp-photosmart_2700_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_2700_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_3100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_3100_series-hpijs.ppd.gz
index e2c006971..0c5fa8cc1 100644
--- a/ppd/hpijs/hp-photosmart_3100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_3100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_3200_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_3200_series-hpijs.ppd.gz
index 99c4aa815..97cbca549 100644
--- a/ppd/hpijs/hp-photosmart_3200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_3200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz
index e468a280f..2858bf751 100644
--- a/ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_3300_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_3300_series-hpijs.ppd.gz
index 803461d84..caff2b48b 100644
--- a/ppd/hpijs/hp-photosmart_3300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_3300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_330_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_330_series-hpijs.ppd.gz
index 0020d00d0..a495ae34b 100644
--- a/ppd/hpijs/hp-photosmart_330_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_330_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz
index 70b3946d4..db5b85ad1 100644
--- a/ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_380_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_380_series-hpijs.ppd.gz
index de650478f..4a864e5a1 100644
--- a/ppd/hpijs/hp-photosmart_380_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_380_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_420_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_420_series-hpijs.ppd.gz
index 5c275e7e9..61d7ee59f 100644
--- a/ppd/hpijs/hp-photosmart_420_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_420_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_470_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_470_series-hpijs.ppd.gz
index d8168fe51..d2aa8840d 100644
--- a/ppd/hpijs/hp-photosmart_470_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_470_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_5510_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_5510_series-hpijs.ppd.gz
index 0158eff21..4a2f9aef7 100644
--- a/ppd/hpijs/hp-photosmart_5510_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_5510_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_5510d_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_5510d_series-hpijs.ppd.gz
index 363e30410..4dc57de5d 100644
--- a/ppd/hpijs/hp-photosmart_5510d_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_5510d_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_6510_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_6510_series-hpijs.ppd.gz
index 60e10ce7c..35931aee3 100644
--- a/ppd/hpijs/hp-photosmart_6510_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_6510_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7150-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7150-hpijs.ppd.gz
index 796da436d..59140599e 100644
--- a/ppd/hpijs/hp-photosmart_7150-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7150-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7200_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7200_series-hpijs.ppd.gz
index 1959b7d52..b1d14eb8e 100644
--- a/ppd/hpijs/hp-photosmart_7200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7345-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7345-hpijs.ppd.gz
index 640c4471a..b86d3061e 100644
--- a/ppd/hpijs/hp-photosmart_7345-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7345-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7350-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7350-hpijs.ppd.gz
index 49ec30f37..ecc219f62 100644
--- a/ppd/hpijs/hp-photosmart_7350-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7350-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7400_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7400_series-hpijs.ppd.gz
index 13db12f66..2a654e042 100644
--- a/ppd/hpijs/hp-photosmart_7400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7510_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7510_series-hpijs.ppd.gz
index 6abbe6129..69c2a4158 100644
--- a/ppd/hpijs/hp-photosmart_7510_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7510_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz
index cebd38561..85736dea7 100644
--- a/ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7600_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7600_series-hpijs.ppd.gz
index 13765c368..d2ae93b08 100644
--- a/ppd/hpijs/hp-photosmart_7600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7700_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7700_series-hpijs.ppd.gz
index 3d599122e..98bdb99a0 100644
--- a/ppd/hpijs/hp-photosmart_7700_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7700_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7800_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7800_series-hpijs.ppd.gz
index 30dfd8e0a..d5afe2044 100644
--- a/ppd/hpijs/hp-photosmart_7800_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7800_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_7900_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_7900_series-hpijs.ppd.gz
index 4675ab718..686700754 100644
--- a/ppd/hpijs/hp-photosmart_7900_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_7900_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_8000_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_8000_series-hpijs.ppd.gz
index 97422de60..2fe4ae58e 100644
--- a/ppd/hpijs/hp-photosmart_8000_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_8000_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_8100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_8100_series-hpijs.ppd.gz
index 6d6709402..6e8b9b101 100644
--- a/ppd/hpijs/hp-photosmart_8100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_8100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz
index e9ea27dab..3143c6bd5 100644
--- a/ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_8400_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_8400_series-hpijs.ppd.gz
index d4ac35c68..120a461b7 100644
--- a/ppd/hpijs/hp-photosmart_8400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_8400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_8700_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_8700_series-hpijs.ppd.gz
index 94202dc74..394f507ec 100644
--- a/ppd/hpijs/hp-photosmart_8700_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_8700_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a310_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a310_series-hpijs.ppd.gz
index fe351e7bd..b28577081 100644
--- a/ppd/hpijs/hp-photosmart_a310_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a310_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a320_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a320_series-hpijs.ppd.gz
index b5ed2dafa..25b90ba3d 100644
--- a/ppd/hpijs/hp-photosmart_a320_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a320_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a430_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a430_series-hpijs.ppd.gz
index f2ca83298..d80c0fc48 100644
--- a/ppd/hpijs/hp-photosmart_a430_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a430_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz
index b22f6a24b..4e4e7396b 100644
--- a/ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a510_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a510_series-hpijs.ppd.gz
index 15fa6ac3c..4e1f34c89 100644
--- a/ppd/hpijs/hp-photosmart_a510_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a510_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a520_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a520_series-hpijs.ppd.gz
index a1b374bb1..1894a0770 100644
--- a/ppd/hpijs/hp-photosmart_a520_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a520_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a530_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a530_series-hpijs.ppd.gz
index 147e51e92..30d5335be 100644
--- a/ppd/hpijs/hp-photosmart_a530_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a530_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a610_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a610_series-hpijs.ppd.gz
index 84b9224ce..5ad2ad129 100644
--- a/ppd/hpijs/hp-photosmart_a610_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a610_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a620_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a620_series-hpijs.ppd.gz
index 16c018a60..7bdf70e0d 100644
--- a/ppd/hpijs/hp-photosmart_a620_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a620_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a630_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a630_series-hpijs.ppd.gz
index f9f76051d..3bb30716a 100644
--- a/ppd/hpijs/hp-photosmart_a630_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a630_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a640_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a640_series-hpijs.ppd.gz
index 5d2d3e967..aba45e734 100644
--- a/ppd/hpijs/hp-photosmart_a640_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a640_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a710_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a710_series-hpijs.ppd.gz
index bf69214d6..bb0036d69 100644
--- a/ppd/hpijs/hp-photosmart_a710_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a710_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_a820_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_a820_series-hpijs.ppd.gz
index 8504c3bf9..80a4dae63 100644
--- a/ppd/hpijs/hp-photosmart_a820_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_a820_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_b010_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_b010_series-hpijs.ppd.gz
index ad8103106..f4e47e93c 100644
--- a/ppd/hpijs/hp-photosmart_b010_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_b010_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_b109a-m-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_b109a-m-hpijs.ppd.gz
index 3fb243ae7..39588b6be 100644
--- a/ppd/hpijs/hp-photosmart_b109a-m-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_b109a-m-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_b109a_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_b109a_series-hpijs.ppd.gz
index a71a2f944..1774fe351 100644
--- a/ppd/hpijs/hp-photosmart_b109a_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_b109a_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_b110_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_b110_series-hpijs.ppd.gz
index 157c002b6..41985722a 100644
--- a/ppd/hpijs/hp-photosmart_b110_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_b110_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_b8500_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_b8500_series-hpijs.ppd.gz
index cb03214e5..0d46cd088 100644
--- a/ppd/hpijs/hp-photosmart_b8500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_b8500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c309a_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c309a_series-hpijs.ppd.gz
index de847c11b..916fd1064 100644
--- a/ppd/hpijs/hp-photosmart_c309a_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c309a_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz
index 32bafc87c..fa7b3d3fd 100644
--- a/ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c4100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c4100_series-hpijs.ppd.gz
index c7df24eb1..1918a4635 100644
--- a/ppd/hpijs/hp-photosmart_c4100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c4100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz
index e69920963..ecee6d0ca 100644
--- a/ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c4340_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c4340_series-hpijs.ppd.gz
index 38198aa7f..68bf16dde 100644
--- a/ppd/hpijs/hp-photosmart_c4340_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c4340_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c4380_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c4380_series-hpijs.ppd.gz
index 1de297baa..96d53b3c2 100644
--- a/ppd/hpijs/hp-photosmart_c4380_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c4380_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c4400_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c4400_series-hpijs.ppd.gz
index 705374ace..cf6f14844 100644
--- a/ppd/hpijs/hp-photosmart_c4400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c4400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c4500_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c4500_series-hpijs.ppd.gz
index f0211c89f..a494633c6 100644
--- a/ppd/hpijs/hp-photosmart_c4500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c4500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c4600_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c4600_series-hpijs.ppd.gz
index 8dd6021df..fb8e5e77e 100644
--- a/ppd/hpijs/hp-photosmart_c4600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c4600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c4700_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c4700_series-hpijs.ppd.gz
index 816c82299..648ac5659 100644
--- a/ppd/hpijs/hp-photosmart_c4700_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c4700_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz
index 8e35520df..bec694019 100644
--- a/ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz
index 2b8129898..99f9179f5 100644
--- a/ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c5300_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c5300_series-hpijs.ppd.gz
index 98ef8f13e..2b49dc243 100644
--- a/ppd/hpijs/hp-photosmart_c5300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c5300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c5500_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c5500_series-hpijs.ppd.gz
index 1423f79b8..e0048df53 100644
--- a/ppd/hpijs/hp-photosmart_c5500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c5500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c6100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c6100_series-hpijs.ppd.gz
index 118734380..03f2f0a5c 100644
--- a/ppd/hpijs/hp-photosmart_c6100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c6100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c6200_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c6200_series-hpijs.ppd.gz
index 0d10bb38b..128488656 100644
--- a/ppd/hpijs/hp-photosmart_c6200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c6200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c6300_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c6300_series-hpijs.ppd.gz
index 0d0e31e7c..1cea1dae9 100644
--- a/ppd/hpijs/hp-photosmart_c6300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c6300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c7100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c7100_series-hpijs.ppd.gz
index 5e48c9c52..f7b7dff50 100644
--- a/ppd/hpijs/hp-photosmart_c7100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c7100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz
index 88a030fc8..2039c0175 100644
--- a/ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_c8100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_c8100_series-hpijs.ppd.gz
index 6d67bdadf..a5a690ba9 100644
--- a/ppd/hpijs/hp-photosmart_c8100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_c8100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz
index ee35548ba..f0365da52 100644
--- a/ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d5060_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d5060_series-hpijs.ppd.gz
index c902c36ed..4bbb196b9 100644
--- a/ppd/hpijs/hp-photosmart_d5060_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d5060_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d5100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d5100_series-hpijs.ppd.gz
index 3e8eb93e0..014bbdc99 100644
--- a/ppd/hpijs/hp-photosmart_d5100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d5100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d5300_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d5300_series-hpijs.ppd.gz
index cdec185d0..61d3fd6ac 100644
--- a/ppd/hpijs/hp-photosmart_d5300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d5300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz
index efa3ca28d..75b50ccf1 100644
--- a/ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d6100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d6100_series-hpijs.ppd.gz
index 47a89ed3a..1ccc9c59d 100644
--- a/ppd/hpijs/hp-photosmart_d6100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d6100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d7100_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d7100_series-hpijs.ppd.gz
index 6b5eea72d..5af593d37 100644
--- a/ppd/hpijs/hp-photosmart_d7100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d7100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d7200_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d7200_series-hpijs.ppd.gz
index 0f72f35e4..69ea811e0 100644
--- a/ppd/hpijs/hp-photosmart_d7200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d7200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d7300_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d7300_series-hpijs.ppd.gz
index 3741a67ab..6626ce5fc 100644
--- a/ppd/hpijs/hp-photosmart_d7300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d7300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d7400_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d7400_series-hpijs.ppd.gz
index 713acb91c..4d595919a 100644
--- a/ppd/hpijs/hp-photosmart_d7400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d7400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_d7500_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_d7500_series-hpijs.ppd.gz
index 16f600d8f..405413e32 100644
--- a/ppd/hpijs/hp-photosmart_d7500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_d7500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_estn_c510_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_estn_c510_series-hpijs.ppd.gz
index 76d1e634a..2b071c7f2 100644
--- a/ppd/hpijs/hp-photosmart_estn_c510_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_estn_c510_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_ink_adv_k510-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_ink_adv_k510-hpijs.ppd.gz
index 3df706b3c..985d29c0e 100644
--- a/ppd/hpijs/hp-photosmart_ink_adv_k510-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_ink_adv_k510-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_p1000-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_p1000-hpijs.ppd.gz
index f657757b7..a644e3566 100644
--- a/ppd/hpijs/hp-photosmart_p1000-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_p1000-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_p1100-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_p1100-hpijs.ppd.gz
index a9f97dcbc..054d2673a 100644
--- a/ppd/hpijs/hp-photosmart_p1100-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_p1100-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_plus_b209a-m-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_plus_b209a-m-hpijs.ppd.gz
index bc27d2aa6..0488259e6 100644
--- a/ppd/hpijs/hp-photosmart_plus_b209a-m-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_plus_b209a-m-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_plus_b210_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_plus_b210_series-hpijs.ppd.gz
index 264fa9a93..74fde86c5 100644
--- a/ppd/hpijs/hp-photosmart_plus_b210_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_plus_b210_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_prem-web_c309n-s-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_prem-web_c309n-s-hpijs.ppd.gz
index 1f69f7cf2..07db1635c 100644
--- a/ppd/hpijs/hp-photosmart_prem-web_c309n-s-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_prem-web_c309n-s-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_prem_c310_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_prem_c310_series-hpijs.ppd.gz
index 0f523ee4e..a50b3143c 100644
--- a/ppd/hpijs/hp-photosmart_prem_c310_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_prem_c310_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_prem_c410_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_prem_c410_series-hpijs.ppd.gz
index d36c4f221..b2b514f63 100644
--- a/ppd/hpijs/hp-photosmart_prem_c410_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_prem_c410_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_premium_c309g-m-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_premium_c309g-m-hpijs.ppd.gz
index 2ac40fd46..bd7d16ae2 100644
--- a/ppd/hpijs/hp-photosmart_premium_c309g-m-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_premium_c309g-m-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_pro_b8300_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_pro_b8300_series-hpijs.ppd.gz
index 5c111d483..65f05edb8 100644
--- a/ppd/hpijs/hp-photosmart_pro_b8300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_pro_b8300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_pro_b8800_series-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_pro_b8800_series-hpijs.ppd.gz
index 27c32756b..addfa56be 100644
--- a/ppd/hpijs/hp-photosmart_pro_b8800_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_pro_b8800_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-photosmart_wireless_b109n-z-hpijs.ppd.gz b/ppd/hpijs/hp-photosmart_wireless_b109n-z-hpijs.ppd.gz
index 7d8df7d22..9535f23ff 100644
--- a/ppd/hpijs/hp-photosmart_wireless_b109n-z-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-photosmart_wireless_b109n-z-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz b/ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz
index 8c42260b9..9b24d43ae 100644
--- a/ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1000_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1000_series-hpijs.ppd.gz
index cfcd29752..e3e36c09b 100644
--- a/ppd/hpijs/hp-psc_1000_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1000_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1100_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1100_series-hpijs.ppd.gz
index 72f98174f..712e5202f 100644
--- a/ppd/hpijs/hp-psc_1100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1200_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1200_series-hpijs.ppd.gz
index a2f368ad1..99b42cc33 100644
--- a/ppd/hpijs/hp-psc_1200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1300_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1300_series-hpijs.ppd.gz
index 745ae800e..f24245e22 100644
--- a/ppd/hpijs/hp-psc_1300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1310_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1310_series-hpijs.ppd.gz
index b7278b582..aefd205b2 100644
--- a/ppd/hpijs/hp-psc_1310_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1310_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1358_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1358_series-hpijs.ppd.gz
index 615bbd765..4f8747805 100644
--- a/ppd/hpijs/hp-psc_1358_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1358_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1400_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1400_series-hpijs.ppd.gz
index 5a6cdfa4f..00375e27f 100644
--- a/ppd/hpijs/hp-psc_1400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1500_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1500_series-hpijs.ppd.gz
index 5e2707e43..b49397d81 100644
--- a/ppd/hpijs/hp-psc_1500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1510_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1510_series-hpijs.ppd.gz
index 6ecdbd171..56e857fc0 100644
--- a/ppd/hpijs/hp-psc_1510_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1510_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_1600_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_1600_series-hpijs.ppd.gz
index eecaea86d..46f611173 100644
--- a/ppd/hpijs/hp-psc_1600_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_1600_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2100_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2100_series-hpijs.ppd.gz
index 2b57f7692..be7a966d5 100644
--- a/ppd/hpijs/hp-psc_2100_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2100_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz
index 555851b42..9a5c806db 100644
--- a/ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2170_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2170_series-hpijs.ppd.gz
index 376dcf839..b74d0f86b 100644
--- a/ppd/hpijs/hp-psc_2170_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2170_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2200_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2200_series-hpijs.ppd.gz
index 788838a73..9e6d04269 100644
--- a/ppd/hpijs/hp-psc_2200_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2200_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2210_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2210_series-hpijs.ppd.gz
index bf2355862..b0fee6ba3 100644
--- a/ppd/hpijs/hp-psc_2210_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2210_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2300_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2300_series-hpijs.ppd.gz
index fbf350ddf..41e46515d 100644
--- a/ppd/hpijs/hp-psc_2300_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2300_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2350_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2350_series-hpijs.ppd.gz
index 74c66277b..9f6128ccd 100644
--- a/ppd/hpijs/hp-psc_2350_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2350_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2400_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2400_series-hpijs.ppd.gz
index 2855a740f..ba22dea16 100644
--- a/ppd/hpijs/hp-psc_2400_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2400_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_2500_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_2500_series-hpijs.ppd.gz
index b0cd22a23..2bdcf1b17 100644
--- a/ppd/hpijs/hp-psc_2500_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_2500_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_500-hpijs.ppd.gz b/ppd/hpijs/hp-psc_500-hpijs.ppd.gz
index 762e8b8db..d9d7e8e3f 100644
--- a/ppd/hpijs/hp-psc_500-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_500-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_720-hpijs.ppd.gz b/ppd/hpijs/hp-psc_720-hpijs.ppd.gz
index 293940d58..ab932fbdb 100644
--- a/ppd/hpijs/hp-psc_720-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_720-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_750-hpijs.ppd.gz b/ppd/hpijs/hp-psc_750-hpijs.ppd.gz
index a57361a10..b6eeda8a0 100644
--- a/ppd/hpijs/hp-psc_750-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_750-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_750xi-hpijs.ppd.gz b/ppd/hpijs/hp-psc_750xi-hpijs.ppd.gz
index 52ce6e6aa..c23cd72e4 100644
--- a/ppd/hpijs/hp-psc_750xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_750xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_760-hpijs.ppd.gz b/ppd/hpijs/hp-psc_760-hpijs.ppd.gz
index ac0baf766..712338b44 100644
--- a/ppd/hpijs/hp-psc_760-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_760-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_780-hpijs.ppd.gz b/ppd/hpijs/hp-psc_780-hpijs.ppd.gz
index 2730e5102..c2b3ba4cb 100644
--- a/ppd/hpijs/hp-psc_780-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_780-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz b/ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz
index 377c685c1..d5d80a9f9 100644
--- a/ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_900_series-hpijs.ppd.gz b/ppd/hpijs/hp-psc_900_series-hpijs.ppd.gz
index b248f2e3b..4773e4141 100644
--- a/ppd/hpijs/hp-psc_900_series-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_900_series-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_920-hpijs.ppd.gz b/ppd/hpijs/hp-psc_920-hpijs.ppd.gz
index 2caab5d46..fa4b246ea 100644
--- a/ppd/hpijs/hp-psc_920-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_920-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_950-hpijs.ppd.gz b/ppd/hpijs/hp-psc_950-hpijs.ppd.gz
index a863fc55a..52e39db80 100644
--- a/ppd/hpijs/hp-psc_950-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_950-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz b/ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz
index a4622d541..89dcb603a 100644
--- a/ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz
Binary files differ
diff --git a/ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz b/ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz
index 015338764..68bc4914d 100644
--- a/ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz
+++ b/ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz
Binary files differ
diff --git a/prnt/cups.py b/prnt/cups.py
index 421942d47..cb202f07e 100644
--- a/prnt/cups.py
+++ b/prnt/cups.py
@@ -734,6 +734,11 @@ def delPrinter(printer_name):
setPasswordPrompt("You do not have permission to delete a printer.")
return cupsext.delPrinter(printer_name)
+def enablePrinter(printer_name):
+ setPasswordPrompt("You do not have permission to enable a printer.")
+ cmd= "cupsenable %s"%printer_name
+ return os.system(cmd)
+
def getGroupList():
return cupsext.getGroupList()
diff --git a/prnt/drv/hpcups.drv.in b/prnt/drv/hpcups.drv.in
index 766a751a7..b157a3cde 100644
--- a/prnt/drv/hpcups.drv.in
+++ b/prnt/drv/hpcups.drv.in
@@ -238,6 +238,13 @@
// 13 September 2011 Goutam
// Added AutoDuplex PaperSizes in Copperhead techclass
+
+// 10 Jan 2012 Sanjay
+// Added the new tech class : Saipan
+
+// 20 Feb 2012
+// Added New Tech Class PyramidPlus
+
// Include necessary files...
@@ -4807,7 +4814,258 @@ Manufacturer "HP"
} // End Copperhead
-//Added by Goutam Kodu
+
+//////// Saipan
+{
+
+ Attribute "hpPrinterLanguage" "" "pcl3gui2"
+ Attribute "HPMechOffset" "" "130"
+
+ Group "General/General"
+
+ Option "ColorModel/Output Mode" PickOne AnySetup 10.0
+ *Choice "RGB/Color" "<</cupsColorSpace 17/cupsBitsPerColor 8/cupsRowStep 0>>setpagedevice"
+ Choice "CMYGray/High Quality Grayscale" "<</cupsColorSpace 1/cupsBitsPerColor 8/cupsRowStep 1>>setpagedevice"
+ Choice "KGray/Black Only Grayscale" "<</cupsColorSpace 1/cupsBitsPerColor 8/cupsRowStep 2>>setpagedevice"
+
+ // cupsMediaType values map to MEDIATYPE from global_types.h
+ Option "MediaType/Media Type" PickOne AnySetup 10.0
+ *Choice "Plain/Plain Paper" "<</MediaType(Plain)/cupsMediaType 0>>setpagedevice"
+ Choice "Glossy/Photo Paper" "<</MediaType(Glossy)/cupsMediaType 3>>setpagedevice"
+ Choice "TransparencyFilm/Transparency Film" "<</MediaType(TransparencyFilm)/cupsMediaType 4>>setpagedevice"
+
+
+ // cupsCompression values map to QUALITY_MODE from global_types.h
+ Option "OutputMode/Print Quality" PickOne AnySetup 10.0
+ *Choice "Normal/Normal" "<</OutputType(0)/HWResolution[600 600]>>setpagedevice"
+ Choice "Draft/Draft" "<</OutputType(-2)/HWResolution[300 300]>>setpagedevice"
+ Choice "Best/Best" "<</OutputType(1)/HWResolution[600 600]>>setpagedevice"
+ Choice "Photo/High-Resolution Photo" "<</OutputType(2)/HWResolution[1200 1200]>>setpagedevice"
+
+
+ Option "InputSlot/Media Source" PickOne AnySetup 10.0
+ *Choice "Tray1/Tray 1" "<</MediaPosition 1>>setpagedevice"
+
+ //Constraints
+ //MediaType & OutputMode
+ UIConstraints "*MediaType Plain *OutputMode MaxDPI"
+ UIConstraints "*MediaType Glossy *OutputMode FastDraft"
+ UIConstraints "*MediaType Glossy *OutputMode MaxDPI"
+ UIConstraints "*MediaType TransparencyFilm *OutputMode FastDraft"
+ UIConstraints "*MediaType TransparencyFilm *OutputMode Best"
+ UIConstraints "*MediaType TransparencyFilm *OutputMode MaxDPI"
+
+ // 4x6 or smaller
+ CustomMedia "Card3x5/Index Card 3x5in" 216 360 9.36 9.36 9.36 9.36 "<</cupsInteger0 78/PageSize [216 360]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 78/PageSize[216 360]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Card4x6/Index Card 4x6in" 288 432 9.36 9.36 9.36 9.36 "<</cupsInteger0 74/PageSize [288 432]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 74/PageSize[288 432]/ImagingBBox null>>setpagedevice"
+ CustomMedia "L/L 89x127mm" 252.288 360 9.36 9.36 9.36 9.36 "<</cupsInteger0 121/PageSize[252.288 360]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 121/PageSize[252.288 360]/ImagingBBox null>>setpagedevice"
+ CustomMedia "L.FB/Borderless Photo L 89x127mm" 265.032 374.112 0 0 0 0 "<</cupsInteger0 121/cupsReal0 .079/cupsReal1 .098/PageSize [265.032 374.112]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 121/cupsReal0 .079/cupsReal1 .098/PageSize[265.032 374.112]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.36 9.36 9.36 9.36 "<</cupsInteger0 74/PageSize[288 432]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 74/PageSize[288 432]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 303.552 446.112 0 0 0 0 "<</cupsInteger0 74/cupsReal0 .098/cupsReal1 .098/PageSize[303.552 446.112]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 74/cupsReal0 .098/cupsReal1 .098/PageSize[303.552 446.112]/ImagingBBox null>>setpagedevice"
+ CustomMedia "A6/A6 105x148mm" 297.65 419.54 9.36 9.36 9.36 9.36 "<</cupsInteger0 73/PageSize[297.65 419.54]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 73/PageSize[297.65 419.54]/ImagingBBox null>>setpagedevice"
+ CustomMedia "A6.FB/A6 Borderless 105x148mm" 310.392 433.656 0 0 0 0 "<</cupsInteger0 73/PageSize[310.392 433.656]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 73/cupsReal0 .079/cupsReal1 .098/PageSize[310.392 433.656]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Hagaki/Hagaki card 100x148mm" 283.46 419.54 9.36 9.36 9.36 9.36 "<</cupsInteger0 71/PageSize[283.46 419.54]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 71/PageSize[283.46 419.54]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 297.864 433.656 0 0 0 0 "<</cupsInteger0 71/PageSize[297.864 433.656]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 71/PageSize[297.864 433.656]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo3x5/Photo 3x5in" 216 360 9.36 9.36 9.36 9.36 "<</cupsInteger0 78/PageSize [216 360]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 78/PageSize[216 360]/ImagingBBox null>>setpagedevice"
+
+ // 5x7
+ CustomMedia "Photo5x7/Photo 5x7in" 360 504 9.36 9.36 9.36 9.36 "<</cupsInteger0 122/PageSize[360 504]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 122/PageSize[360 504]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo13x18/Photo 13x18cm" 360 504 9.36 9.36 9.36 9.36 "<</cupsInteger0 122/PageSize[360 504]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 122/PageSize[360 504]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo5x7.FB/Photo Borderless 5x7in" 372.816 518.112 0 0 0 0 "<</cupsInteger0 122/PageSize[372.816 518.112]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 122/PageSize[372.816 518.112]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo13x18.FB/Photo Borderless 13x18cm" 372.816 518.112 0 0 0 0 "<</cupsInteger0 122/PageSize[372.816 518.112]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 122/PageSize[372.816 518.112]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Card5x8/Index Card 5x8in" 360 576 9.36 9.36 9.36 9.36 "<</cupsInteger0 75/PageSize[360 576]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 75/PageSize[360 576]/ImagingBBox null>>setpagedevice"
+ CustomMedia "A5/A5 148x210mm" 419.544 595.296 9.36 9.36 9.36 9.36 "<</cupsInteger0 25/PageSize[419.544 595.296]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 25/PageSize[419.544 595.296]/ImagingBBox null>>setpagedevice"
+ CustomMedia "A5.FB/A5 Borderless 148x210mm" 435.096 609.408 0 0 0 0 "<</cupsInteger0 25/PageSize[435.096 609.408]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 25/cupsReal0 .098/cupsReal1 .098/PageSize[435.096 609.408]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Ofuku/Ofuku-Hagaki 200x148mm" 566.92 419.54 9.36 9.36 9.36 9.36 "<</cupsInteger0 72/PageSize[566.92 419.54]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 72/PageSize[566.92 419.54]/ImagingBBox null>>setpagedevice"
+
+ // Standard
+ CustomMedia "Photo2L.FB/2L Borderless 127x178mm" 372.81 518.328 0 0 0 0 "<</cupsInteger0 122/PageSize[372.81 518.328]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 122/cupsReal0 .089/cupsReal1 .098/PageSize[372.81 518.328]/ImagingBBox null>>setpagedevice"
+ CustomMedia "6x8/6x8in" 432 576 9.36 9.36 9.36 9.36 "<</cupsInteger0 101/PageSize[432 576]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 101/PageSize[432 576]/ImagingBBox null>>setpagedevice"
+ CustomMedia "JB5/JB5 182x257mm" 515.88 728.49 9.36 9.36 9.36 9.36 "<</cupsInteger0 45/PageSize[515.88 728.49]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 45/PageSize [515.88 728.49]/ImagingBBox null>>setpagedevice"
+ CustomMedia "B5.FB/B5 Borderless 176x250mm" 531.432 742.608 0 0 0 0 "<</cupsInteger0 65/PageSize[531.432 742.608]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 65/cupsReal0 .098/cupsReal1 .098/PageSize[531.432 742.608]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Executive/Executive 7.25x10.5in" 522 756 9.36 9.36 9.36 9.36 "<</cupsInteger0 1/PageSize[522 756]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 1/PageSize[522 756]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Statement/Statement 5.5x8.5in" 396 612 9.36 9.36 9.36 9.36 "<</cupsInteger0 15/PageSize[396 612]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 15/PageSize[396 612]/ImagingBBox null>>setpagedevice"
+ *CustomMedia "Letter/Letter 8.5x11in" 612 792 9.36 9.36 9.36 9.36 "<</cupsInteger0 2/PageSize[612 792]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 2/PageSize[612 792]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.552 806.112 0 0 0 0 "<</cupsInteger0 2/PageSize[627.552 806.112]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 2/cupsReal0 .098/cupsReal1 .098/PageSize[627.552 806.112]/ImagingBBox null>>setpagedevice"
+ CustomMedia "CardLetter/Index Card Letter 8.5x11in" 612 792 9.36 9.36 9.36 9.36 "<</cupsInteger0 2/PageSize[612 792]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 2/PageSize[612 792]/ImagingBBox null>>setpagedevice"
+ CustomMedia "A4/A4 210x297mm" 595.29 841.89 9.36 9.36 9.36 9.36 "<</cupsInteger0 26/PageSize[595.29 841.89]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 26/PageSize[595.29 841.89]/ImagingBBox null>>setpagedevice"
+ CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.848 856.008 0 0 0 0 "<</cupsInteger0 26/PageSize[610.848 856.008]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 26/cupsReal0 .098/cupsReal1 .098/PageSize[610.848 856.008]/ImagingBBox null>>setpagedevice"
+ CustomMedia "CardA4/Index Card A4 210x297mm" 595.44 841.68 9.36 9.36 9.36 9.36 "<</cupsInteger0 26/PageSize[595.44 841.68]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 26/PageSize[595.44 841.68]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Legal/Legal 8.5x14in" 612 1008 9.36 9.36 9.36 9.36 "<</cupsInteger0 3/PageSize[612 1008]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 3/PageSize[612 1008]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo10x15/Photo 10x15cm" 288 432 9.36 9.36 9.36 9.36 "<</cupsInteger0 74/PageSize[288 432]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 74/PageSize[288 432]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo10x15.FB/Borderless Photo 10x15cm" 303.552 446.112 0 0 0 0 "<</cupsInteger0 74/cupsReal0 .098/cupsReal1 .098/PageSize[303.552 446.112]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 74/cupsReal0 .098/cupsReal1 .098/PageSize[303.552 446.112]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo2L/Photo 2L 127x178mm" 360 504.216 9.36 9.36 9.36 9.36 "<</cupsInteger0 122/PageSize[360 504.216]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 122/PageSize[360 504.216]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Photo8x10/Photo 8x10in" 576 720 9.36 9.36 9.36 9.36 "<</cupsInteger0 7/PageSize[576 720]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 7/PageSize[576 720]/ImagingBBox null>>setpagedevice"
+ CustomMedia "8x10.FB/Borderless 8x10in" 591.552 734.112 0 0 0 0 "<</cupsInteger0 7/PageSize[591.552 734.112]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 7/cupsReal0 .098/cupsReal1 .098/PageSize[591.552 734.112]/ImagingBBox null>>setpagedevice"
+ CustomMedia "8.5x13/8.5x13in" 612 936 9.36 9.36 9.36 9.36 "<</cupsInteger0 101/PageSize[612 936]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 101/PageSize[612 936]/ImagingBBox null>>setpagedevice"
+
+ // Envelope
+ CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 413.856 9.36 46.8 9.36 46.8 "<</cupsInteger0 109/PageSize[314.64 413.856]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 109/PageSize[314.64 413.856]/ImagingBBox null>>setpagedevice"
+ CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.136 459.216 9.36 46.8 9.36 46.8 "<</cupsInteger0 92/PageSize[323.136 459.216]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 92/PageSize[323.136 459.216]/ImagingBBox null>>setpagedevice"
+ CustomMedia "EnvChou4/#4 Japanese Envelope 90x205mm" 255.096 581.112 9.36 46.8 9.36 46.8 "<</cupsInteger0 111/PageSize[255.096 581.112]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 111/PageSize[255.096 581.112]/ImagingBBox null>>setpagedevice"
+ CustomMedia "EnvCard/Card Envelope 4.4x6in" 316.8 432 9.36 46.8 9.36 46.8 "<</cupsInteger0 114/PageSize[316.8 432]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 114/PageSize[316.8 432]/ImagingBBox null>>setpagedevice"
+ CustomMedia "EnvMonarch/Monarch Envelope 3.875x7.5in" 279.36 540 9.36 46.8 9.36 46.8 "<</cupsInteger0 80/PageSize[279.36 540]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 80/PageSize[279.36 540]/ImagingBBox null>>setpagedevice"
+ CustomMedia "EnvDL/DL Envelope 110x220mm" 311.832 623.592 9.36 46.8 9.36 46.8 "<</cupsInteger0 90/PageSize[311.832 623.592]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 90/PageSize[311.832 623.592]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Env10/#10 Envelope 4.125x9.5in" 297.36 684 9.36 46.8 9.36 46.8 "<</cupsInteger0 81/PageSize[297.36 684]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 81/PageSize[297.36 684]/ImagingBBox null>>setpagedevice"
+ CustomMedia "EnvChou3/#3 Japanese Envelope 120x235mm" 340.128 666.144 9.36 46.8 9.36 46.8 "<</cupsInteger0 110/PageSize[340.128 666.144]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 110/PageSize[340.128 666.144]/ImagingBBox null>>setpagedevice"
+ CustomMedia "EnvC5/C5 Envelope 162x229mm" 459.216 649.152 9.36 46.8 9.36 46.8 "<</cupsInteger0 91/PageSize[459.216 649.152]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 91/PageSize[459.216 649.152]/ImagingBBox null>>setpagedevice"
+
+ // Custom page sizes from 1x4in to legal
+ HWMargins 9.36 9.36 9.36 9.36
+ VariablePaperSize Yes
+ MinSize 3in 5in
+ MaxSize 8.5in 14in
+
+ // <%Saipan:Normal%>
+ {
+ ModelName "HP Officejet 6100"
+ Attribute "NickName" "" "HP Officejet 6100, $Version"
+ Attribute "ShortNickName" "" "HP Officejet 6100"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 6100;DES:officejet 6100;"
+ PCFileName "hp-officejet_6100.ppd"
+ Attribute "Product" "" "(HP Officejet 6100 Eprinter h611a)"
+ }
+ {
+ ModelName "HP Officejet 6600"
+ Attribute "NickName" "" "HP Officejet 6600, $Version"
+ Attribute "ShortNickName" "" "HP Officejet 6600"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 6600;DES:officejet 6600;"
+ PCFileName "hp-officejet_6600.ppd"
+ Attribute "Product" "" "(HP Officejet 6600 E-all-in-one Printer - h711a)"
+ }
+ // End Supported media sizes with full bleed.
+
+ //Saipan Auto Duplex PaperSizes
+ {
+ Attribute "cupsEvenDuplex" "" "True"
+ Attribute "cupsBackSide" "" "Rotated"
+ Attribute "cupsFlipDuplex" "" "True"
+
+ // Duplexer is optional...
+ Installable "OptionDuplex/Duplexer Installed"
+
+ Option "Duplex/Double-Sided Printing" PickOne AnySetup 10.0
+ Choice "DuplexNoTumble/Long Edge (Standard)" "<</Duplex true/Tumble false>>setpagedevice"
+ Choice "DuplexTumble/Short Edge (Flip)" "<</Duplex true/Tumble true>>setpagedevice"
+ *Choice "None/Off" "<</Duplex false/Tumble false>>setpagedevice"
+
+ // Non duplex media against duplex
+ UIConstraints "*PageSize Card3x5 *Duplex"
+ UIConstraints "*PageSize L *Duplex"
+ UIConstraints "*PageSize L.FB *Duplex"
+ UIConstraints "*PageSize Hagaki *Duplex"
+ UIConstraints "*PageSize Hagaki.FB *Duplex"
+ UIConstraints "*PageSize Card4x6 *Duplex"
+ UIConstraints "*PageSize Photo4x6 *Duplex"
+ UIConstraints "*PageSize Photo4x6.FB *Duplex"
+ UIConstraints "*PageSize A6 *Duplex"
+ UIConstraints "*PageSize A6.FB *Duplex"
+ UIConstraints "*PageSize Photo5x7 *Duplex"
+ UIConstraints "*PageSize Photo5x7.FB *Duplex"
+ UIConstraints "*PageSize Photo2L *Duplex"
+ UIConstraints "*PageSize Photo2L.FB *Duplex"
+ UIConstraints "*PageSize Card5x8 *Duplex"
+ UIConstraints "*PageSize Oufuku *Duplex"
+ UIConstraints "*PageSize A5 *Duplex"
+ UIConstraints "*PageSize A5.FB *Duplex"
+ UIConstraints "*PageSize B5 *Duplex"
+ UIConstraints "*PageSize B5.FB *Duplex"
+ UIConstraints "*PageSize JB5 *Duplex"
+ UIConstraints "*PageSize JB5.FB *Duplex"
+ UIConstraints "*PageSize Executive *Duplex"
+ UIConstraints "*PageSize 8x10 *Duplex"
+ UIConstraints "*PageSize 8x10.FB *Duplex"
+ UIConstraints "*PageSize Letter.FB *Duplex"
+ UIConstraints "*PageSize A4.FB *Duplex"
+ UIConstraints "*PageSize Legal *Duplex"
+ UIConstraints "*PageSize EnvA2 *Duplex"
+ UIConstraints "*PageSize EnvC6 *Duplex"
+ UIConstraints "*PageSize EnvChou4 *Duplex"
+ UIConstraints "*PageSize EnvCard *Duplex"
+ UIConstraints "*PageSize EnvMonarch *Duplex"
+ UIConstraints "*PageSize EnvDL *Duplex"
+ UIConstraints "*PageSize Env10 *Duplex"
+ UIConstraints "*PageSize EnvChou3 *Duplex"
+ UIConstraints "*PageSize EnvC5 *Duplex"
+ UIConstraints "*PageSize Statement *Duplex"
+ UIConstraints "*PageSize Photo10x15 *Duplex"
+ UIConstraints "*PageSize Photo10x15.FB *Duplex"
+ UIConstraints "*PageSize Photo13x18 *Duplex"
+ UIConstraints "*PageSize Photo13x18.FB *Duplex"
+ UIConstraints "*PageSize 6X8 *Duplex"
+ UIConstraints "*PageSize 8.5X13 *Duplex"
+
+ CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.29 799.34 9.36 33.192 9.36 9.36 "<</cupsInteger0 26/PageSize[595.29 799.34]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 26/PageSize[595.29 799.34]/ImagingBBox null>>setpagedevice"
+ CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 749.44 9.36 33.192 9.36 9.36 "<</cupsInteger0 2/PageSize[612 749.44]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 2/PageSize[612 749.44]/ImagingBBox null>>setpagedevice"
+ CustomMedia "CardA4/Index Card A4 210x297mm AutoDuplex" 595.44 799.13 9.36 33.192 9.36 9.36 "<</cupsInteger0 26/PageSize[595.44 799.13]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 26/PageSize[595.44 799.13]/ImagingBBox null>>setpagedevice"
+ CustomMedia "CardLetter/Index Card Letter 8.5x11in AutoDuplex" 612 749.44 9.36 33.192 9.36 9.36 "<</cupsInteger0 2/PageSize[612 749.44]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 2/PageSize[612 749.44]/ImagingBBox null>>setpagedevice"
+
+ // <%Saipan:AutoDuplex%>
+ {
+ ModelName "HP Officejet 6700"
+ Attribute "NickName" "" "HP Officejet 6700, $Version"
+ Attribute "ShortNickName" "" "HP Officejet 6700"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 6700;DES:officejet 6700;"
+ PCFileName "hp-officejet_6700.ppd"
+ Attribute "Product" "" "(HP Officejet 6700 E-all-in-one Printer - h711n)"
+ }
+ }
+
+} // End Saipan
+
+
+
//////// Python11
{
Attribute "cupsEvenDuplex" "" "True"
@@ -8216,6 +8474,8 @@ Manufacturer "HP"
"<</cupsInteger0 83/PageSize[261.36 468]/ImagingBBox null>>setpagedevice"
CustomMedia "EnvCard/Card Envelope 4.4x6in" 315 432 9 40.536 9 9 "<</cupsInteger0 114/PageSize[315 432]/ImagingBBox null>>setpagedevice"
"<</cupsInteger0 114/PageSize[315 432]/ImagingBBox null>>setpagedevice"
+ CustomMedia "EnvC5/C5 Envelope 162x229mm" 457.92 649.44 9 42.19 9 9 "<</cupsInteger0 91/PageSize[457.92 649.44]/ImagingBBox null>>setpagedevice"
+ "<</cupsInteger0 91/PageSize[457.92 649.44]/ImagingBBox null>>setpagedevice"
{
UIConstraints "*PageSize L.FB *OutputMode FastDraft"
@@ -8463,6 +8723,7 @@ Manufacturer "HP"
} // End Pyramid without AutoDuplex and CD-DVD
+
//////// OJ7000
{
Attribute "hpPrinterLanguage" "" "pcl3gui2"
@@ -13629,14 +13890,6 @@ Group "RLT/HP Real Life Technologies"
Attribute "Product" "" "(HP Printer Scanner Copier 300)"
}
{
- ModelName "HP Officejet Series 500"
- Attribute "NickName" "" "HP Officejet Series 500, $Version"
- Attribute "ShortNickName" "" "HP Officejet Series 500"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 500;DES:officejet series 500;"
- PCFileName "hp-officejet_series_500.ppd"
- Attribute "Product" "" "(HP Officejet 500 All-in-one Printer)"
- }
- {
ModelName "HP Officejet Series 520"
Attribute "NickName" "" "HP Officejet Series 520, $Version"
Attribute "ShortNickName" "" "HP Officejet Series 520"
@@ -14992,14 +15245,6 @@ Group "RLT/HP Real Life Technologies"
// <%LJZjsMono:NoAutoDuplex%>
{
- ModelName "HP LaserJet Professional p1102s"
- Attribute "NickName" "" "HP LaserJet Professional p1102s, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet Professional p1102s"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1102s;DES:hp laserjet professional p1102s;"
- PCFileName "hp-laserjet_professional_p1102s.ppd"
- Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)"
- }
- {
ModelName "HP LaserJet Professional p1102w"
Attribute "NickName" "" "HP LaserJet Professional p1102w, $Version, requires proprietary plugin"
Attribute "ShortNickName" "" "HP LaserJet Professional p1102w"
@@ -15014,6 +15259,7 @@ Group "RLT/HP Real Life Technologies"
Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1102;DES:hp laserjet professional p1102;"
PCFileName "hp-laserjet_professional_p1102.ppd"
Attribute "Product" "" "(HP LaserJet Professional p1102 Printer)"
+ Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)"
}
{
ModelName "HP LaserJet Professional P 1102w"
@@ -15046,6 +15292,7 @@ Group "RLT/HP Real Life Technologies"
Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1132 mfp;DES:hp laserjet professional m1132 mfp;"
PCFileName "hp-laserjet_professional_m1132_mfp.ppd"
Attribute "Product" "" "(HP LaserJet Professional m1132 Multifunction Printer)"
+ Attribute "Product" "" "(HP LaserJet Professional m1132s Multifunction Printer)"
}
{
ModelName "HP LaserJet Professional m1136 MFP"
@@ -15403,36 +15650,12 @@ Group "RLT/HP Real Life Technologies"
Attribute "hpLJZjsColorVersion" "" "2"
// <%LJZjsColor:Advanced%>
{
- ModelName "HP LaserJet cp1021"
- Attribute "NickName" "" "HP LaserJet cp1021, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1021"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1021;DES:hp laserjet cp1021;"
- PCFileName "hp-laserjet_cp1021.ppd"
- Attribute "Product" "" "(HP LaserJet cp1021)"
- }
- {
- ModelName "HP LaserJet cp1022"
- Attribute "NickName" "" "HP LaserJet cp1022, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1022"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1022;DES:hp laserjet cp1022;"
- PCFileName "hp-laserjet_cp1022.ppd"
- Attribute "Product" "" "(HP LaserJet cp1022)"
- }
- {
- ModelName "HP LaserJet cp1023"
- Attribute "NickName" "" "HP LaserJet cp1023, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1023"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1023;DES:hp laserjet cp1023;"
- PCFileName "hp-laserjet_cp1023.ppd"
- Attribute "Product" "" "(HP LaserJet cp1023)"
- }
- {
ModelName "HP LaserJet cp1025nw"
Attribute "NickName" "" "HP LaserJet cp1025nw, $Version, requires proprietary plugin"
Attribute "ShortNickName" "" "HP LaserJet cp1025nw"
Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1025nw;DES:hp laserjet cp1025nw;"
PCFileName "hp-laserjet_cp1025nw.ppd"
- Attribute "Product" "" "(HP LaserJet cp1025nw)"
+ Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)"
}
{
ModelName "HP LaserJet cp1025"
@@ -15440,23 +15663,23 @@ Group "RLT/HP Real Life Technologies"
Attribute "ShortNickName" "" "HP LaserJet cp1025"
Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1025;DES:hp laserjet cp1025;"
PCFileName "hp-laserjet_cp1025.ppd"
- Attribute "Product" "" "(HP LaserJet cp1025)"
+ Attribute "Product" "" "(HP LaserJet Pro cp1025 Color Printer Series)"
}
{
- ModelName "HP LaserJet cp1027nw"
- Attribute "NickName" "" "HP LaserJet cp1027nw, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1027nw"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1027nw;DES:hp laserjet cp1027nw;"
- PCFileName "hp-laserjet_cp1027nw.ppd"
- Attribute "Product" "" "(HP LaserJet cp1027nw)"
+ ModelName "HP LaserJet Cp 1025nw"
+ Attribute "NickName" "" "HP LaserJet Cp 1025nw, $Version, requires proprietary plugin"
+ Attribute "ShortNickName" "" "HP LaserJet Cp 1025nw"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;"
+ PCFileName "hp-laserjet_cp_1025nw.ppd"
+ Attribute "Product" "" "(HP LaserJet Pro Cp 1025nw Color Printer Series)"
}
{
- ModelName "HP LaserJet cp1028nw"
- Attribute "NickName" "" "HP LaserJet cp1028nw, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1028nw"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1028nw;DES:hp laserjet cp1028nw;"
- PCFileName "hp-laserjet_cp1028nw.ppd"
- Attribute "Product" "" "(HP LaserJet cp1028nw)"
+ ModelName "HP LaserJet Cp 1025"
+ Attribute "NickName" "" "HP LaserJet Cp 1025, $Version, requires proprietary plugin"
+ Attribute "ShortNickName" "" "HP LaserJet Cp 1025"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp 1025;DES:hp laserjet cp 1025;"
+ PCFileName "hp-laserjet_cp_1025.ppd"
+ Attribute "Product" "" "(HP LaserJet Pro Cp 1025 Color Printer Series)"
}
}
} // End LJZjsColor (for proprietary plugin)
diff --git a/prnt/drv/hpijs.drv.in b/prnt/drv/hpijs.drv.in
index a6423399a..22a514f5d 100644
--- a/prnt/drv/hpijs.drv.in
+++ b/prnt/drv/hpijs.drv.in
@@ -9965,14 +9965,6 @@ r=&quot;HEWLETT-PACKARD&quot; -sDeviceModel=&quot;DESKJET 660&quot;"
Attribute "Product" "" "(HP Printer Scanner Copier 300)"
}
{
- ModelName "HP Officejet Series 500 hpijs"
- Attribute "NickName" "" "HP Officejet Series 500 hpijs, $Version"
- Attribute "ShortNickName" "" "HP Officejet Series 500 hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 500;DES:officejet series 500;"
- PCFileName "hp-officejet_series_500-hpijs.ppd"
- Attribute "Product" "" "(HP Officejet 500 All-in-one Printer)"
- }
- {
ModelName "HP Officejet Series 520 hpijs"
Attribute "NickName" "" "HP Officejet Series 520 hpijs, $Version"
Attribute "ShortNickName" "" "HP Officejet Series 520 hpijs"
@@ -11457,14 +11449,6 @@ Transparency"
CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 14.40 18.00 14.40 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935"
// <%LJZjsMono:NoAutoDuplex%>
{
- ModelName "HP LaserJet Professional p1102s hpijs"
- Attribute "NickName" "" "HP LaserJet Professional p1102s hpijs, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LJ Professional p1102s hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1102s;DES:hp laserjet professional p1102s;"
- PCFileName "hp-laserjet_professional_p1102s-hpijs.ppd"
- Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)"
- }
- {
ModelName "HP LaserJet Professional p1102w hpijs"
Attribute "NickName" "" "HP LaserJet Professional p1102w hpijs, $Version, requires proprietary plugin"
Attribute "ShortNickName" "" "HP LJ Professional p1102w hpijs"
@@ -11479,6 +11463,7 @@ Transparency"
Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1102;DES:hp laserjet professional p1102;"
PCFileName "hp-laserjet_professional_p1102-hpijs.ppd"
Attribute "Product" "" "(HP LaserJet Professional p1102 Printer)"
+ Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)"
}
{
ModelName "HP LaserJet Professional P 1102w hpijs"
@@ -11511,6 +11496,7 @@ Transparency"
Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1132 mfp;DES:hp laserjet professional m1132 mfp;"
PCFileName "hp-laserjet_professional_m1132_mfp-hpijs.ppd"
Attribute "Product" "" "(HP LaserJet Professional m1132 Multifunction Printer)"
+ Attribute "Product" "" "(HP LaserJet Professional m1132s Multifunction Printer)"
}
{
ModelName "HP LaserJet Professional m1136 MFP hpijs"
@@ -12236,36 +12222,12 @@ Transparency"
Attribute "hpLJZjsColorVersion" "" "2"
// <%LJZjsColor:Advanced%>
{
- ModelName "HP LaserJet cp1021 hpijs"
- Attribute "NickName" "" "HP LaserJet cp1021 hpijs, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1021 hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1021;DES:hp laserjet cp1021;"
- PCFileName "hp-laserjet_cp1021-hpijs.ppd"
- Attribute "Product" "" "(HP LaserJet cp1021)"
- }
- {
- ModelName "HP LaserJet cp1022 hpijs"
- Attribute "NickName" "" "HP LaserJet cp1022 hpijs, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1022 hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1022;DES:hp laserjet cp1022;"
- PCFileName "hp-laserjet_cp1022-hpijs.ppd"
- Attribute "Product" "" "(HP LaserJet cp1022)"
- }
- {
- ModelName "HP LaserJet cp1023 hpijs"
- Attribute "NickName" "" "HP LaserJet cp1023 hpijs, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1023 hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1023;DES:hp laserjet cp1023;"
- PCFileName "hp-laserjet_cp1023-hpijs.ppd"
- Attribute "Product" "" "(HP LaserJet cp1023)"
- }
- {
ModelName "HP LaserJet cp1025nw hpijs"
Attribute "NickName" "" "HP LaserJet cp1025nw hpijs, $Version, requires proprietary plugin"
Attribute "ShortNickName" "" "HP LaserJet cp1025nw hpijs"
Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1025nw;DES:hp laserjet cp1025nw;"
PCFileName "hp-laserjet_cp1025nw-hpijs.ppd"
- Attribute "Product" "" "(HP LaserJet cp1025nw)"
+ Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)"
}
{
ModelName "HP LaserJet cp1025 hpijs"
@@ -12273,23 +12235,23 @@ Transparency"
Attribute "ShortNickName" "" "HP LaserJet cp1025 hpijs"
Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1025;DES:hp laserjet cp1025;"
PCFileName "hp-laserjet_cp1025-hpijs.ppd"
- Attribute "Product" "" "(HP LaserJet cp1025)"
+ Attribute "Product" "" "(HP LaserJet Pro cp1025 Color Printer Series)"
}
{
- ModelName "HP LaserJet cp1027nw hpijs"
- Attribute "NickName" "" "HP LaserJet cp1027nw hpijs, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1027nw hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1027nw;DES:hp laserjet cp1027nw;"
- PCFileName "hp-laserjet_cp1027nw-hpijs.ppd"
- Attribute "Product" "" "(HP LaserJet cp1027nw)"
+ ModelName "HP LaserJet Cp 1025nw hpijs"
+ Attribute "NickName" "" "HP LaserJet Cp 1025nw hpijs, $Version, requires proprietary plugin"
+ Attribute "ShortNickName" "" "HP LaserJet Cp 1025nw hpijs"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;"
+ PCFileName "hp-laserjet_cp_1025nw-hpijs.ppd"
+ Attribute "Product" "" "(HP LaserJet Pro Cp 1025nw Color Printer Series)"
}
{
- ModelName "HP LaserJet cp1028nw hpijs"
- Attribute "NickName" "" "HP LaserJet cp1028nw hpijs, $Version, requires proprietary plugin"
- Attribute "ShortNickName" "" "HP LaserJet cp1028nw hpijs"
- Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1028nw;DES:hp laserjet cp1028nw;"
- PCFileName "hp-laserjet_cp1028nw-hpijs.ppd"
- Attribute "Product" "" "(HP LaserJet cp1028nw)"
+ ModelName "HP LaserJet Cp 1025 hpijs"
+ Attribute "NickName" "" "HP LaserJet Cp 1025 hpijs, $Version, requires proprietary plugin"
+ Attribute "ShortNickName" "" "HP LaserJet Cp 1025 hpijs"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp 1025;DES:hp laserjet cp 1025;"
+ PCFileName "hp-laserjet_cp_1025-hpijs.ppd"
+ Attribute "Product" "" "(HP LaserJet Pro Cp 1025 Color Printer Series)"
}
}
} // end LJZjsColor (for proprietary plugin)
@@ -13243,6 +13205,253 @@ lity:PenSet=2,Quality:FullBleed=1"
} // end Copperhead
+////////// Saipan
+{
+ Attribute "DefaultResolution" "" "1200dpi"
+
+ // Custom page sizes from 1x4in to Legal
+ HWMargins 18 36 18 9
+ VariablePaperSize Yes
+ MinSize 1in 4in
+ MaxSize 8.5in 14in
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Custom" " -dDEVICEWIDTHPOINTS=0 -dD&&
+EVICEHEIGHTPOINTS=0"
+
+ Attribute "FoomaticIDs" "" "HP-DeskJet_5550 hpijs"
+ Attribute "FoomaticRIPCommandLine" "" "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPA&&
+USE -sDEVICE=ijs -sIjsServer=hpijs%A%B%C -dIjsUseOutputFD%Z -sOutputFi&&
+le=- -"
+ Attribute "FoomaticRIPOption" "Model" "enum CmdLine A 100"
+ Attribute "FoomaticRIPOptionSetting" "Model=HP-DeskJet_5550" " -sDeviceManufacture&&
+r=&quot;HEWLETT-PACKARD&quot; -sDeviceModel=&quot;deskjet 5550&quot;"
+ Attribute "FoomaticRIPOption" "PrintoutMode" "enum Composite B"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft" "Quality=300FastDraftCol&&
+orCMYK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft.Gray" "Quality=300FastDra&&
+ftGrayscaleK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal" "Quality=300ColorCMYK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal.Gray" "Quality=300Graysc&&
+aleK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High" "Quality=600ColorCMYK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High.Gray" "Quality=600Grayscal&&
+eK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Photo" "Quality=1200PhotoCMYKFu&&
+llBleed"
+ Attribute "FoomaticRIPOption" "InputSlot" "enum CmdLine C"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Default" ",PS:MediaPosition=7"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=PhotoTray" ",PS:MediaPosition=6"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Upper" ",PS:MediaPosition=1"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Lower" ",PS:MediaPosition=4"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=CDDVDTray" ",PS:MediaPosition=14"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Envelope" ",PS:MediaPosition=3"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=LargeCapacity" ",PS:MediaPosition=&&
+5"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Manual" ",PS:MediaPosition=2"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=MPTray" ",PS:MediaPosition=8"
+ Attribute "FoomaticRIPOption" "PageSize" "enum CmdLine A"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Letter" " -dDEVICEWIDTHPOINTS=612 -&&
+dDEVICEHEIGHTPOINTS=792"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=A4" " -dDEVICEWIDTHPOINTS=595 -dDEV&&
+ICEHEIGHTPOINTS=842"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Photo" " -dDEVICEWIDTHPOINTS=288 -d&&
+DEVICEHEIGHTPOINTS=432"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Photo5x7" " -dDEVICEWIDTHPOINTS=360&&
+ -dDEVICEHEIGHTPOINTS=504"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=PhotoTearOff" " -dDEVICEWIDTHPOINTS&&
+=288 -dDEVICEHEIGHTPOINTS=432"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=3x5" " -dDEVICEWIDTHPOINTS=216 -dDE&&
+VICEHEIGHTPOINTS=360"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=5x8" " -dDEVICEWIDTHPOINTS=360 -dDE&&
+VICEHEIGHTPOINTS=576"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=A5" " -dDEVICEWIDTHPOINTS=420 -dDEV&&
+ICEHEIGHTPOINTS=595"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=A6" " -dDEVICEWIDTHPOINTS=297 -dDEV&&
+ICEHEIGHTPOINTS=420"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=A6TearOff" " -dDEVICEWIDTHPOINTS=29&&
+7 -dDEVICEHEIGHTPOINTS=420"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=B5JIS" " -dDEVICEWIDTHPOINTS=516 -d&&
+DEVICEHEIGHTPOINTS=729"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD80" " -dDEVICEWIDTHPOINTS=237 &&
+-dDEVICEHEIGHTPOINTS=237"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD120" " -dDEVICEWIDTHPOINTS=360&&
+ -dDEVICEHEIGHTPOINTS=360"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Env10" " -dDEVICEWIDTHPOINTS=297 -d&&
+DEVICEHEIGHTPOINTS=684"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC5" " -dDEVICEWIDTHPOINTS=459 -d&&
+DEVICEHEIGHTPOINTS=649"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC6" " -dDEVICEWIDTHPOINTS=323 -d&&
+DEVICEHEIGHTPOINTS=459"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvDL" " -dDEVICEWIDTHPOINTS=312 -d&&
+DEVICEHEIGHTPOINTS=624"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvISOB5" " -dDEVICEWIDTHPOINTS=499&&
+ -dDEVICEHEIGHTPOINTS=709"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvMonarch" " -dDEVICEWIDTHPOINTS=2&&
+79 -dDEVICEHEIGHTPOINTS=540"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Executive" " -dDEVICEWIDTHPOINTS=52&&
+2 -dDEVICEHEIGHTPOINTS=756"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=FLSA" " -dDEVICEWIDTHPOINTS=612 -dD&&
+EVICEHEIGHTPOINTS=936"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Hagaki" " -dDEVICEWIDTHPOINTS=283 -&&
+dDEVICEHEIGHTPOINTS=420"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Legal" " -dDEVICEWIDTHPOINTS=612 -d&&
+DEVICEHEIGHTPOINTS=1008"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Oufuku" " -dDEVICEWIDTHPOINTS=567 -&&
+dDEVICEHEIGHTPOINTS=420"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=w558h774" " -dDEVICEWIDTHPOINTS=558&&
+ -dDEVICEHEIGHTPOINTS=774"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=w612h935" " -dDEVICEWIDTHPOINTS=612&&
+ -dDEVICEHEIGHTPOINTS=935"
+ Attribute "FoomaticRIPOption" "Duplex" "enum CmdLine A"
+ Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexNoTumble" " -dDuplex=true -dTum&&
+ble=false"
+ Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexTumble" " -dDuplex=true -dTumbl&&
+e=true"
+ Attribute "FoomaticRIPOptionSetting" "Duplex=None" " -dDuplex=false"
+ Attribute "FoomaticRIPOption" "DryTime" "enum CmdLine B"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Zero" ""
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Five" ",DryTime=5"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Ten" ",DryTime=10"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Fifteen" ",DryTime=15"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Twenty" ",DryTime=20"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=TwentyFive" ",DryTime=25"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Thirty" ",DryTime=30"
+ Attribute "FoomaticRIPOption" "Quality" "enum CmdLine B"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYK" " -r300 -sIjsParams=Qu&&
+ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&&
+=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYKFullBleed" " -r300 -sIjs&&
+Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&&
+ty:PenSet=2,Quality:FullBleed=1"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300DraftColorCMYK" " -r300 -sIjsPara&&
+ms=Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:P&&
+enSet=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300DraftGrayscaleK" " -r300 -sIjs&&
+Params=Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quali&&
+ty:PenSet=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftColorCMYK" " -r300 -sIjs&&
+Params=Quality:Quality=4,Quality:ColorMode=2,Quality:MediaType=0,Quali&&
+ty:PenSet=2,Quality:SpeedMech=1"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftGrayscaleK" " -r300 -&&
+sIjsParams=Quality:Quality=4,Quality:ColorMode=0,Quality:MediaType=0,Q&&
+uality:PenSet=2,Quality:SpeedMech=1"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300GrayscaleK" " -r300 -sIjsParam&&
+s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&&
+nSet=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYK" " -r600 -sIjsParams=Qu&&
+ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&&
+=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYKFullBleed" " -r600 -sIjs&&
+Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&&
+ty:PenSet=2,Quality:FullBleed=1"
+ Attribute "FoomaticRIPOptionSetting" "Quality=600GrayscaleK" " -r600 -sIjsParam&&
+s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&&
+nSet=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYK" " -r1200 -sIjsParams=&&
+Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenS&&
+et=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYKFullBleed" " -r1200 -sI&&
+jsParams=Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Qua&&
+lity:PenSet=2,Quality:FullBleed=1"
+ Group "General/General"
+ Option "PrintoutMode/Printout Mode" PickOne AnySetup 10.0
+ Choice "Draft/Draft (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft"
+ Choice "Draft.Gray/Draft Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft.Gray"
+ *Choice "Normal/Normal (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal"
+ Choice "Normal.Gray/Normal Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal.Gray"
+ Choice "High/High Quality (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High"
+ Choice "High.Gray/High Quality Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High.Gray"
+ Choice "Photo/Photo (on photo paper)" "%% FoomaticRIPOptionSetting: PrintoutMode=Photo"
+ Option "InputSlot/Media Source" PickOne AnySetup 100.0
+ *Choice "Default/Printer default" "%% FoomaticRIPOptionSetting: InputSlot=Default"
+ Choice "PhotoTray/Photo Tray" "%% FoomaticRIPOptionSetting: InputSlot=PhotoTray"
+ Choice "Upper/Upper Tray" "%% FoomaticRIPOptionSetting: InputSlot=Upper"
+ Choice "Lower/Lower Tray" "%% FoomaticRIPOptionSetting: InputSlot=Lower"
+ Choice "CDDVDTray/CD or DVD Tray" "%% FoomaticRIPOptionSetting: InputSlot=CDDVDTray"
+ Choice "Envelope/Envelope Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Envelope"
+ Choice "LargeCapacity/Large Capacity Tray" "%% FoomaticRIPOptionSetting: InputSlot=LargeCapacity"
+ Choice "Manual/Manual Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Manual"
+ Choice "MPTray/Multi Purpose Tray" "%% FoomaticRIPOptionSetting: InputSlot=MPTray"
+ Option "Duplex/Double-Sided Printing" PickOne AnySetup 120.0
+ Choice "DuplexNoTumble/Long Edge (Standard)" "%% FoomaticRIPOptionSetting: Duplex=DuplexNoTumble"
+ Choice "DuplexTumble/Short Edge (Flip)" "%% FoomaticRIPOptionSetting: Duplex=DuplexTumble"
+ *Choice "None/Off" "%% FoomaticRIPOptionSetting: Duplex=None"
+ Option "DryTime/Additional Dry Time" PickOne AnySetup 120.0
+ *Choice "Zero/Printer Default" "%% FoomaticRIPOptionSetting: DryTime=Zero"
+ Choice "Five/5 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Five"
+ Choice "Ten/10 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Ten"
+ Choice "Fifteen/15 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Fifteen"
+ Choice "Twenty/20 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Twenty"
+ Choice "TwentyFive/25 Seconds" "%% FoomaticRIPOptionSetting: DryTime=TwentyFive"
+ Choice "Thirty/30 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Thirty"
+ Group "PrintoutMode/Printout Mode"
+ Option "Quality/Resolution, Quality, Ink Type, Media Type" PickOne AnySetup 100.0
+ *Choice "FromPrintoutMode/Controlled by 'Printout Mode'" "%% FoomaticRIPOptionSetting: Quality=@PrintoutMode"
+ Choice "300ColorCMYK/300 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYK"
+ Choice "300ColorCMYKFullBleed/300 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYKFullBleed"
+ Choice "300DraftColorCMYK/300 dpi, Draft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftColorCMYK"
+ Choice "300DraftGrayscaleK/300 dpi, Draft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftGrayscaleK"
+ Choice "300FastDraftColorCMYK/300 dpi, FastDraft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftColorCMYK"
+ Choice "300FastDraftGrayscaleK/300 dpi, FastDraft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftGrayscaleK"
+ Choice "300GrayscaleK/300 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300GrayscaleK"
+ Choice "600ColorCMYK/600 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYK"
+ Choice "600ColorCMYKFullBleed/600 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYKFullBleed"
+ Choice "600GrayscaleK/600 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=600GrayscaleK"
+ Choice "1200PhotoCMYK/1200 dpi, Photo, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYK"
+ Choice "1200PhotoCMYKFullBleed/1200 dpi, Photo, Full Bleed, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYKFullBleed"
+ *CustomMedia "Letter/Letter" 612.00 792.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Letter" "%% FoomaticRIPOptionSetting: PageSize=Letter"
+ CustomMedia "A4/A4" 595.00 842.00 9.72 36.00 9.72 9.00 "%% FoomaticRIPOptionSetting: PageSize=A4" "%% FoomaticRIPOptionSetting: PageSize=A4"
+ CustomMedia "Photo/Photo or 4x6 inch index card" 288.00 432.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo" "%% FoomaticRIPOptionSetting: PageSize=Photo"
+ CustomMedia "Photo5x7/Photo or 5x7 inch index card" 360.00 504.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" "%% FoomaticRIPOptionSetting: PageSize=Photo5x7"
+ CustomMedia "PhotoTearOff/Photo with tear-off tab" 288.00 432.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff"
+ CustomMedia "3x5/3x5 inch index card" 216.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=3x5" "%% FoomaticRIPOptionSetting: PageSize=3x5"
+ CustomMedia "5x8/5x8 inch index card" 360.00 576.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=5x8" "%% FoomaticRIPOptionSetting: PageSize=5x8"
+ CustomMedia "A5/A5" 420.00 595.00 9.00 36.00 9.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=A5" "%% FoomaticRIPOptionSetting: PageSize=A5"
+ CustomMedia "A6/A6" 297.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6" "%% FoomaticRIPOptionSetting: PageSize=A6"
+ CustomMedia "A6TearOff/A6 with tear-off tab" 297.00 420.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" "%% FoomaticRIPOptionSetting: PageSize=A6TearOff"
+ CustomMedia "B5JIS/B5 (JIS)" 516.00 729.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B5JIS" "%% FoomaticRIPOptionSetting: PageSize=B5JIS"
+ CustomMedia "CDDVD80/CD or DVD 80 mm" 237.00 237.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" "%% FoomaticRIPOptionSetting: PageSize=CDDVD80"
+ CustomMedia "CDDVD120/CD or DVD 120 mm" 360.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" "%% FoomaticRIPOptionSetting: PageSize=CDDVD120"
+ CustomMedia "Env10/Envelope #10" 297.00 684.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Env10" "%% FoomaticRIPOptionSetting: PageSize=Env10"
+ CustomMedia "EnvC5/Envelope C5" 459.00 649.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC5" "%% FoomaticRIPOptionSetting: PageSize=EnvC5"
+ CustomMedia "EnvC6/Envelope C6" 323.00 459.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC6" "%% FoomaticRIPOptionSetting: PageSize=EnvC6"
+ CustomMedia "EnvDL/Envelope DL" 312.00 624.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvDL" "%% FoomaticRIPOptionSetting: PageSize=EnvDL"
+ CustomMedia "EnvISOB5/Envelope B5" 499.00 709.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5"
+ CustomMedia "EnvMonarch/Envelope Monarch" 279.00 540.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch"
+ CustomMedia "Executive/Executive" 522.00 756.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Executive" "%% FoomaticRIPOptionSetting: PageSize=Executive"
+ CustomMedia "FLSA/American Foolscap" 612.00 936.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=FLSA" "%% FoomaticRIPOptionSetting: PageSize=FLSA"
+ CustomMedia "Hagaki/Hagaki" 283.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Hagaki" "%% FoomaticRIPOptionSetting: PageSize=Hagaki"
+ CustomMedia "Legal/Legal" 612.00 1008.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Legal" "%% FoomaticRIPOptionSetting: PageSize=Legal"
+ CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku"
+ CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774"
+ CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935"
+ // <%Saipan:Normal%>
+ {
+ ModelName "HP Officejet 6100 hpijs"
+ Attribute "NickName" "" "HP Officejet 6100 hpijs, $Version"
+ Attribute "ShortNickName" "" "HP Officejet 6100 hpijs"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 6100;DES:officejet 6100;"
+ PCFileName "hp-officejet_6100-hpijs.ppd"
+ Attribute "Product" "" "(HP Officejet 6100 Eprinter h611a)"
+ }
+ {
+ ModelName "HP Officejet 6600 hpijs"
+ Attribute "NickName" "" "HP Officejet 6600 hpijs, $Version"
+ Attribute "ShortNickName" "" "HP Officejet 6600 hpijs"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 6600;DES:officejet 6600;"
+ PCFileName "hp-officejet_6600-hpijs.ppd"
+ Attribute "Product" "" "(HP Officejet 6600 E-all-in-one Printer - h711a)"
+ }
+ // <%Saipan:AutoDuplex%>
+ {
+ ModelName "HP Officejet 6700 hpijs"
+ Attribute "NickName" "" "HP Officejet 6700 hpijs, $Version"
+ Attribute "ShortNickName" "" "HP Officejet 6700 hpijs"
+ Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 6700;DES:officejet 6700;"
+ PCFileName "hp-officejet_6700-hpijs.ppd"
+ Attribute "Product" "" "(HP Officejet 6700 E-all-in-one Printer - h711n)"
+ }
+} // end Saipan
+
////////// Python11
{
Attribute "DefaultResolution" "" "1200dpi"
@@ -15869,5 +16078,7 @@ lity:PenSet=2,Quality:FullBleed=1"
} // End Pyramid
+
+
} // end Manufacturer "HP"
diff --git a/prnt/drv/hpijs.drv.in.template b/prnt/drv/hpijs.drv.in.template
index 2b12412aa..27f114e38 100644
--- a/prnt/drv/hpijs.drv.in.template
+++ b/prnt/drv/hpijs.drv.in.template
@@ -7028,6 +7028,229 @@ lity:PenSet=2,Quality:FullBleed=1"
} // end Copperhead
+////////// Saipan
+{
+ Attribute "DefaultResolution" "" "1200dpi"
+
+ // Custom page sizes from 1x4in to Legal
+ HWMargins 18 36 18 9
+ VariablePaperSize Yes
+ MinSize 1in 4in
+ MaxSize 8.5in 14in
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Custom" " -dDEVICEWIDTHPOINTS=0 -dD&&
+EVICEHEIGHTPOINTS=0"
+
+ Attribute "FoomaticIDs" "" "HP-DeskJet_5550 hpijs"
+ Attribute "FoomaticRIPCommandLine" "" "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPA&&
+USE -sDEVICE=ijs -sIjsServer=hpijs%A%B%C -dIjsUseOutputFD%Z -sOutputFi&&
+le=- -"
+ Attribute "FoomaticRIPOption" "Model" "enum CmdLine A 100"
+ Attribute "FoomaticRIPOptionSetting" "Model=HP-DeskJet_5550" " -sDeviceManufacture&&
+r=&quot;HEWLETT-PACKARD&quot; -sDeviceModel=&quot;deskjet 5550&quot;"
+ Attribute "FoomaticRIPOption" "PrintoutMode" "enum Composite B"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft" "Quality=300FastDraftCol&&
+orCMYK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft.Gray" "Quality=300FastDra&&
+ftGrayscaleK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal" "Quality=300ColorCMYK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal.Gray" "Quality=300Graysc&&
+aleK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High" "Quality=600ColorCMYK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High.Gray" "Quality=600Grayscal&&
+eK"
+ Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Photo" "Quality=1200PhotoCMYKFu&&
+llBleed"
+ Attribute "FoomaticRIPOption" "InputSlot" "enum CmdLine C"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Default" ",PS:MediaPosition=7"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=PhotoTray" ",PS:MediaPosition=6"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Upper" ",PS:MediaPosition=1"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Lower" ",PS:MediaPosition=4"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=CDDVDTray" ",PS:MediaPosition=14"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Envelope" ",PS:MediaPosition=3"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=LargeCapacity" ",PS:MediaPosition=&&
+5"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=Manual" ",PS:MediaPosition=2"
+ Attribute "FoomaticRIPOptionSetting" "InputSlot=MPTray" ",PS:MediaPosition=8"
+ Attribute "FoomaticRIPOption" "PageSize" "enum CmdLine A"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Letter" " -dDEVICEWIDTHPOINTS=612 -&&
+dDEVICEHEIGHTPOINTS=792"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=A4" " -dDEVICEWIDTHPOINTS=595 -dDEV&&
+ICEHEIGHTPOINTS=842"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Photo" " -dDEVICEWIDTHPOINTS=288 -d&&
+DEVICEHEIGHTPOINTS=432"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Photo5x7" " -dDEVICEWIDTHPOINTS=360&&
+ -dDEVICEHEIGHTPOINTS=504"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=PhotoTearOff" " -dDEVICEWIDTHPOINTS&&
+=288 -dDEVICEHEIGHTPOINTS=432"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=3x5" " -dDEVICEWIDTHPOINTS=216 -dDE&&
+VICEHEIGHTPOINTS=360"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=5x8" " -dDEVICEWIDTHPOINTS=360 -dDE&&
+VICEHEIGHTPOINTS=576"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=A5" " -dDEVICEWIDTHPOINTS=420 -dDEV&&
+ICEHEIGHTPOINTS=595"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=A6" " -dDEVICEWIDTHPOINTS=297 -dDEV&&
+ICEHEIGHTPOINTS=420"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=A6TearOff" " -dDEVICEWIDTHPOINTS=29&&
+7 -dDEVICEHEIGHTPOINTS=420"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=B5JIS" " -dDEVICEWIDTHPOINTS=516 -d&&
+DEVICEHEIGHTPOINTS=729"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD80" " -dDEVICEWIDTHPOINTS=237 &&
+-dDEVICEHEIGHTPOINTS=237"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD120" " -dDEVICEWIDTHPOINTS=360&&
+ -dDEVICEHEIGHTPOINTS=360"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Env10" " -dDEVICEWIDTHPOINTS=297 -d&&
+DEVICEHEIGHTPOINTS=684"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC5" " -dDEVICEWIDTHPOINTS=459 -d&&
+DEVICEHEIGHTPOINTS=649"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC6" " -dDEVICEWIDTHPOINTS=323 -d&&
+DEVICEHEIGHTPOINTS=459"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvDL" " -dDEVICEWIDTHPOINTS=312 -d&&
+DEVICEHEIGHTPOINTS=624"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvISOB5" " -dDEVICEWIDTHPOINTS=499&&
+ -dDEVICEHEIGHTPOINTS=709"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=EnvMonarch" " -dDEVICEWIDTHPOINTS=2&&
+79 -dDEVICEHEIGHTPOINTS=540"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Executive" " -dDEVICEWIDTHPOINTS=52&&
+2 -dDEVICEHEIGHTPOINTS=756"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=FLSA" " -dDEVICEWIDTHPOINTS=612 -dD&&
+EVICEHEIGHTPOINTS=936"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Hagaki" " -dDEVICEWIDTHPOINTS=283 -&&
+dDEVICEHEIGHTPOINTS=420"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Legal" " -dDEVICEWIDTHPOINTS=612 -d&&
+DEVICEHEIGHTPOINTS=1008"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=Oufuku" " -dDEVICEWIDTHPOINTS=567 -&&
+dDEVICEHEIGHTPOINTS=420"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=w558h774" " -dDEVICEWIDTHPOINTS=558&&
+ -dDEVICEHEIGHTPOINTS=774"
+ Attribute "FoomaticRIPOptionSetting" "PageSize=w612h935" " -dDEVICEWIDTHPOINTS=612&&
+ -dDEVICEHEIGHTPOINTS=935"
+ Attribute "FoomaticRIPOption" "Duplex" "enum CmdLine A"
+ Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexNoTumble" " -dDuplex=true -dTum&&
+ble=false"
+ Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexTumble" " -dDuplex=true -dTumbl&&
+e=true"
+ Attribute "FoomaticRIPOptionSetting" "Duplex=None" " -dDuplex=false"
+ Attribute "FoomaticRIPOption" "DryTime" "enum CmdLine B"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Zero" ""
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Five" ",DryTime=5"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Ten" ",DryTime=10"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Fifteen" ",DryTime=15"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Twenty" ",DryTime=20"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=TwentyFive" ",DryTime=25"
+ Attribute "FoomaticRIPOptionSetting" "DryTime=Thirty" ",DryTime=30"
+ Attribute "FoomaticRIPOption" "Quality" "enum CmdLine B"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYK" " -r300 -sIjsParams=Qu&&
+ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&&
+=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYKFullBleed" " -r300 -sIjs&&
+Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&&
+ty:PenSet=2,Quality:FullBleed=1"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300DraftColorCMYK" " -r300 -sIjsPara&&
+ms=Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:P&&
+enSet=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300DraftGrayscaleK" " -r300 -sIjs&&
+Params=Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quali&&
+ty:PenSet=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftColorCMYK" " -r300 -sIjs&&
+Params=Quality:Quality=4,Quality:ColorMode=2,Quality:MediaType=0,Quali&&
+ty:PenSet=2,Quality:SpeedMech=1"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftGrayscaleK" " -r300 -&&
+sIjsParams=Quality:Quality=4,Quality:ColorMode=0,Quality:MediaType=0,Q&&
+uality:PenSet=2,Quality:SpeedMech=1"
+ Attribute "FoomaticRIPOptionSetting" "Quality=300GrayscaleK" " -r300 -sIjsParam&&
+s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&&
+nSet=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYK" " -r600 -sIjsParams=Qu&&
+ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&&
+=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYKFullBleed" " -r600 -sIjs&&
+Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&&
+ty:PenSet=2,Quality:FullBleed=1"
+ Attribute "FoomaticRIPOptionSetting" "Quality=600GrayscaleK" " -r600 -sIjsParam&&
+s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&&
+nSet=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYK" " -r1200 -sIjsParams=&&
+Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenS&&
+et=2"
+ Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYKFullBleed" " -r1200 -sI&&
+jsParams=Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Qua&&
+lity:PenSet=2,Quality:FullBleed=1"
+ Group "General/General"
+ Option "PrintoutMode/Printout Mode" PickOne AnySetup 10.0
+ Choice "Draft/Draft (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft"
+ Choice "Draft.Gray/Draft Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft.Gray"
+ *Choice "Normal/Normal (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal"
+ Choice "Normal.Gray/Normal Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal.Gray"
+ Choice "High/High Quality (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High"
+ Choice "High.Gray/High Quality Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High.Gray"
+ Choice "Photo/Photo (on photo paper)" "%% FoomaticRIPOptionSetting: PrintoutMode=Photo"
+ Option "InputSlot/Media Source" PickOne AnySetup 100.0
+ *Choice "Default/Printer default" "%% FoomaticRIPOptionSetting: InputSlot=Default"
+ Choice "PhotoTray/Photo Tray" "%% FoomaticRIPOptionSetting: InputSlot=PhotoTray"
+ Choice "Upper/Upper Tray" "%% FoomaticRIPOptionSetting: InputSlot=Upper"
+ Choice "Lower/Lower Tray" "%% FoomaticRIPOptionSetting: InputSlot=Lower"
+ Choice "CDDVDTray/CD or DVD Tray" "%% FoomaticRIPOptionSetting: InputSlot=CDDVDTray"
+ Choice "Envelope/Envelope Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Envelope"
+ Choice "LargeCapacity/Large Capacity Tray" "%% FoomaticRIPOptionSetting: InputSlot=LargeCapacity"
+ Choice "Manual/Manual Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Manual"
+ Choice "MPTray/Multi Purpose Tray" "%% FoomaticRIPOptionSetting: InputSlot=MPTray"
+ Option "Duplex/Double-Sided Printing" PickOne AnySetup 120.0
+ Choice "DuplexNoTumble/Long Edge (Standard)" "%% FoomaticRIPOptionSetting: Duplex=DuplexNoTumble"
+ Choice "DuplexTumble/Short Edge (Flip)" "%% FoomaticRIPOptionSetting: Duplex=DuplexTumble"
+ *Choice "None/Off" "%% FoomaticRIPOptionSetting: Duplex=None"
+ Option "DryTime/Additional Dry Time" PickOne AnySetup 120.0
+ *Choice "Zero/Printer Default" "%% FoomaticRIPOptionSetting: DryTime=Zero"
+ Choice "Five/5 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Five"
+ Choice "Ten/10 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Ten"
+ Choice "Fifteen/15 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Fifteen"
+ Choice "Twenty/20 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Twenty"
+ Choice "TwentyFive/25 Seconds" "%% FoomaticRIPOptionSetting: DryTime=TwentyFive"
+ Choice "Thirty/30 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Thirty"
+ Group "PrintoutMode/Printout Mode"
+ Option "Quality/Resolution, Quality, Ink Type, Media Type" PickOne AnySetup 100.0
+ *Choice "FromPrintoutMode/Controlled by 'Printout Mode'" "%% FoomaticRIPOptionSetting: Quality=@PrintoutMode"
+ Choice "300ColorCMYK/300 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYK"
+ Choice "300ColorCMYKFullBleed/300 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYKFullBleed"
+ Choice "300DraftColorCMYK/300 dpi, Draft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftColorCMYK"
+ Choice "300DraftGrayscaleK/300 dpi, Draft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftGrayscaleK"
+ Choice "300FastDraftColorCMYK/300 dpi, FastDraft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftColorCMYK"
+ Choice "300FastDraftGrayscaleK/300 dpi, FastDraft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftGrayscaleK"
+ Choice "300GrayscaleK/300 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300GrayscaleK"
+ Choice "600ColorCMYK/600 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYK"
+ Choice "600ColorCMYKFullBleed/600 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYKFullBleed"
+ Choice "600GrayscaleK/600 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=600GrayscaleK"
+ Choice "1200PhotoCMYK/1200 dpi, Photo, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYK"
+ Choice "1200PhotoCMYKFullBleed/1200 dpi, Photo, Full Bleed, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYKFullBleed"
+ *CustomMedia "Letter/Letter" 612.00 792.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Letter" "%% FoomaticRIPOptionSetting: PageSize=Letter"
+ CustomMedia "A4/A4" 595.00 842.00 9.72 36.00 9.72 9.00 "%% FoomaticRIPOptionSetting: PageSize=A4" "%% FoomaticRIPOptionSetting: PageSize=A4"
+ CustomMedia "Photo/Photo or 4x6 inch index card" 288.00 432.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo" "%% FoomaticRIPOptionSetting: PageSize=Photo"
+ CustomMedia "Photo5x7/Photo or 5x7 inch index card" 360.00 504.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" "%% FoomaticRIPOptionSetting: PageSize=Photo5x7"
+ CustomMedia "PhotoTearOff/Photo with tear-off tab" 288.00 432.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff"
+ CustomMedia "3x5/3x5 inch index card" 216.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=3x5" "%% FoomaticRIPOptionSetting: PageSize=3x5"
+ CustomMedia "5x8/5x8 inch index card" 360.00 576.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=5x8" "%% FoomaticRIPOptionSetting: PageSize=5x8"
+ CustomMedia "A5/A5" 420.00 595.00 9.00 36.00 9.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=A5" "%% FoomaticRIPOptionSetting: PageSize=A5"
+ CustomMedia "A6/A6" 297.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6" "%% FoomaticRIPOptionSetting: PageSize=A6"
+ CustomMedia "A6TearOff/A6 with tear-off tab" 297.00 420.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" "%% FoomaticRIPOptionSetting: PageSize=A6TearOff"
+ CustomMedia "B5JIS/B5 (JIS)" 516.00 729.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B5JIS" "%% FoomaticRIPOptionSetting: PageSize=B5JIS"
+ CustomMedia "CDDVD80/CD or DVD 80 mm" 237.00 237.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" "%% FoomaticRIPOptionSetting: PageSize=CDDVD80"
+ CustomMedia "CDDVD120/CD or DVD 120 mm" 360.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" "%% FoomaticRIPOptionSetting: PageSize=CDDVD120"
+ CustomMedia "Env10/Envelope #10" 297.00 684.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Env10" "%% FoomaticRIPOptionSetting: PageSize=Env10"
+ CustomMedia "EnvC5/Envelope C5" 459.00 649.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC5" "%% FoomaticRIPOptionSetting: PageSize=EnvC5"
+ CustomMedia "EnvC6/Envelope C6" 323.00 459.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC6" "%% FoomaticRIPOptionSetting: PageSize=EnvC6"
+ CustomMedia "EnvDL/Envelope DL" 312.00 624.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvDL" "%% FoomaticRIPOptionSetting: PageSize=EnvDL"
+ CustomMedia "EnvISOB5/Envelope B5" 499.00 709.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5"
+ CustomMedia "EnvMonarch/Envelope Monarch" 279.00 540.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch"
+ CustomMedia "Executive/Executive" 522.00 756.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Executive" "%% FoomaticRIPOptionSetting: PageSize=Executive"
+ CustomMedia "FLSA/American Foolscap" 612.00 936.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=FLSA" "%% FoomaticRIPOptionSetting: PageSize=FLSA"
+ CustomMedia "Hagaki/Hagaki" 283.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Hagaki" "%% FoomaticRIPOptionSetting: PageSize=Hagaki"
+ CustomMedia "Legal/Legal" 612.00 1008.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Legal" "%% FoomaticRIPOptionSetting: PageSize=Legal"
+ CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku"
+ CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774"
+ CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935"
+ // <%Saipan:Normal%>
+ // <%Saipan:AutoDuplex%>
+} // end Saipan
+
////////// Python11
{
Attribute "DefaultResolution" "" "1200dpi"
@@ -9119,5 +9342,7 @@ lity:PenSet=2,Quality:FullBleed=1"
} // End Pyramid
+
+
} // end Manufacturer "HP"
diff --git a/prnt/hpcups/HPCupsFilter.cpp b/prnt/hpcups/HPCupsFilter.cpp
index 514e285d9..00e4bb46f 100644
--- a/prnt/hpcups/HPCupsFilter.cpp
+++ b/prnt/hpcups/HPCupsFilter.cpp
@@ -735,7 +735,7 @@ static BYTE pixel_value[8] = {
int k = 0;
BYTE *pIn = m_pPrinterBuffer;
BYTE kVal = 0;
- BYTE b;
+ BYTE white=0;
BYTE *rgb = rgbRaster;
BYTE *black = kRaster;
memset (kRaster, 0, cups_header->cupsWidth);
@@ -745,34 +745,34 @@ static BYTE pixel_value[8] = {
rgb[0] = *pIn++;
rgb[1] = *pIn++;
rgb[2] = *pIn++;
- b = *pIn++;
+ white = *pIn++;
- if (b != 0 && b != 0xFF) {
-
-#ifdef __linux
- // rgb[0] -= (255 - b);
- // rgb[1] -= (255 - b);
- // rgb[2] -= (255 - b);
+ if(white == 0)
+ {
+ //If W component is 0 (means black is 1) then no need of having RGB for that pixel.
+ //ghostscript >= 8.71 sends both W and RGB for black pixel(i.e RGBW=(0,0,0,0)).
+ kVal |= pixel_value[k];
+ rgb[0] = 0xFF;
+ rgb[1] = 0xFF;
+ rgb[2] = 0xFF;
+ }
+ else if(white == 0xFF)
+ {
+ kVal |= 0;
+ }
+ else
+ {
int cr,cg,cb;
- cr = rgb[0] - (int)(255 - b);
+ cr = rgb[0] - (int)(255 - white);
rgb[0] = cr >= 0 ? cr : 0;
- cg = rgb[1] - (int)(255 - b);
+ cg = rgb[1] - (int)(255 - white);
rgb[1] = cg >= 0 ? cg : 0;
- cb = rgb[2] - (int)(255 - b);
- rgb[2] = cb >= 0 ? cb : 0;
-#else // This alternate path is for Mac....
-
- rgb[0] &= b;
- rgb[1] &= b;
- rgb[2] &= b;
-#endif
+ cb = rgb[2] - (int)(255 - white);
+ rgb[2] = cb >= 0 ? cb : 0;
}
- else
- kVal |= (b == 0) ? pixel_value[k] : 0;
- // else if (rgb[0] == rgb[1] && rgb[1] ==rgb[2])
- // kVal |= (rgb[0] == 0) ? pixel_value[k] : 0;
+
rgb += 3;
if (k == 7) {
*black++ = kVal;
diff --git a/prnt/ps/hp-business_inkjet_2250-ps.ppd.gz b/prnt/ps/hp-business_inkjet_2250-ps.ppd.gz
index 9123c5fc5..443b1d730 100644
--- a/prnt/ps/hp-business_inkjet_2250-ps.ppd.gz
+++ b/prnt/ps/hp-business_inkjet_2250-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-business_inkjet_2280-ps.ppd.gz b/prnt/ps/hp-business_inkjet_2280-ps.ppd.gz
index 3389f9f9e..6788c2552 100644
--- a/prnt/ps/hp-business_inkjet_2280-ps.ppd.gz
+++ b/prnt/ps/hp-business_inkjet_2280-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-business_inkjet_2300-ps.ppd.gz b/prnt/ps/hp-business_inkjet_2300-ps.ppd.gz
index 2a1b173b7..bfbf14405 100644
--- a/prnt/ps/hp-business_inkjet_2300-ps.ppd.gz
+++ b/prnt/ps/hp-business_inkjet_2300-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-business_inkjet_2600-ps.ppd.gz b/prnt/ps/hp-business_inkjet_2600-ps.ppd.gz
index 684b9b96a..8cc91b8b4 100644
--- a/prnt/ps/hp-business_inkjet_2600-ps.ppd.gz
+++ b/prnt/ps/hp-business_inkjet_2600-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-business_inkjet_2800-ps.ppd.gz b/prnt/ps/hp-business_inkjet_2800-ps.ppd.gz
index 02deb5b4a..b0388aa2a 100644
--- a/prnt/ps/hp-business_inkjet_2800-ps.ppd.gz
+++ b/prnt/ps/hp-business_inkjet_2800-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-business_inkjet_3000-ps.ppd.gz b/prnt/ps/hp-business_inkjet_3000-ps.ppd.gz
index 16bfd3456..18b41b54b 100644
--- a/prnt/ps/hp-business_inkjet_3000-ps.ppd.gz
+++ b/prnt/ps/hp-business_inkjet_3000-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-cm8050_mfp_with_edgeline-ps.ppd.gz b/prnt/ps/hp-cm8050_mfp_with_edgeline-ps.ppd.gz
index 0e3913c04..8fc660055 100644
--- a/prnt/ps/hp-cm8050_mfp_with_edgeline-ps.ppd.gz
+++ b/prnt/ps/hp-cm8050_mfp_with_edgeline-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-cm8060_mfp_with_edgeline-ps.ppd.gz b/prnt/ps/hp-cm8060_mfp_with_edgeline-ps.ppd.gz
index 70d8a60d2..101bf9d7d 100644
--- a/prnt/ps/hp-cm8060_mfp_with_edgeline-ps.ppd.gz
+++ b/prnt/ps/hp-cm8060_mfp_with_edgeline-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet-ps.ppd.gz b/prnt/ps/hp-color_laserjet-ps.ppd.gz
index ba3a661f5..647e39a8e 100644
--- a/prnt/ps/hp-color_laserjet-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2500-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2500-ps.ppd.gz
index 6569d10c2..3e09f548a 100644
--- a/prnt/ps/hp-color_laserjet_2500-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2500-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2500_series-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2500_series-ps.ppd.gz
index bacb496e9..834957cbe 100644
--- a/prnt/ps/hp-color_laserjet_2500_series-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2500_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2550_series-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2550_series-ps.ppd.gz
index 9381c96d7..417ca580d 100644
--- a/prnt/ps/hp-color_laserjet_2550_series-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2550_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2605-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2605-ps.ppd.gz
index ee6964170..45b7fea16 100644
--- a/prnt/ps/hp-color_laserjet_2605-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2605-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2605dn-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2605dn-ps.ppd.gz
index d1aaa7900..84ef5973a 100644
--- a/prnt/ps/hp-color_laserjet_2605dn-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2605dn-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2605dtn-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2605dtn-ps.ppd.gz
index 08198b68c..8a51464ad 100644
--- a/prnt/ps/hp-color_laserjet_2605dtn-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2605dtn-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2700-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2700-ps.ppd.gz
index 577a182d9..0de4d9270 100644
--- a/prnt/ps/hp-color_laserjet_2700-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2700-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2700n-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2700n-ps.ppd.gz
index b58799166..b4b04a8c3 100644
--- a/prnt/ps/hp-color_laserjet_2700n-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2700n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2800-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2800-ps.ppd.gz
index a73c9ddc3..27b8055e0 100644
--- a/prnt/ps/hp-color_laserjet_2800-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2800-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2820-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2820-ps.ppd.gz
index b6ae6b4a4..974b3ae88 100644
--- a/prnt/ps/hp-color_laserjet_2820-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2820-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2830-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2830-ps.ppd.gz
index 8c7c2abf3..ba6e482fb 100644
--- a/prnt/ps/hp-color_laserjet_2830-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2830-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_2840-ps.ppd.gz b/prnt/ps/hp-color_laserjet_2840-ps.ppd.gz
index 3e5f17cc6..9036b5743 100644
--- a/prnt/ps/hp-color_laserjet_2840-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_2840-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_3000-ps.ppd.gz b/prnt/ps/hp-color_laserjet_3000-ps.ppd.gz
index a80e4b1b1..ff4791d9d 100644
--- a/prnt/ps/hp-color_laserjet_3000-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_3000-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_3700-ps.ppd.gz b/prnt/ps/hp-color_laserjet_3700-ps.ppd.gz
index 6d8fb3464..313c99ce1 100644
--- a/prnt/ps/hp-color_laserjet_3700-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_3700-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_3700n-ps.ppd.gz b/prnt/ps/hp-color_laserjet_3700n-ps.ppd.gz
index e53f28935..bf939859f 100644
--- a/prnt/ps/hp-color_laserjet_3700n-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_3700n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_3800-ps.ppd.gz b/prnt/ps/hp-color_laserjet_3800-ps.ppd.gz
index 6522ba610..500e927a7 100644
--- a/prnt/ps/hp-color_laserjet_3800-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_3800-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_4500-ps.ppd.gz b/prnt/ps/hp-color_laserjet_4500-ps.ppd.gz
index b3647c069..95f5bdd68 100644
--- a/prnt/ps/hp-color_laserjet_4500-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_4500-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_4550-ps.ppd.gz b/prnt/ps/hp-color_laserjet_4550-ps.ppd.gz
index 794bca628..12498e11e 100644
--- a/prnt/ps/hp-color_laserjet_4550-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_4550-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_4600-ps.ppd.gz b/prnt/ps/hp-color_laserjet_4600-ps.ppd.gz
index 56a377473..4b845cbab 100644
--- a/prnt/ps/hp-color_laserjet_4600-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_4600-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_4600_series-ps.ppd.gz b/prnt/ps/hp-color_laserjet_4600_series-ps.ppd.gz
index 870e59999..e4597c08d 100644
--- a/prnt/ps/hp-color_laserjet_4600_series-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_4600_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_4610-ps.ppd.gz b/prnt/ps/hp-color_laserjet_4610-ps.ppd.gz
index c895359ef..6c0d97775 100644
--- a/prnt/ps/hp-color_laserjet_4610-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_4610-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_4650-ps.ppd.gz b/prnt/ps/hp-color_laserjet_4650-ps.ppd.gz
index 8a979439b..e668d23ed 100644
--- a/prnt/ps/hp-color_laserjet_4650-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_4650-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_4700-ps.ppd.gz b/prnt/ps/hp-color_laserjet_4700-ps.ppd.gz
index 46d0a9e09..a890d5fba 100644
--- a/prnt/ps/hp-color_laserjet_4700-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_4700-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_4730mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_4730mfp-ps.ppd.gz
index 15d677413..93a2132f2 100644
--- a/prnt/ps/hp-color_laserjet_4730mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_4730mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_5500-ps.ppd.gz b/prnt/ps/hp-color_laserjet_5500-ps.ppd.gz
index 916f52f1e..b1b557c71 100644
--- a/prnt/ps/hp-color_laserjet_5500-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_5500-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_5550-ps.ppd.gz b/prnt/ps/hp-color_laserjet_5550-ps.ppd.gz
index 648f7bb48..56f097dba 100644
--- a/prnt/ps/hp-color_laserjet_5550-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_5550-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_5m-ps.ppd.gz b/prnt/ps/hp-color_laserjet_5m-ps.ppd.gz
index ccfbc66fd..f98ba4968 100644
--- a/prnt/ps/hp-color_laserjet_5m-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_5m-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_8500-ps.ppd.gz b/prnt/ps/hp-color_laserjet_8500-ps.ppd.gz
index 47e860375..8096478a7 100644
--- a/prnt/ps/hp-color_laserjet_8500-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_8500-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_8550-ps.ppd.gz b/prnt/ps/hp-color_laserjet_8550-ps.ppd.gz
index 437f5e2ee..9cbe01777 100644
--- a/prnt/ps/hp-color_laserjet_8550-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_8550-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_9500-ps.ppd.gz b/prnt/ps/hp-color_laserjet_9500-ps.ppd.gz
index 345baf369..1df24a72a 100644
--- a/prnt/ps/hp-color_laserjet_9500-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_9500-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_9500_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_9500_mfp-ps.ppd.gz
index da5e222a8..2c48a8798 100644
--- a/prnt/ps/hp-color_laserjet_9500_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_9500_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm1015-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm1015-ps.ppd.gz
index 09b27505d..9cd9018cf 100644
--- a/prnt/ps/hp-color_laserjet_cm1015-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm1015-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm1017-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm1017-ps.ppd.gz
index f16fef964..3a7ef72e5 100644
--- a/prnt/ps/hp-color_laserjet_cm1017-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm1017-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm1312_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm1312_mfp-ps.ppd.gz
index 44e821f41..2f2bf8d0f 100644
--- a/prnt/ps/hp-color_laserjet_cm1312_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm1312_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm1312nfi_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm1312nfi_mfp-ps.ppd.gz
index 4372245de..3de31b116 100644
--- a/prnt/ps/hp-color_laserjet_cm1312nfi_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm1312nfi_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm2320_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm2320_mfp-ps.ppd.gz
index 194064161..599bbf9b3 100644
--- a/prnt/ps/hp-color_laserjet_cm2320_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm2320_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm2320fxi_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm2320fxi_mfp-ps.ppd.gz
index 2be27e121..7f80d232d 100644
--- a/prnt/ps/hp-color_laserjet_cm2320fxi_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm2320fxi_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm2320n_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm2320n_mfp-ps.ppd.gz
index d4619f926..5fc1d2b89 100644
--- a/prnt/ps/hp-color_laserjet_cm2320n_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm2320n_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm2320nf_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm2320nf_mfp-ps.ppd.gz
index f0c67afd3..9934cfde3 100644
--- a/prnt/ps/hp-color_laserjet_cm2320nf_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm2320nf_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm3530_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm3530_mfp-ps.ppd.gz
index f8793be36..4cf8c991c 100644
--- a/prnt/ps/hp-color_laserjet_cm3530_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm3530_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm4540_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm4540_mfp-ps.ppd.gz
index ce2dd034c..6a21e28a0 100644
--- a/prnt/ps/hp-color_laserjet_cm4540_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm4540_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm4730_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm4730_mfp-ps.ppd.gz
index 8e6583c67..b865bbae4 100644
--- a/prnt/ps/hp-color_laserjet_cm4730_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm4730_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm6030_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm6030_mfp-ps.ppd.gz
index 38caacef8..22a47bd4b 100644
--- a/prnt/ps/hp-color_laserjet_cm6030_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm6030_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm6040_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm6040_mfp-ps.ppd.gz
index 19f988f31..12ac2bf7f 100644
--- a/prnt/ps/hp-color_laserjet_cm6040_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm6040_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cm6049_mfp-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cm6049_mfp-ps.ppd.gz
index 3f864856c..7794d3ad6 100644
--- a/prnt/ps/hp-color_laserjet_cm6049_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cm6049_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp1514n-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp1514n-ps.ppd.gz
index 7a27c1529..058db7c7b 100644
--- a/prnt/ps/hp-color_laserjet_cp1514n-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp1514n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp1515n-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp1515n-ps.ppd.gz
index 546d49e86..b4e389b77 100644
--- a/prnt/ps/hp-color_laserjet_cp1515n-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp1515n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp1518ni-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp1518ni-ps.ppd.gz
index 2d163438c..22812a2a8 100644
--- a/prnt/ps/hp-color_laserjet_cp1518ni-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp1518ni-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp2025-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp2025-ps.ppd.gz
index 021bc52dc..5db324be7 100644
--- a/prnt/ps/hp-color_laserjet_cp2025-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp2025-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp2025dn-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp2025dn-ps.ppd.gz
index 9ca935628..9d8326d26 100644
--- a/prnt/ps/hp-color_laserjet_cp2025dn-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp2025dn-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp2025n-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp2025n-ps.ppd.gz
index 1b257610e..6e092094b 100644
--- a/prnt/ps/hp-color_laserjet_cp2025n-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp2025n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp2025x-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp2025x-ps.ppd.gz
index 48e482a6a..330bd5de0 100644
--- a/prnt/ps/hp-color_laserjet_cp2025x-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp2025x-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz
index a383a6a60..52b3d63af 100644
--- a/prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp3525-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp3525-ps.ppd.gz
index b52ec49fa..5f21ada06 100644
--- a/prnt/ps/hp-color_laserjet_cp3525-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp3525-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp4005-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp4005-ps.ppd.gz
index a2e0dc705..1b2090765 100644
--- a/prnt/ps/hp-color_laserjet_cp4005-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp4005-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp4020_series-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp4020_series-ps.ppd.gz
index defb2b7a0..e52350d55 100644
--- a/prnt/ps/hp-color_laserjet_cp4020_series-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp4020_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp4520_series-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp4520_series-ps.ppd.gz
index 825191b09..9563d5643 100644
--- a/prnt/ps/hp-color_laserjet_cp4520_series-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp4520_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp5225-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp5225-ps.ppd.gz
index c5b71a797..acc69e464 100644
--- a/prnt/ps/hp-color_laserjet_cp5225-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp5225-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp5225dn-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp5225dn-ps.ppd.gz
index e229f3e0b..6f550bc4c 100644
--- a/prnt/ps/hp-color_laserjet_cp5225dn-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp5225dn-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp5225n-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp5225n-ps.ppd.gz
index 16b4d30bc..3f00e7d19 100644
--- a/prnt/ps/hp-color_laserjet_cp5225n-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp5225n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp5520_series-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp5520_series-ps.ppd.gz
index 66a449506..23b5e7b93 100644
--- a/prnt/ps/hp-color_laserjet_cp5520_series-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp5520_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-color_laserjet_cp6015-ps.ppd.gz b/prnt/ps/hp-color_laserjet_cp6015-ps.ppd.gz
index e33fe92e6..a8631479d 100644
--- a/prnt/ps/hp-color_laserjet_cp6015-ps.ppd.gz
+++ b/prnt/ps/hp-color_laserjet_cp6015-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_4000ps.ppd.gz b/prnt/ps/hp-designjet_4000ps.ppd.gz
index ffbc47ab8..68060ba1f 100644
--- a/prnt/ps/hp-designjet_4000ps.ppd.gz
+++ b/prnt/ps/hp-designjet_4000ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_4020ps-ps.ppd.gz b/prnt/ps/hp-designjet_4020ps-ps.ppd.gz
index 256db3dd6..468fdeaa6 100644
--- a/prnt/ps/hp-designjet_4020ps-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_4020ps-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_4500mfp.ppd.gz b/prnt/ps/hp-designjet_4500mfp.ppd.gz
index 7aaade66b..861ca78b7 100644
--- a/prnt/ps/hp-designjet_4500mfp.ppd.gz
+++ b/prnt/ps/hp-designjet_4500mfp.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_4500ps.ppd.gz b/prnt/ps/hp-designjet_4500ps.ppd.gz
index 20e398cd9..988a2b9da 100644
--- a/prnt/ps/hp-designjet_4500ps.ppd.gz
+++ b/prnt/ps/hp-designjet_4500ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_4520mfp-ps.ppd.gz b/prnt/ps/hp-designjet_4520mfp-ps.ppd.gz
index a5608ca1d..ca2d388cc 100644
--- a/prnt/ps/hp-designjet_4520mfp-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_4520mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_4520ps-ps.ppd.gz b/prnt/ps/hp-designjet_4520ps-ps.ppd.gz
index d49ebfca0..e5fb1d8a0 100644
--- a/prnt/ps/hp-designjet_4520ps-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_4520ps-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t1100ps_24in-ps.ppd.gz b/prnt/ps/hp-designjet_t1100ps_24in-ps.ppd.gz
index ebd6c0571..56b7c6c18 100644
--- a/prnt/ps/hp-designjet_t1100ps_24in-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t1100ps_24in-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t1100ps_44in-ps.ppd.gz b/prnt/ps/hp-designjet_t1100ps_44in-ps.ppd.gz
index e4fb88f74..6683ce55a 100644
--- a/prnt/ps/hp-designjet_t1100ps_44in-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t1100ps_44in-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t1120ps_24in-ps.ppd.gz b/prnt/ps/hp-designjet_t1120ps_24in-ps.ppd.gz
index 079357054..d390f0de5 100644
--- a/prnt/ps/hp-designjet_t1120ps_24in-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t1120ps_24in-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz b/prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz
index 1c8d141cc..001e71694 100644
--- a/prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t1200_postscript-ps.ppd.gz b/prnt/ps/hp-designjet_t1200_postscript-ps.ppd.gz
index 5584c20bc..14d54112c 100644
--- a/prnt/ps/hp-designjet_t1200_postscript-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t1200_postscript-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t1300_postscript-ps.ppd.gz b/prnt/ps/hp-designjet_t1300_postscript-ps.ppd.gz
index 764ebef4d..a71d1a08c 100644
--- a/prnt/ps/hp-designjet_t1300_postscript-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t1300_postscript-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t2300_postscript-ps.ppd.gz b/prnt/ps/hp-designjet_t2300_postscript-ps.ppd.gz
index 182e1ce98..8b7411515 100644
--- a/prnt/ps/hp-designjet_t2300_postscript-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t2300_postscript-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t7100ps-ps.ppd.gz b/prnt/ps/hp-designjet_t7100ps-ps.ppd.gz
index af5b0b20e..6cf74b3b1 100644
--- a/prnt/ps/hp-designjet_t7100ps-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t7100ps-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t7100ps_monochrome-ps.ppd.gz b/prnt/ps/hp-designjet_t7100ps_monochrome-ps.ppd.gz
index d8806399d..4dddc9b7f 100644
--- a/prnt/ps/hp-designjet_t7100ps_monochrome-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t7100ps_monochrome-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t770_postscript-ps.ppd.gz b/prnt/ps/hp-designjet_t770_postscript-ps.ppd.gz
index ef353c05a..c97c71be1 100644
--- a/prnt/ps/hp-designjet_t770_postscript-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t770_postscript-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t770ps_24in-ps.ppd.gz b/prnt/ps/hp-designjet_t770ps_24in-ps.ppd.gz
index 370f3d3b5..79fe4f5b3 100644
--- a/prnt/ps/hp-designjet_t770ps_24in-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t770ps_24in-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t790ps_24in-ps.ppd.gz b/prnt/ps/hp-designjet_t790ps_24in-ps.ppd.gz
index 0954a8e36..232894d4f 100644
--- a/prnt/ps/hp-designjet_t790ps_24in-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t790ps_24in-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_t790ps_44in-ps.ppd.gz b/prnt/ps/hp-designjet_t790ps_44in-ps.ppd.gz
index aec47afd7..be0adc883 100644
--- a/prnt/ps/hp-designjet_t790ps_44in-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_t790ps_44in-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz b/prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz
index 3ae2d2acd..526ac4be2 100644
--- a/prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_z6100ps_60in_photo-ps.ppd.gz b/prnt/ps/hp-designjet_z6100ps_60in_photo-ps.ppd.gz
index 0f6b4c170..91732926a 100644
--- a/prnt/ps/hp-designjet_z6100ps_60in_photo-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_z6100ps_60in_photo-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz b/prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz
index 18e20d1b5..f0904b739 100644
--- a/prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-designjet_z6200_60in_photo-ps.ppd.gz b/prnt/ps/hp-designjet_z6200_60in_photo-ps.ppd.gz
index 7bfdbb7d8..5fa6fdee9 100644
--- a/prnt/ps/hp-designjet_z6200_60in_photo-ps.ppd.gz
+++ b/prnt/ps/hp-designjet_z6200_60in_photo-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz b/prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz
index 71eeaeed7..560634c4e 100644
--- a/prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1200-ps.ppd.gz b/prnt/ps/hp-laserjet_1200-ps.ppd.gz
index 6732201d7..1b8a2da6d 100644
--- a/prnt/ps/hp-laserjet_1200-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1200-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1200n-ps.ppd.gz b/prnt/ps/hp-laserjet_1200n-ps.ppd.gz
index 44d0f9a14..66b13f5eb 100644
--- a/prnt/ps/hp-laserjet_1200n-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1200n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1220-ps.ppd.gz b/prnt/ps/hp-laserjet_1220-ps.ppd.gz
index f058660ff..75fb3f216 100644
--- a/prnt/ps/hp-laserjet_1220-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1220-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1220se-ps.ppd.gz b/prnt/ps/hp-laserjet_1220se-ps.ppd.gz
index 2873364f4..535a51b55 100644
--- a/prnt/ps/hp-laserjet_1220se-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1220se-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1300-ps.ppd.gz b/prnt/ps/hp-laserjet_1300-ps.ppd.gz
index 0e8f73d43..aec921a95 100644
--- a/prnt/ps/hp-laserjet_1300-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1300-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1300n-ps.ppd.gz b/prnt/ps/hp-laserjet_1300n-ps.ppd.gz
index c47af795d..c185501aa 100644
--- a/prnt/ps/hp-laserjet_1300n-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1300n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1300xi-ps.ppd.gz b/prnt/ps/hp-laserjet_1300xi-ps.ppd.gz
index 73f31567e..f470fbeaa 100644
--- a/prnt/ps/hp-laserjet_1300xi-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1300xi-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1320-ps.ppd.gz b/prnt/ps/hp-laserjet_1320-ps.ppd.gz
index 8d556fd0a..dd7dd3ca9 100644
--- a/prnt/ps/hp-laserjet_1320-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1320-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1320_series-ps.ppd.gz b/prnt/ps/hp-laserjet_1320_series-ps.ppd.gz
index 9da6a7e27..04ffca293 100644
--- a/prnt/ps/hp-laserjet_1320_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1320_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1320n-ps.ppd.gz b/prnt/ps/hp-laserjet_1320n-ps.ppd.gz
index ef90b130a..3a0f866c1 100644
--- a/prnt/ps/hp-laserjet_1320n-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1320n-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1320nw-ps.ppd.gz b/prnt/ps/hp-laserjet_1320nw-ps.ppd.gz
index e257c9828..695d8bd1a 100644
--- a/prnt/ps/hp-laserjet_1320nw-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1320nw-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_1320tn-ps.ppd.gz b/prnt/ps/hp-laserjet_1320tn-ps.ppd.gz
index a3ef22bc5..485a81308 100644
--- a/prnt/ps/hp-laserjet_1320tn-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_1320tn-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_200_colormfp_m275-ps.ppd.gz b/prnt/ps/hp-laserjet_200_colormfp_m275-ps.ppd.gz
index ea3147bd1..82292e65c 100644
--- a/prnt/ps/hp-laserjet_200_colormfp_m275-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_200_colormfp_m275-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2100-ps.ppd.gz b/prnt/ps/hp-laserjet_2100-ps.ppd.gz
index 6eb8c231b..65f464338 100644
--- a/prnt/ps/hp-laserjet_2100-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2100-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2100_series-ps.ppd.gz b/prnt/ps/hp-laserjet_2100_series-ps.ppd.gz
index 45f85a736..9432a8cb2 100644
--- a/prnt/ps/hp-laserjet_2100_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2100_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2200-ps.ppd.gz b/prnt/ps/hp-laserjet_2200-ps.ppd.gz
index cbb78e5e5..9e7f435d6 100644
--- a/prnt/ps/hp-laserjet_2200-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2200-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2200_series-ps.ppd.gz b/prnt/ps/hp-laserjet_2200_series-ps.ppd.gz
index 783046ba8..67214af3c 100644
--- a/prnt/ps/hp-laserjet_2200_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2200_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2300-ps.ppd.gz b/prnt/ps/hp-laserjet_2300-ps.ppd.gz
index 6c3d5a110..5bf92a82a 100644
--- a/prnt/ps/hp-laserjet_2300-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2300-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2300_series-ps.ppd.gz b/prnt/ps/hp-laserjet_2300_series-ps.ppd.gz
index c70fc435e..2bc36c7a8 100644
--- a/prnt/ps/hp-laserjet_2300_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2300_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2410-ps.ppd.gz b/prnt/ps/hp-laserjet_2410-ps.ppd.gz
index c2ae0680e..f65c5901f 100644
--- a/prnt/ps/hp-laserjet_2410-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2410-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2420-ps.ppd.gz b/prnt/ps/hp-laserjet_2420-ps.ppd.gz
index 0a192808c..42bca2e8e 100644
--- a/prnt/ps/hp-laserjet_2420-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2420-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_2430-ps.ppd.gz b/prnt/ps/hp-laserjet_2430-ps.ppd.gz
index 3d23ceaec..afb102ab4 100644
--- a/prnt/ps/hp-laserjet_2430-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_2430-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3015-ps.ppd.gz b/prnt/ps/hp-laserjet_3015-ps.ppd.gz
index d3374b85a..312c79c2d 100644
--- a/prnt/ps/hp-laserjet_3015-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3015-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3020-ps.ppd.gz b/prnt/ps/hp-laserjet_3020-ps.ppd.gz
index da11823a1..d7282d772 100644
--- a/prnt/ps/hp-laserjet_3020-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3020-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3030-ps.ppd.gz b/prnt/ps/hp-laserjet_3030-ps.ppd.gz
index c5ab314ec..0e214b1df 100644
--- a/prnt/ps/hp-laserjet_3030-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3030-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3050-ps.ppd.gz b/prnt/ps/hp-laserjet_3050-ps.ppd.gz
index 1654d0b94..ecca2fc43 100644
--- a/prnt/ps/hp-laserjet_3050-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3050-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3052-ps.ppd.gz b/prnt/ps/hp-laserjet_3052-ps.ppd.gz
index 3dacecc74..0ed299024 100644
--- a/prnt/ps/hp-laserjet_3052-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3052-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3200m-ps.ppd.gz b/prnt/ps/hp-laserjet_3200m-ps.ppd.gz
index fd8710f16..f61a8a62d 100644
--- a/prnt/ps/hp-laserjet_3200m-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3200m-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz b/prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz
index ac510152a..38725959f 100644
--- a/prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3380-ps.ppd.gz b/prnt/ps/hp-laserjet_3380-ps.ppd.gz
index d71687304..79d131b60 100644
--- a/prnt/ps/hp-laserjet_3380-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3380-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_3390-ps.ppd.gz b/prnt/ps/hp-laserjet_3390-ps.ppd.gz
index e05c3192f..3dc0beec8 100644
--- a/prnt/ps/hp-laserjet_3390-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_3390-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4-ps.ppd.gz b/prnt/ps/hp-laserjet_4-ps.ppd.gz
index de32fb764..23b5dc30a 100644
--- a/prnt/ps/hp-laserjet_4-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4000_series-ps.ppd.gz b/prnt/ps/hp-laserjet_4000_series-ps.ppd.gz
index 6224131af..904d24f68 100644
--- a/prnt/ps/hp-laserjet_4000_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4000_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4050_series-ps.ppd.gz b/prnt/ps/hp-laserjet_4050_series-ps.ppd.gz
index 8f5d2e0e2..012c87ac8 100644
--- a/prnt/ps/hp-laserjet_4050_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4050_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4100_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_4100_mfp-ps.ppd.gz
index 7f415c0b3..9d4d4ea64 100644
--- a/prnt/ps/hp-laserjet_4100_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4100_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4100_series-ps.ppd.gz b/prnt/ps/hp-laserjet_4100_series-ps.ppd.gz
index 92f2db175..0ca4bd574 100644
--- a/prnt/ps/hp-laserjet_4100_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4100_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4200-ps.ppd.gz b/prnt/ps/hp-laserjet_4200-ps.ppd.gz
index b6ecf1e3a..e7b545e35 100644
--- a/prnt/ps/hp-laserjet_4200-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4200-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4240-ps.ppd.gz b/prnt/ps/hp-laserjet_4240-ps.ppd.gz
index 5ab277425..c75a28b3d 100644
--- a/prnt/ps/hp-laserjet_4240-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4240-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4250-ps.ppd.gz b/prnt/ps/hp-laserjet_4250-ps.ppd.gz
index 7876915f5..c287ff4a4 100644
--- a/prnt/ps/hp-laserjet_4250-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4250-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4300-ps.ppd.gz b/prnt/ps/hp-laserjet_4300-ps.ppd.gz
index edf037c83..756a80026 100644
--- a/prnt/ps/hp-laserjet_4300-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4300-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4345_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_4345_mfp-ps.ppd.gz
index 166903f08..ef75cbc7f 100644
--- a/prnt/ps/hp-laserjet_4345_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4345_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4350-ps.ppd.gz b/prnt/ps/hp-laserjet_4350-ps.ppd.gz
index 9cf6a194d..9805fd0fd 100644
--- a/prnt/ps/hp-laserjet_4350-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4350-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4_plus-ps.ppd.gz b/prnt/ps/hp-laserjet_4_plus-ps.ppd.gz
index 1539ec0ea..0ee87b916 100644
--- a/prnt/ps/hp-laserjet_4_plus-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4_plus-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4ml-ps.ppd.gz b/prnt/ps/hp-laserjet_4ml-ps.ppd.gz
index 0b8585b78..15e6f5ae6 100644
--- a/prnt/ps/hp-laserjet_4ml-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4ml-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4mp-ps.ppd.gz b/prnt/ps/hp-laserjet_4mp-ps.ppd.gz
index 9cabfb312..99c21089a 100644
--- a/prnt/ps/hp-laserjet_4mp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4mp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4si-ps.ppd.gz b/prnt/ps/hp-laserjet_4si-ps.ppd.gz
index 5ce2a785a..56c49a4b7 100644
--- a/prnt/ps/hp-laserjet_4si-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4si-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_4v-ps.ppd.gz b/prnt/ps/hp-laserjet_4v-ps.ppd.gz
index 394d6408d..8c668b6c6 100644
--- a/prnt/ps/hp-laserjet_4v-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_4v-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5000-ps.ppd.gz b/prnt/ps/hp-laserjet_5000-ps.ppd.gz
index 364de450e..7d6a2a5cf 100644
--- a/prnt/ps/hp-laserjet_5000-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5000-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5000_series-ps.ppd.gz b/prnt/ps/hp-laserjet_5000_series-ps.ppd.gz
index d77e68e06..60c87dc9b 100644
--- a/prnt/ps/hp-laserjet_5000_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5000_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_500_color_m551-ps.ppd.gz b/prnt/ps/hp-laserjet_500_color_m551-ps.ppd.gz
index a5586a695..7e2a1eb56 100644
--- a/prnt/ps/hp-laserjet_500_color_m551-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_500_color_m551-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5100_series-ps.ppd.gz b/prnt/ps/hp-laserjet_5100_series-ps.ppd.gz
index 873ccbcfc..724a2be86 100644
--- a/prnt/ps/hp-laserjet_5100_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5100_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5200-ps.ppd.gz b/prnt/ps/hp-laserjet_5200-ps.ppd.gz
index 9488f86fe..7e5da6b06 100644
--- a/prnt/ps/hp-laserjet_5200-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5200-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5200l-ps.ppd.gz b/prnt/ps/hp-laserjet_5200l-ps.ppd.gz
index 7a18d1c0b..57f2c2820 100644
--- a/prnt/ps/hp-laserjet_5200l-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5200l-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5200lx-ps.ppd.gz b/prnt/ps/hp-laserjet_5200lx-ps.ppd.gz
index dbb8b06de..0d364d67d 100644
--- a/prnt/ps/hp-laserjet_5200lx-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5200lx-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5mp-ps.ppd.gz b/prnt/ps/hp-laserjet_5mp-ps.ppd.gz
index 8591cfd23..a3a06d484 100644
--- a/prnt/ps/hp-laserjet_5mp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5mp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5p-ps.ppd.gz b/prnt/ps/hp-laserjet_5p-ps.ppd.gz
index d60e91529..ededcaadb 100644
--- a/prnt/ps/hp-laserjet_5p-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5p-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5si-ps.ppd.gz b/prnt/ps/hp-laserjet_5si-ps.ppd.gz
index fc902d28b..4ba19b471 100644
--- a/prnt/ps/hp-laserjet_5si-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5si-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_5si_mopier-ps.ppd.gz b/prnt/ps/hp-laserjet_5si_mopier-ps.ppd.gz
index 008b0186d..880ba31e5 100644
--- a/prnt/ps/hp-laserjet_5si_mopier-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_5si_mopier-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_600_m601_m602_m603-ps.ppd.gz b/prnt/ps/hp-laserjet_600_m601_m602_m603-ps.ppd.gz
index 5c6dfa713..4dac2dd44 100644
--- a/prnt/ps/hp-laserjet_600_m601_m602_m603-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_600_m601_m602_m603-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_6mp-ps.ppd.gz b/prnt/ps/hp-laserjet_6mp-ps.ppd.gz
index d1b7c536e..511f956f6 100644
--- a/prnt/ps/hp-laserjet_6mp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_6mp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_6p-ps.ppd.gz b/prnt/ps/hp-laserjet_6p-ps.ppd.gz
index 177984c84..3ecd92bdb 100644
--- a/prnt/ps/hp-laserjet_6p-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_6p-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_8000-ps.ppd.gz b/prnt/ps/hp-laserjet_8000-ps.ppd.gz
index 09019e95b..f5702ffa9 100644
--- a/prnt/ps/hp-laserjet_8000-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_8000-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_8000_series-ps.ppd.gz b/prnt/ps/hp-laserjet_8000_series-ps.ppd.gz
index 29decfce5..979046f4d 100644
--- a/prnt/ps/hp-laserjet_8000_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_8000_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_8100_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_8100_mfp-ps.ppd.gz
index e429b6d3b..2ced85759 100644
--- a/prnt/ps/hp-laserjet_8100_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_8100_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_8100_series-ps.ppd.gz b/prnt/ps/hp-laserjet_8100_series-ps.ppd.gz
index 62900782d..4e1590019 100644
--- a/prnt/ps/hp-laserjet_8100_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_8100_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_8150_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_8150_mfp-ps.ppd.gz
index 68522e74a..9ec9793b4 100644
--- a/prnt/ps/hp-laserjet_8150_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_8150_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_9000_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_9000_mfp-ps.ppd.gz
index aaa9f7e76..484df67cd 100644
--- a/prnt/ps/hp-laserjet_9000_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_9000_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_9000_series-ps.ppd.gz b/prnt/ps/hp-laserjet_9000_series-ps.ppd.gz
index 1c622e545..af14b9d3d 100644
--- a/prnt/ps/hp-laserjet_9000_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_9000_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_9040-ps.ppd.gz b/prnt/ps/hp-laserjet_9040-ps.ppd.gz
index ece5059b4..77d81a2be 100644
--- a/prnt/ps/hp-laserjet_9040-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_9040-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz
index 3adb50b4e..9258f80f7 100644
--- a/prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_9050-ps.ppd.gz b/prnt/ps/hp-laserjet_9050-ps.ppd.gz
index c9d6d7611..7a946d990 100644
--- a/prnt/ps/hp-laserjet_9050-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_9050-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_9050_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_9050_mfp-ps.ppd.gz
index a3bf01dd2..78837ea07 100644
--- a/prnt/ps/hp-laserjet_9050_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_9050_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_9055mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_9055mfp-ps.ppd.gz
index 4674a6400..e57ac3c86 100644
--- a/prnt/ps/hp-laserjet_9055mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_9055mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_9065mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_9065mfp-ps.ppd.gz
index d36867a59..728a714ff 100644
--- a/prnt/ps/hp-laserjet_9065mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_9065mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_cm1410_series-ps.ppd.gz b/prnt/ps/hp-laserjet_cm1410_series-ps.ppd.gz
index c51f54520..974b47d86 100644
--- a/prnt/ps/hp-laserjet_cm1410_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_cm1410_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_cp1520_series-ps.ppd.gz b/prnt/ps/hp-laserjet_cp1520_series-ps.ppd.gz
index 149b4fa99..778ebd45f 100644
--- a/prnt/ps/hp-laserjet_cp1520_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_cp1520_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m1522_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m1522_mfp-ps.ppd.gz
index 2cf228c62..c5030fad7 100644
--- a/prnt/ps/hp-laserjet_m1522_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m1522_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m1522n_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m1522n_mfp-ps.ppd.gz
index 354d0a78d..1d7d9feaa 100644
--- a/prnt/ps/hp-laserjet_m1522n_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m1522n_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz
index 24376931d..8010931f2 100644
--- a/prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m1530_mfp_series-ps.ppd.gz b/prnt/ps/hp-laserjet_m1530_mfp_series-ps.ppd.gz
index f0f7a3c4b..4d64dba7e 100644
--- a/prnt/ps/hp-laserjet_m1530_mfp_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m1530_mfp_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m2727_mfp_series-ps.ppd.gz b/prnt/ps/hp-laserjet_m2727_mfp_series-ps.ppd.gz
index 7cf0e30c1..dd6ba4f44 100644
--- a/prnt/ps/hp-laserjet_m2727_mfp_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m2727_mfp_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m3027_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m3027_mfp-ps.ppd.gz
index d149f0321..d18bb5e8d 100644
--- a/prnt/ps/hp-laserjet_m3027_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m3027_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m3035_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m3035_mfp-ps.ppd.gz
index b2c7ac05d..7f2a55cd2 100644
--- a/prnt/ps/hp-laserjet_m3035_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m3035_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m4345_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m4345_mfp-ps.ppd.gz
index b4b0b4d96..d7cb2bbcd 100644
--- a/prnt/ps/hp-laserjet_m4345_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m4345_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m4349_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m4349_mfp-ps.ppd.gz
index 1d9fe931d..0fdbec51d 100644
--- a/prnt/ps/hp-laserjet_m4349_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m4349_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m4555_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m4555_mfp-ps.ppd.gz
index c6b6d37d9..f116caef6 100644
--- a/prnt/ps/hp-laserjet_m4555_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m4555_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m5025_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m5025_mfp-ps.ppd.gz
index 2ba11aa4b..6ab0f48fd 100644
--- a/prnt/ps/hp-laserjet_m5025_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m5025_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m5035_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m5035_mfp-ps.ppd.gz
index b997b38c7..d6a3f1511 100644
--- a/prnt/ps/hp-laserjet_m5035_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m5035_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m9040_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m9040_mfp-ps.ppd.gz
index f49318f85..12ef00480 100644
--- a/prnt/ps/hp-laserjet_m9040_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m9040_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m9050_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m9050_mfp-ps.ppd.gz
index 3cec0f700..ee59395cd 100644
--- a/prnt/ps/hp-laserjet_m9050_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m9050_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_m9059_mfp-ps.ppd.gz b/prnt/ps/hp-laserjet_m9059_mfp-ps.ppd.gz
index b4c47fbb7..229ccee19 100644
--- a/prnt/ps/hp-laserjet_m9059_mfp-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_m9059_mfp-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_p2015_series-ps.ppd.gz b/prnt/ps/hp-laserjet_p2015_series-ps.ppd.gz
index 340fbaf5b..0674a75f7 100644
--- a/prnt/ps/hp-laserjet_p2015_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_p2015_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_p2055_series-ps.ppd.gz b/prnt/ps/hp-laserjet_p2055_series-ps.ppd.gz
index ab12f8ef1..5ce2efd5a 100644
--- a/prnt/ps/hp-laserjet_p2055_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_p2055_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_p3004-ps.ppd.gz b/prnt/ps/hp-laserjet_p3004-ps.ppd.gz
index 787b7ed6a..166183c75 100644
--- a/prnt/ps/hp-laserjet_p3004-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_p3004-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_p3005-ps.ppd.gz b/prnt/ps/hp-laserjet_p3005-ps.ppd.gz
index be2e58622..71582ef59 100644
--- a/prnt/ps/hp-laserjet_p3005-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_p3005-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_p3010_series-ps.ppd.gz b/prnt/ps/hp-laserjet_p3010_series-ps.ppd.gz
index 1e6301f2e..42cdfa212 100644
--- a/prnt/ps/hp-laserjet_p3010_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_p3010_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-laserjet_p4010_series-ps.ppd.gz b/prnt/ps/hp-laserjet_p4010_series-ps.ppd.gz
index 6fd691eb3..2a7e70e68 100644
--- a/prnt/ps/hp-laserjet_p4010_series-ps.ppd.gz
+++ b/prnt/ps/hp-laserjet_p4010_series-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-lj_300_400_color_m351_m451-ps.ppd.gz b/prnt/ps/hp-lj_300_400_color_m351_m451-ps.ppd.gz
index 9c9181e52..b7ffb3e53 100644
--- a/prnt/ps/hp-lj_300_400_color_m351_m451-ps.ppd.gz
+++ b/prnt/ps/hp-lj_300_400_color_m351_m451-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-lj_300_400_color_mfp_m375_m475-ps.ppd.gz b/prnt/ps/hp-lj_300_400_color_mfp_m375_m475-ps.ppd.gz
index 2c59ec477..f35931e89 100644
--- a/prnt/ps/hp-lj_300_400_color_mfp_m375_m475-ps.ppd.gz
+++ b/prnt/ps/hp-lj_300_400_color_mfp_m375_m475-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-mopier_240-ps.ppd.gz b/prnt/ps/hp-mopier_240-ps.ppd.gz
index 7c9a210e0..70dc8734c 100644
--- a/prnt/ps/hp-mopier_240-ps.ppd.gz
+++ b/prnt/ps/hp-mopier_240-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-mopier_320-ps.ppd.gz b/prnt/ps/hp-mopier_320-ps.ppd.gz
index 7514563db..02db4f1ac 100644
--- a/prnt/ps/hp-mopier_320-ps.ppd.gz
+++ b/prnt/ps/hp-mopier_320-ps.ppd.gz
Binary files differ
diff --git a/prnt/ps/hp-officejet_pro_8000_enterprise_a811a-ps.ppd.gz b/prnt/ps/hp-officejet_pro_8000_enterprise_a811a-ps.ppd.gz
index 8c54ff28e..ac50d1813 100644
--- a/prnt/ps/hp-officejet_pro_8000_enterprise_a811a-ps.ppd.gz
+++ b/prnt/ps/hp-officejet_pro_8000_enterprise_a811a-ps.ppd.gz
Binary files differ
diff --git a/scan.py b/scan.py
index a6ab8bb80..ac67cab50 100755
--- a/scan.py
+++ b/scan.py
@@ -958,9 +958,9 @@ try:
log.error("Resize parameter is incorrect. Resize must be 0% < resize < 400%.")
log.error("Using resize value of 100%.")
else:
- new_w = pixels_per_line * resize / 100
- new_h = lines * resize / 100
- log.info("Resizing from %dx%d to %dx%d..." % (pixels_per_line, lines, new_w, new_h))
+ new_w = int(pixels_per_line * resize / 100)
+ new_h = int(lines * resize / 100)
+ log.info("Resizing image from %dx%d to %dx%d..." % (pixels_per_line, lines, new_w, new_h))
im = im.resize((new_w, new_h), Image.ANTIALIAS)
file_saved = False
diff --git a/scan/sane.py b/scan/sane.py
index 872a74435..1b5395a97 100755
--- a/scan/sane.py
+++ b/scan/sane.py
@@ -272,6 +272,7 @@ class ScanDevice:
self.last_opt = self.dev.setOption(opt.index, value)
except scanext.error:
log.error("Unable to set option %s to value %s" % (key, value))
+ return
# do binary AND to find if we have to reload options:
if self.last_opt & scanext.INFO_RELOAD_OPTIONS:
diff --git a/scan/sane/bb_ledm.c b/scan/sane/bb_ledm.c
index 6e33650a5..d94d5b7f2 100644
--- a/scan/sane/bb_ledm.c
+++ b/scan/sane/bb_ledm.c
@@ -81,8 +81,6 @@ struct device_settings
enum DOCUMENT_TYPE docs[DT_MAX];
int document_size_auto_detect_supported; /* 0=false, 1=true */
int feeder_capacity;
- int rotation; /* needed adf front side image rotation */
- int duplex_rotation; /* needed adf back side image rotation */
};
struct device_platen
@@ -159,11 +157,11 @@ static const char *sf_element[SF_MAX] = { "", "raw", "jpeg" }; /* SCAN_FORMAT (
static const char *ce_element[CE_MAX] = { "", "K1", "Gray8", "Color8" }; /* COLOR_ENTRY */
static const char *is_element[IS_MAX] = { "", "Platen", "Adf", "ADFDuplex" }; /* INPUT_SOURCE */
-# define POST_HEADER "POST /Scan/Jobs HTTP/1.1\r\nHost: 16.180.119.199:8080\r\nUser-Agent: \
-hp\r\nAccept: text/plain, */*\r\nAccept-Language: en-us,en;q=0.5\r\n\
-Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 1000\r\nProxy-Connection: keep-alive\r\n\
+# define POST_HEADER "POST /Scan/Jobs HTTP/1.1\r\nHost: localhost\r\nUser-Agent: \
+hplip\r\nAccept: text/plain, */*\r\nAccept-Language: en-us,en\r\n\
+Accept-Charset: ISO-8859-1,utf-8\r\nKeep-Alive: 1000\r\nProxy-Connection: keep-alive\r\n\
Content-Type: */*; charset=UTF-8\r\nX-Requested-With: XMLHttpRequest\r\n\
-Referer: http://16.180.119.199:8080/\r\nContent-Length: 890\r\nCookie: AccessCounter=new\r\n\
+Content-Length: %d\r\nCookie: AccessCounter=new\r\n\
Pragma: no-cache\r\nCache-Control: no-cache\r\n\r\n"
# define GET_SCANNER_ELEMENTS "GET /Scan/ScanCaps HTTP/1.1\r\n\
@@ -180,34 +178,35 @@ Accept-Language: en-us,en\r\n\
Accept-Charset:utf-8\r\n\
Keep-Alive: 20\r\nProxy-Connection: keep-alive\r\nCookie: AccessCounter=new\r\n0\r\n\r\n"
-# define CREATE_SCAN_JOB_REQUEST "<scan:ScanJob xmlns:scan=\"http://www.hp.com/schemas/imaging/con/cnx/scan/2008/08/19\" xmlns:dd=\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\">\
-<scan:XResolution>%d</scan:XResolution>\
-<scan:YResolution>%d</scan:YResolution>\
-<scan:XStart>%d</scan:XStart>\
-<scan:YStart>%d</scan:YStart>\
-<scan:Width>%d</scan:Width>\
-<scan:Height>%d</scan:Height>\
-<scan:Format>%s</scan:Format>\
-<scan:CompressionQFactor>15</scan:CompressionQFactor>\
-<scan:ColorSpace>%s</scan:ColorSpace>\
-<scan:BitDepth>%d</scan:BitDepth>\
-<scan:InputSource>%s</scan:InputSource>\
-<scan:AdfOptions>SelectSinglePage</scan:AdfOptions>\
-<scan:GrayRendering>NTSC</scan:GrayRendering>\
-<scan:ToneMap>\
-<scan:Gamma>0</scan:Gamma>\
-<scan:Brightness>1000</scan:Brightness>\
-<scan:Contrast>1000</scan:Contrast>\
-<scan:Highlite>0</scan:Highlite>\
-<scan:Shadow>0</scan:Shadow></scan:ToneMap>\
-<scan:ContentType>Photo</scan:ContentType></scan:ScanJob>"
-
-# define CANCEL_JOB_REQUEST "PUT %s HTTP/1.1\r\nHost: localhost\r\nUser-Agent: hp\r\n\
+# define CREATE_SCAN_JOB_REQUEST "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
+<ScanSettings xmlns=\"http://www.hp.com/schemas/imaging/con/cnx/scan/2008/08/19\">\
+<XResolution>%d</XResolution>\
+<YResolution>%d</YResolution>\
+<XStart>%d</XStart>\
+<Width>%d</Width>\
+<YStart>%d</YStart>\
+<Height>%d</Height>\
+<Format>%s</Format>\
+<CompressionQFactor>15</CompressionQFactor>\
+<ColorSpace>%s</ColorSpace>\
+<BitDepth>%d</BitDepth>\
+<InputSource>%s</InputSource>\
+<InputSourceType>%s</InputSourceType>%s\
+<GrayRendering>NTSC</GrayRendering>\
+<ToneMap>\
+<Gamma>0</Gamma>\
+<Brightness>1000</Brightness>\
+<Contrast>1000</Contrast>\
+<Highlite>0</Highlite>\
+<Shadow>0</Shadow></ToneMap>\
+<ContentType>Photo</ContentType></ScanSettings>"
+
+# define CANCEL_JOB_REQUEST "PUT %s HTTP/1.1\r\nHost: localhost\r\nUser-Agent: hplip\r\n\
Accept: text/plain\r\nAccept-Language: en-us,en\r\nAccept-Charset:utf-8\r\nKeep-Alive: 10\r\n\
Content-Type: text/xml\r\nProxy-Connection: Keep-alive\r\nX-Requested-With: XMLHttpRequest\r\nReferer: localhost\r\n\
-Content-Length: 523\r\nCookie: AccessCounter=new\r\n\r\n\
-<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
-<!-- THIS DATA SUBJECT TO DISCLAIMER(S) INCLUDED WITH THE PRODUCT OF ORIGIN. -->\n\
+Content-Length: %d\r\nCookie: AccessCounter=new\r\n\r\n"
+
+#define CANCEL_JOB_DATA "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
<j:Job xmlns:j=\"http://www.hp.com/schemas/imaging/con/ledm/jobs/2009/04/30\" \
xmlns:dd=\"http://www.hp.com/schemas/imaging/con/dictionaries/1.0/\" \
xmlns:fax=\"http://www.hp.com/schemas/imaging/con/fax/2008/06/13\" \
@@ -228,6 +227,9 @@ Keep-Alive: 300\r\nProxy-Connection: keep-alive\r\nCookie: AccessCounter=new\r\n
# define ADF_EMPTY "<AdfState>Empty</AdfState>"
# define SCANNER_IDLE "<ScannerState>Idle</ScannerState>"
# define SCANNER_BUSY_WITH_SCAN_JOB "<ScannerState>BusyWithScanJob</ScannerState>"
+# define JOBSTATE_PROCESSING "<j:JobState>Processing</j:JobState>"
+# define JOBSTATE_CANCELED "<j:JobState>Canceled</j:JobState>"
+# define JOBSTATE_COMPLETED "<j:JobState>Completed</j:JobState>"
static int parse_scan_elements(const char *payload, int size, struct wscn_scan_elements *elements)
{
@@ -326,7 +328,9 @@ static int parse_scan_elements(const char *payload, int size, struct wscn_scan_e
{
get_tag(tail, size-(tail-payload), tag, sizeof(tag), &tail);
get_element(tail, size-(tail-payload), value, sizeof(value), &tail);
+ _DBG ("parse_scan_elements platen_resolution_list value=%s\n", value);
if(strtol(value, NULL, 10) && elements->config.platen.platen_resolution_list[i-1] != strtol(value, NULL, 10))
+
elements->config.platen.platen_resolution_list[i++]=strtol(value, NULL, 10);
}
}
@@ -387,11 +391,24 @@ static int parse_scan_elements(const char *payload, int size, struct wscn_scan_e
{
get_tag(tail, size-(tail-payload), tag, sizeof(tag), &tail);
get_element(tail, size-(tail-payload), value, sizeof(value), &tail);
+ _DBG ("parse_scan_elements adf_resolution_list value=%s", value);
if(strtol(value, NULL, 10) && elements->config.adf.adf_resolution_list[i-1] != strtol(value, NULL, 10))
elements->config.adf.adf_resolution_list[i++]=strtol(value, NULL, 10);
}
}
- elements->config.adf.adf_resolution_list[0]=i-1;
+ elements->config.adf.adf_resolution_list[0]=i-1;
+ get_tag(tail, size-(tail-payload), tag, sizeof(tag), &tail);
+ get_tag(tail, size-(tail-payload), tag, sizeof(tag), &tail);//FeederCapacity
+ get_element(tail, size-(tail-payload), value, sizeof(value), &tail);
+ _DBG ("parse_scan_elements FeederCapacity=%s", value);
+ elements->config.settings.feeder_capacity = strtol(value, NULL, 10);
+ get_tag(tail, size-(tail-payload), tag, sizeof(tag), &tail);
+ get_tag(tail, size-(tail-payload), tag, sizeof(tag), &tail);
+ if(!strcmp(tag, "AdfDuplexer"))
+ {
+ elements->config.adf.duplex_supported = 1;
+ _DBG ("parse_scan_elements duplex_supported");
+ }
}
} /* end while (1) */
return 0;
@@ -503,7 +520,7 @@ static int get_scanner_elements(struct ledm_session *ps, struct wscn_scan_elemen
{
struct bb_ledm_session *pbb = ps->bb_session;
int bytes_read = 0;
- int stat=1, tmo=EXCEPTION_TIMEOUT;
+ int stat=1, tmo=10;
char buf[8192];
if (http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK)
@@ -544,30 +561,39 @@ bugout:
static int cancel_job(struct ledm_session *ps)
{
struct bb_ledm_session *pbb = ps->bb_session;
- int len, stat=1, tmo=1/*EXCEPTION_TIMEOUT*/;
+ int len, stat=1, tmo=5/*EXCEPTION_TIMEOUT*/;
char buf[2048];
int bytes_read;
+ _DBG("cancel_job user_cancel=%d job_id=%d url=%s \n", ps->user_cancel, ps->job_id, ps->url);
+ if (ps->job_id == 0 || ps->user_cancel == 0)
+ {
+ ps->job_id = 0;
+ ps->page_id = 0;
+ return 0 ;
+ }
+
if (http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK)
{
_BUG("unable to open http connection %s\n", ps->uri);
goto bugout;
}
- len = snprintf(buf, sizeof(buf), CANCEL_JOB_REQUEST, ps->url);
-
+ len = snprintf(buf, sizeof(buf), CANCEL_JOB_REQUEST, ps->url, strlen(CANCEL_JOB_DATA));
+ if (http_write(pbb->http_handle, buf, len, 1) != HTTP_R_OK)
+ {
+ _BUG("unable to cancel_job %s\n", ps->url);
+ }
+
+ len = snprintf(buf, sizeof(buf), CANCEL_JOB_DATA);
if (http_write(pbb->http_handle, buf, len, 1) != HTTP_R_OK)
{
_BUG("unable to cancel_job %s\n", ps->url);
-// goto bugout;
}
if (read_http_payload(ps, buf, sizeof(buf), tmo, &bytes_read))
goto bugout;
- ps->job_id = 0;
- ps->page_id = 0;
-
stat=0;
bugout:
@@ -665,6 +691,7 @@ int bb_open(struct ledm_session *ps)
i = pbb->elements.config.platen.platen_resolution_list[0] + 1;
while(i--)
{
+ _DBG("bb_open platen_resolution_list = %d\n", pbb->elements.config.platen.platen_resolution_list[i]);
ps->platen_resolutionList[i] = pbb->elements.config.platen.platen_resolution_list[i];
ps->resolutionList[i] = pbb->elements.config.platen.platen_resolution_list[i];
}
@@ -743,25 +770,26 @@ int bb_get_parameters(struct ledm_session *ps, SANE_Parameters *pp, int option)
break;
case SPO_BEST_GUESS: /* called by xsane & sane_start */
/* Set scan parameters based on best guess. */
- pp->lines = (int)(SANE_UNFIX(ps->effectiveBry - ps->effectiveTly)/MM_PER_INCH*ps->currentResolution);
- pp->pixels_per_line = floor(SANE_UNFIX(ps->effectiveBrx -ps->effectiveTlx)/MM_PER_INCH*ps->currentResolution);
+ pp->lines = (int)round(SANE_UNFIX(ps->effectiveBry - ps->effectiveTly)/MM_PER_INCH*ps->currentResolution);
+ pp->pixels_per_line = (int)round(SANE_UNFIX(ps->effectiveBrx -ps->effectiveTlx)/MM_PER_INCH*ps->currentResolution);
pp->bytes_per_line = BYTES_PER_LINE(pp->pixels_per_line, pp->depth * factor);
+ break;
default:
break;
}
return 0;
}
-int bb_is_paper_in_adf(struct ledm_session *ps) /* 0 = no paper in adf, 1 = paper in adf, 2 = busy with scan job, -1 = error */
+int bb_is_paper_in_adf(struct ledm_session *ps) /* 0 = no paper in adf, 1 = paper in adf, -1 = error */
{
- char buf[512];
+ char buf[1024];
int bytes_read;
struct bb_ledm_session *pbb = ps->bb_session;
if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK)
{
}
- if (http_write(pbb->http_handle, GET_SCANNER_STATUS, sizeof(GET_SCANNER_STATUS)-1, 120) != HTTP_R_OK)
+ if (http_write(pbb->http_handle, GET_SCANNER_STATUS, sizeof(GET_SCANNER_STATUS)-1, 10) != HTTP_R_OK)
{
//goto bugout;
}
@@ -769,72 +797,47 @@ int bb_is_paper_in_adf(struct ledm_session *ps) /* 0 = no paper in adf, 1 = pape
http_close(pbb->http_handle); /* error, close http connection */
pbb->http_handle = 0;
-
+ _DBG("bb_is_paper_in_adf .job_id=%d buf=%s\n", ps->job_id, buf);
if(strstr(buf, ADF_LOADED)) return 1;
if(strstr(buf, ADF_EMPTY) && strstr(buf, SCANNER_BUSY_WITH_SCAN_JOB)) return 2;
else return 0;
}
-char* itoa(int value, char* str, int radix)
-{
- static char dig[] = "0123456789""abcdefghijklmnopqrstuvwxyz";
- int n = 0, neg = 0;
- unsigned int v;
- char* p, *q;
- char c;
-
- if (radix == 10 && value < 0)
- {
- value = -value;
- neg = 1;
- }
- v = value;
- do {
- str[n++] = dig[v%radix];
- v /= radix;
- } while (v);
- if (neg)
- str[n++] = '-';
- str[n] = '\0';
-
- for (p = str, q = p + (n-1); p < q; ++p, --q)
- c = *p, *p = *q, *q = c;
- return str;
-}
-int bb_start_scan(struct ledm_session *ps)
+SANE_Status bb_start_scan(struct ledm_session *ps)
{
char buf[4096] = {0};
-
- int len, stat=1, bytes_read;
- int i, timeout = EXCEPTION_TIMEOUT ;
-
- struct bb_ledm_session *pbb = ps->bb_session;
+ char buf1[1024]={0};
+ int len, bytes_read;
+ int i, timeout = 10 ;
char szPage_ID[5] = {0};
char szJob_ID[5] = {0};
-
- ps->user_cancel = 0;
+ SANE_Status stat = SANE_STATUS_IO_ERROR;
+ struct bb_ledm_session *pbb = ps->bb_session;
+ ps->user_cancel = 0;
+ _DBG("bb_start_scan() entering...job_id=%d\n", ps->job_id);
if (ps->job_id == 0)
{
- if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK)
- {
- // goto bugout;
- }
-
- while(1)
- {
- if (http_write(pbb->http_handle, GET_SCANNER_STATUS, sizeof(GET_SCANNER_STATUS)-1, timeout) != HTTP_R_OK)
- {
- //goto bugout;
- }
-
- read_http_payload(ps, buf, sizeof(buf), timeout, &bytes_read);
+ if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK)
+ {
+ // goto bugout;
+ }
- if(strstr(buf, SCANNER_IDLE)) break;
- }
+ if (http_write(pbb->http_handle, GET_SCANNER_STATUS, sizeof(GET_SCANNER_STATUS)-1, timeout) != HTTP_R_OK)
+ {
+ //goto bugout;
+ }
+
+ read_http_payload(ps, buf, sizeof(buf), timeout, &bytes_read);
+
+ if(!strstr(buf, SCANNER_IDLE))
+ {
+ stat = SANE_STATUS_DEVICE_BUSY;
+ goto bugout;
+ }
- http_close(pbb->http_handle); /* error, close http connection */
+ http_close(pbb->http_handle);
pbb->http_handle = 0;
if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK)
@@ -842,75 +845,85 @@ int bb_start_scan(struct ledm_session *ps)
}
len = snprintf(buf, sizeof(buf), CREATE_SCAN_JOB_REQUEST,
- ps->currentResolution,
- ps->currentResolution,
- (int) (ps->currentTlx / 5548.7133),
- (int) (ps->currentTly / 5548.7133),
- (int) ((ps->currentBrx / 5548.7133) - (ps->currentTlx / 5548.7133)),
- (int) ((ps->currentBry / 5548.7133) - (ps->currentTly / 5548.7133)),
- "Jpeg",
- (! strcmp(ce_element[ps->currentScanMode], "Color8")) ? "Color" : (! strcmp(ce_element[ps->currentScanMode], "Gray8")) ? "Gray" : "Gray",
- ((! strcmp(ce_element[ps->currentScanMode], "Color8")) || (! strcmp(ce_element[ps->currentScanMode], "Gray8"))) ? 8: 8,
- is_element[ps->currentInputSource]);
-
-
- /* Write the http post header. Note do not send null termination byte. */
- if (http_write(pbb->http_handle, POST_HEADER, sizeof(POST_HEADER)-1, timeout) != HTTP_R_OK)
- {
- //goto bugout;
- }
-
- if (http_write(pbb->http_handle, buf, strlen(buf), 1) != HTTP_R_OK)
- {
- //goto bugout;
- }
-
- /* Write zero footer. */
- if (http_write(pbb->http_handle, ZERO_FOOTER, sizeof(ZERO_FOOTER)-1, 1) != HTTP_R_OK)
- {
- //goto bugout;
- }
-
- /* Read response. */
- if (read_http_payload(ps, buf, sizeof(buf), timeout, &bytes_read))
- goto bugout;
-
- http_close(pbb->http_handle);
- pbb->http_handle = 0;
+ ps->currentResolution,//<XResolution>
+ ps->currentResolution,//<YResolution>
+ (int) (ps->currentTlx / 5548.7133),//<XStart>
+ (int) ((ps->currentBrx / 5548.7133) - (ps->currentTlx / 5548.7133)),//<Width>
+ (int) (ps->currentTly / 5548.7133),//<YStart>
+ (int) ((ps->currentBry / 5548.7133) - (ps->currentTly / 5548.7133)),//<Height>
+ "Jpeg",//<Format>
+ (! strcmp(ce_element[ps->currentScanMode], "Color8")) ? "Color" : (! strcmp(ce_element[ps->currentScanMode], "Gray8")) ? "Gray" : "Gray",//<ColorSpace>
+ ((! strcmp(ce_element[ps->currentScanMode], "Color8")) || (! strcmp(ce_element[ps->currentScanMode], "Gray8"))) ? 8: 8,//<BitDepth>
+ ps->currentInputSource == IS_PLATEN ? is_element[1] : is_element[2],//<InputSource>
+ ps->currentInputSource == IS_PLATEN ? is_element[1] : is_element[2],//<InputSourceType>
+ ps->currentInputSource != IS_ADF_DUPLEX ? "" : "<AdfOptions><AdfOption>Duplex</AdfOption></AdfOptions>");
+
+ len = len + strlen(ZERO_FOOTER);
+
+ len = snprintf(buf1, sizeof(buf1), POST_HEADER, len);
+ if (http_write(pbb->http_handle, buf1, strlen(buf1), timeout) != HTTP_R_OK)
+ {
+ //goto bugout;
+ }
+
+ if (http_write(pbb->http_handle, buf, strlen(buf), 1) != HTTP_R_OK)
+ {
+ //goto bugout;
+ }
- char joblist[64];
- char* jl=strstr(buf, "Location:");
- if (!jl) goto bugout;
- jl=jl+10;
-
- int i=0;
- while(*jl != '\r')
- {
- joblist[i]=*jl;
- jl=jl+1; i++;
- }
- joblist[i]='\0';
+ /* Write zero footer. */
+ if (http_write(pbb->http_handle, ZERO_FOOTER, sizeof(ZERO_FOOTER)-1, 1) != HTTP_R_OK)
+ {
+ //goto bugout;
+ }
+ memset(buf, 0, sizeof(buf));
+ /* Read response. */
+ if (read_http_payload(ps, buf, sizeof(buf), timeout, &bytes_read))
+ goto bugout;
+
+ http_close(pbb->http_handle);
+ pbb->http_handle = 0;
+
+ char joblist[64];
+ char* jl=strstr(buf, "Location:");
+ if (!jl) goto bugout;
+ jl=jl+10;
- strcpy(ps->url, joblist);
- char *c=ps->url;
- c=strstr(c, "JobList");
- if (c)
- {
- c=c+8;
- int job_id=strtol(c, NULL, 10);
- itoa(job_id, szJob_ID,10);
- itoa(1, szPage_ID,10);
- ps->page_id = 1;
- ps->job_id = job_id;
- }
+ int i=0;
+ while(*jl != '\r')
+ {
+ joblist[i]=*jl;
+ jl=jl+1; i++;
+ }
+ joblist[i]='\0';
+
+ strcpy(ps->url, joblist);
+ char *c=ps->url;
+ c=strstr(c, "JobList");
+ if (c)
+ {
+ c=c+8;
+ int job_id=strtol(c, NULL, 10);
+ itoa(job_id, szJob_ID,10);
+ itoa(1, szPage_ID,10);
+ ps->page_id = 1;
+ ps->job_id = job_id;
+ }
}
else
{
+ if (ps->currentInputSource == IS_PLATEN)
+ {
+ stat = SANE_STATUS_INVAL;
+ goto bugout;
+ }
+
ps->page_id++;
itoa(ps->job_id,szJob_ID,10);
itoa(ps->page_id, szPage_ID,10);
}
-
+ _DBG("bb_start_scan() url=%s page_id=%d\n", ps->url, ps->page_id);
+
memset(buf, 0, sizeof(buf)-1);
if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK)
@@ -918,30 +931,38 @@ int bb_start_scan(struct ledm_session *ps)
}
while(strstr(buf, READY_TO_UPLOAD) == NULL)
{
- //_DBG("bb_start_scan() ENTERING....buf=%s\n", buf);
+ _DBG("bb_start_scan() ENTERING....buf=%s\n", buf);
len = snprintf(buf, sizeof(buf), GET_SCAN_JOB_URL, ps->url);
- if (http_write(pbb->http_handle, buf, strlen(buf), 1) != HTTP_R_OK)
- {
- //goto bugout;
- break ;
- }
- if (read_http_payload (ps, buf, sizeof(buf), 5, &len) != HTTP_R_OK)
- {
- //goto bugout
- break;
- }
- if (strstr(buf, CANCELED_BY_DEVICE) || strstr(buf, CANCELED_BY_CLIENT))
- {
- //_DBG("bb_start_scan() SCAN CANCELLED\n");
- stat=0;
- ps->user_cancel = 1;
- goto bugout;
- }
- usleep(500000);//0.5 sec delay
+ if (http_write(pbb->http_handle, buf, strlen(buf), 1) != HTTP_R_OK)
+ {
+ //goto bugout;
+ break ;
+ }
+ if (read_http_payload (ps, buf, sizeof(buf), 5, &len) != HTTP_R_OK)
+ {
+ //goto bugout
+ _DBG("bb_start_scan() read_http_payload FAILED len=%d buf=%s\n", len, buf);
+ break;
+ }
+ if (strstr(buf,JOBSTATE_CANCELED) || strstr(buf, CANCELED_BY_DEVICE) || strstr(buf, CANCELED_BY_CLIENT))
+ {
+ //_DBG("bb_start_scan() SCAN CANCELLED\n");
+ stat = SANE_STATUS_GOOD;
+ ps->user_cancel = 1;
+ goto bugout;
+ }
+ if (strstr(buf, JOBSTATE_COMPLETED))
+ {
+ stat = SANE_STATUS_GOOD;
+ goto bugout;
+ }
+ usleep(500000);//0.5 sec delay
}//end while()
char *c = strstr(buf, "<BinaryURL>");
+ _DBG("bb_start_scan() BinaryURL=%s \n", c);
+
if (!c) goto bugout;
c +=11;
char BinaryURL[30];
@@ -967,7 +988,7 @@ int bb_start_scan(struct ledm_session *ps)
if(strstr(buf, "HTTP/1.1 400 Bad Request")) http_read_header(pbb->http_handle, buf, sizeof(buf), timeout, &len);
- stat=0;
+ stat = SANE_STATUS_GOOD;
bugout:
if (stat && pbb->http_handle)
{
@@ -984,7 +1005,7 @@ int get_size(struct ledm_session* ps)
int i=0, tmo=50, len;
if(ps->currentResolution >= 1200) tmo *= 5;
-
+
while(1)
{
if(http_read_size(pbb->http_handle, buffer+i, 1, tmo, &len) == 2) return 0;
@@ -1001,9 +1022,9 @@ int bb_get_image_data(struct ledm_session* ps, int maxLength)
int size=0, stat=1;
char buf_size[2];
int len=0, tmo=50;
-
+ _DBG("bb_get_image_data http_handle=%p cnt=%d pbb=%p\n", pbb->http_handle, ps->cnt, pbb);
if(ps->currentResolution >= 1200) tmo *= 5;
-
+
if (ps->cnt == 0)
{
size = get_size(ps);
@@ -1047,6 +1068,7 @@ int bb_end_scan(struct ledm_session* ps, int io_error)
pbb->http_handle = 0;
}
cancel_job(ps);
+ memset(ps->url, 0, sizeof(ps->url));
ps->job_id = 0;
ps->page_id = 0;
return 0;
diff --git a/scan/sane/common.c b/scan/sane/common.c
index cf228f4a6..22fce82ea 100755
--- a/scan/sane/common.c
+++ b/scan/sane/common.c
@@ -22,6 +22,7 @@
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Contributing Authors: David Paschal, Don Welch, David Suffield, Naga Samrat Chowdary Narla
+ Sarbeswar Meher
\********************************************************************************************/
@@ -266,5 +267,33 @@ int __attribute__ ((visibility ("hidden"))) StrListAdd( const char ** list, char
return 0;
}
+char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix)
+{
+ static char dig[] = "0123456789""abcdefghijklmnopqrstuvwxyz";
+ int n = 0, neg = 0;
+ unsigned int v;
+ char* p, *q;
+ char c;
+
+ if (radix == 10 && value < 0)
+ {
+ value = -value;
+ neg = 1;
+ }
+ v = value;
+ do {
+ str[n++] = dig[v%radix];
+ v /= radix;
+ } while (v);
+ if (neg)
+ str[n++] = '-';
+ str[n] = '\0';
+
+ for (p = str, q = p + (n-1); p < q; ++p, --q)
+ c = *p, *p = *q, *q = c;
+ return str;
+}
+
+
diff --git a/scan/sane/common.h b/scan/sane/common.h
index 3f0044ebd..b42a28749 100644
--- a/scan/sane/common.h
+++ b/scan/sane/common.h
@@ -21,7 +21,7 @@
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- Contributing Authors: David Paschal, Don Welch, David Suffield
+ Contributing Authors: David Paschal, Don Welch, David Suffield, Sarbeswar Meher
\************************************************************************************/
@@ -69,6 +69,7 @@
#define STR_ADF_MODE_AUTO SANE_I18N("Auto")
#define STR_ADF_MODE_FLATBED SANE_I18N("Flatbed")
#define STR_ADF_MODE_ADF SANE_I18N("ADF")
+#define STR_ADF_MODE_CAMERA SANE_I18N("Camera")
#define STR_TITLE_ADVANCED SANE_I18N("Advanced")
@@ -183,5 +184,5 @@ int __attribute__ ((visibility ("hidden"))) NumListGetFirst( int * list );
void __attribute__ ((visibility ("hidden"))) StrListClear( const char ** list );
int __attribute__ ((visibility ("hidden"))) StrListIsInList( const char ** list, char * s );
int __attribute__ ((visibility ("hidden"))) StrListAdd( const char ** list, char * s );
-
+char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
#endif
diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
index ee80ef594..945ad1c71 100644
--- a/scan/sane/hpaio.c
+++ b/scan/sane/hpaio.c
@@ -761,7 +761,6 @@ static SANE_Status SetResolutionListSCL(hpaioScanner_t hpaio)
{
int supported_res[] = {50, 75, 100, 150, 200, 300, 600, 1200, 2400, 4800, 9600};
int i, len = sizeof(supported_res)/sizeof(int);
- SANE_Status retcode;
if (hpaio->currentAdfMode == ADF_MODE_ADF || hpaio->currentAdfMode == ADF_MODE_AUTO)
{
@@ -1673,6 +1672,8 @@ extern SANE_Status sane_hpaio_open(SANE_String_Const devicename, SANE_Handle * p
/* Get device attributes and determine what backend to call. */
snprintf(devname, sizeof(devname)-1, "hp:%s", devicename); /* prepend "hp:" */
hpmud_query_model(devname, &ma);
+ DBG(8, "sane_hpaio_open(%s): %s %d scan_type=%d scansrc=%d\n", devicename, __FILE__, __LINE__, ma.scantype, ma.scansrc);
+
if ((ma.scantype == HPMUD_SCANTYPE_MARVELL) || (ma.scantype == HPMUD_SCANTYPE_MARVELL2))
return marvell_open(devicename, pHandle);
if (ma.scantype == HPMUD_SCANTYPE_SOAP)
@@ -1682,8 +1683,6 @@ extern SANE_Status sane_hpaio_open(SANE_String_Const devicename, SANE_Handle * p
if (ma.scantype == HPMUD_SCANTYPE_LEDM)
return ledm_open(devicename, pHandle);
- DBG(8, "sane_hpaio_open(%s): %s %d\n", devicename, __FILE__, __LINE__);
-
hpaio = hpaioFindScanner(devicename);
if( hpaio )
@@ -2108,35 +2107,37 @@ extern SANE_Status sane_hpaio_open(SANE_String_Const devicename, SANE_Handle * p
}
}
- if( !hpaio->scl.adfCapability )
+ if(ma.scansrc & HPMUD_SCANSRC_FLATBED)
{
+ hpaio->scl.flatbedCapability = 1;
hpaio->supportedAdfModes = ADF_MODE_FLATBED;
}
- else if( hpaio->scl.compat & SCL_COMPAT_K_SERIES &&
- hpaio->scl.adfCapability )
- {
- hpaio->supportedAdfModes = ADF_MODE_FLATBED | ADF_MODE_ADF;
- }
- else
+ if (hpaio->scl.adfCapability)
{
- int supportedFunctions;
-
- hpaio->supportedAdfModes = ADF_MODE_AUTO |
- ADF_MODE_FLATBED |
- ADF_MODE_ADF;
- if( hpaio->scl.compat & ( SCL_COMPAT_1170 |
- SCL_COMPAT_R_SERIES |
- SCL_COMPAT_G_SERIES ) )
- {
- hpaio->scl.unloadAfterScan = 1;
- }
- if( PmlRequestGet( hpaio->deviceid, hpaio->cmd_channelid, hpaio->scl.objSupportedFunctions ) != ERROR &&
- PmlGetIntegerValue( hpaio->scl.objSupportedFunctions,
+ if( hpaio->scl.compat & SCL_COMPAT_K_SERIES)
+ {
+ hpaio->supportedAdfModes |= ADF_MODE_ADF;
+ }
+ else
+ {
+ int supportedFunctions;
+
+ hpaio->supportedAdfModes |= ADF_MODE_ADF;
+ if (hpaio->scl.flatbedCapability)
+ hpaio->supportedAdfModes |= ADF_MODE_AUTO;
+
+ if( hpaio->scl.compat & ( SCL_COMPAT_1170 | SCL_COMPAT_R_SERIES |SCL_COMPAT_G_SERIES ) )
+ {
+ hpaio->scl.unloadAfterScan = 1;
+ }
+ if( PmlRequestGet( hpaio->deviceid, hpaio->cmd_channelid, hpaio->scl.objSupportedFunctions ) != ERROR &&
+ PmlGetIntegerValue( hpaio->scl.objSupportedFunctions,
0,
&supportedFunctions ) != ERROR &&
supportedFunctions & PML_SUPPFUNC_DUPLEX )
- {
- hpaio->supportsDuplex = 1;
+ {
+ hpaio->supportsDuplex = 1;
+ }
}
}
}
@@ -2426,7 +2427,7 @@ extern void sane_hpaio_close(SANE_Handle handle)
return soapht_close(handle);
if (strcmp(*((char **)handle), "LEDM") == 0)
return ledm_close(handle);
-
+
DBG(8, "sane_hpaio_close(): %s %d\n", __FILE__, __LINE__);
hpaioPmlDeallocateObjects(hpaio);
@@ -2890,7 +2891,9 @@ extern SANE_Status sane_hpaio_start(SANE_Handle handle)
IP_IMAGE_TRAITS traits;
IP_XFORM_SPEC xforms[IP_MAX_XFORMS], * pXform = xforms;
WORD wResult;
-
+
+ DBG(8, "sane_hpaio_start(): %s %d deviceuri=%s\n", __FILE__, __LINE__, hpaio->deviceuri);
+
if (strcmp(*((char **)handle), "MARVELL") == 0)
return marvell_start(handle);
if (strcmp(*((char **)handle), "SOAP") == 0)
@@ -2902,8 +2905,6 @@ extern SANE_Status sane_hpaio_start(SANE_Handle handle)
hpaio->user_cancel = FALSE;
- DBG(8, "sane_hpaio_start(): %s %d\n", __FILE__, __LINE__);
-
hpaio->endOfData = 0;
if (hpaio->scannerType==SCANNER_TYPE_PML)
@@ -3215,6 +3216,7 @@ abort:
if( retcode != SANE_STATUS_GOOD )
{
+ if (retcode == SANE_STATUS_NO_DOCS) SendScanEvent (hpaio->deviceuri, EVENT_SCAN_ADF_NO_DOCS);
sane_hpaio_cancel( handle );
}
return retcode;
@@ -3402,7 +3404,7 @@ abort:
extern void sane_hpaio_cancel( SANE_Handle handle )
{
hpaioScanner_t hpaio = ( hpaioScanner_t ) handle;
-
+ DBG(8, "sane_hpaio_cancel(): %s %d\n", __FILE__, __LINE__);
if (strcmp(*((char **)handle), "MARVELL") == 0)
return marvell_cancel(handle);
if (strcmp(*((char **)handle), "SOAP") == 0)
@@ -3416,7 +3418,6 @@ extern void sane_hpaio_cancel( SANE_Handle handle )
bug("sane_hpaio_cancel: already cancelled!\n");
}
hpaio->user_cancel = TRUE;
- DBG(8, "sane_hpaio_cancel(): %s %d\n", __FILE__, __LINE__);
if (hpaio->scannerType==SCANNER_TYPE_PML)
{
diff --git a/scan/sane/hpaio.desc b/scan/sane/hpaio.desc
index a0c1ebdad..2d9c22fb9 100644
--- a/scan/sane/hpaio.desc
+++ b/scan/sane/hpaio.desc
@@ -250,9 +250,6 @@
:model "HP PSC 500 All-in-one Printer"
:status :good
-:model "HP Officejet 500 All-in-one Printer"
-:status :good
-
:model "HP Photosmart Estn c510 Series"
:status :good
@@ -379,6 +376,9 @@
:model "HP LaserJet m1120n Multifunction Printer"
:status :good
+:model "HP LaserJet Professional m1132s Multifunction Printer"
+:status :good
+
:model "HP LaserJet Professional m1132 Multifunction Printer"
:status :good
@@ -2203,6 +2203,12 @@
:model "HP Photosmart 6510 E-all-in-one"
:status :good
+:model "HP Officejet 6600 E-all-in-one Printer - h711a"
+:status :good
+
+:model "HP Officejet 6700 E-all-in-one Printer - h711n"
+:status :good
+
:model "HP Officejet 7100 All-in-one Printer"
:status :good
diff --git a/scan/sane/hpaio.h b/scan/sane/hpaio.h
index 2ab1db658..25162242d 100644
--- a/scan/sane/hpaio.h
+++ b/scan/sane/hpaio.h
@@ -201,7 +201,7 @@ struct hpaioScanner_s
int minRes, maxRes;
int maxXExtent, maxYExtent;
int unloadAfterScan;
- int adfCapability;
+ int flatbedCapability, adfCapability;
int minResAdf, maxResAdf;
PmlObject_t objSupportedFunctions;
diff --git a/scan/sane/http.c b/scan/sane/http.c
index 58cc0d2de..8c1578e02 100644
--- a/scan/sane/http.c
+++ b/scan/sane/http.c
@@ -338,6 +338,7 @@ enum HTTP_RESULT __attribute__ ((visibility ("hidden"))) http_read_header(HTTP_H
if (read_line(ps, data, max_size, tmo, &len))
goto bugout;
ps->http_status = strtol(data+9, NULL, 10);
+ *bytes_read = total = len;
/* Check for good status, ignore 400 (no job id found for JobCancelRequest) */
if (!((ps->http_status >= 200 && ps->http_status < 300) || ps->http_status == 400))
@@ -472,6 +473,7 @@ enum HTTP_RESULT __attribute__ ((visibility ("hidden"))) http_read(HTTP_HANDLE h
strcpy(data, line);
data=data+len;
ps->footer -= len;
+ *bytes_read += len;
}
}
else
diff --git a/scan/sane/io.h b/scan/sane/io.h
index 28e3d8787..a47bc8b0d 100755
--- a/scan/sane/io.h
+++ b/scan/sane/io.h
@@ -22,7 +22,7 @@
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Contributing Author: Don Welch, David Suffield, Naga Samrat Chowdary Narla,
-
+ Sarbeswar Meher
\************************************************************************************/
#if !defined(_IO_H)
@@ -39,8 +39,16 @@ int __attribute__ ((visibility ("hidden"))) ReadChannelEx(int deviceid, int chan
#define EVENT_END_SCAN_JOB 2001
#define EVENT_SCANNER_FAIL 2002
#define EVENT_PLUGIN_FAIL 2003
+#define EVENT_SCAN_ADF_LOADED 2004
+#define EVENT_SCAN_TO_DESTINATION_NOTSET = 2005
+#define EVENT_SCAN_WAITING_FOR_PC = 2006
+#define EVENT_SCAN_ADF_JAM 2007
+#define EVENT_SCAN_ADF_DOOR_OPEN 2008
#define EVENT_SCAN_CANCEL 2009
#define EVENT_SIZE_WARNING 2010
+#define EVENT_SCAN_ADF_NO_DOCS 2011
+#define EVENT_SCAN_ADF_MISPICK 2012
+#define EVENT_SCAN_BUSY 2013
#define DBUS_INTERFACE "com.hplip.StatusService"
#define DBUS_PATH "/"
diff --git a/scan/sane/ledm.c b/scan/sane/ledm.c
index 80539e74d..d9a1a7699 100644
--- a/scan/sane/ledm.c
+++ b/scan/sane/ledm.c
@@ -374,9 +374,8 @@ SANE_Status __attribute__ ((visibility ("hidden"))) ledm_open(SANE_String_Const
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
- free(session);
- session = NULL;
- return SANE_STATUS_IO_ERROR;
+ stat = SANE_STATUS_IO_ERROR;
+ goto bugout;
}
init_options(session);
@@ -384,6 +383,7 @@ SANE_Status __attribute__ ((visibility ("hidden"))) ledm_open(SANE_String_Const
if (bb_open(session))
{
stat = SANE_STATUS_IO_ERROR;
+ goto bugout;
}
/* Set supported Scan Modes as determined by bb_open. */
@@ -414,7 +414,22 @@ SANE_Status __attribute__ ((visibility ("hidden"))) ledm_open(SANE_String_Const
stat = SANE_STATUS_GOOD;
-return stat;
+bugout:
+
+ if (stat != SANE_STATUS_GOOD)
+ {
+ if (session)
+ {
+ if (session->cd > 0)
+ hpmud_close_channel(session->dd, session->cd);
+ if (session->dd > 0)
+ hpmud_close_device(session->dd);
+ free(session);
+ session = NULL;
+ }
+ }
+
+ return stat;
}
const SANE_Option_Descriptor *ledm_get_option_descriptor(SANE_Handle handle, SANE_Int option)
@@ -509,6 +524,7 @@ SANE_Status ledm_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
i = session->adf_resolutionList[0] + 1;
while(i--) session->resolutionList[i] = session->adf_resolutionList[i];
}
+ ps->currentResolution = session->resolutionList[1];
mset_result |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS;
stat = SANE_STATUS_GOOD;
break;
@@ -762,12 +778,13 @@ SANE_Status ledm_start(SANE_Handle handle)
}
/* If input is ADF and ADF is empty, return SANE_STATUS_NO_DOCS. */
- if (ps->currentInputSource==IS_ADF)
+ if (ps->currentInputSource==IS_ADF || ps->currentInputSource ==IS_ADF_DUPLEX)
{
ret = bb_is_paper_in_adf(ps); /* 0 = no paper in adf, 1 = paper in adf, -1 = error */
if (ret == 0)
{
stat = SANE_STATUS_NO_DOCS; /* done scanning */
+ SendScanEvent (ps->uri, EVENT_SCAN_ADF_NO_DOCS);
goto bugout;
}
else if (ret < 0)
@@ -778,11 +795,9 @@ SANE_Status ledm_start(SANE_Handle handle)
}
/* Start scan and get actual image traits. */
- if (bb_start_scan(ps))
- {
- stat = SANE_STATUS_IO_ERROR;
+ stat = bb_start_scan(ps);
+ if (stat != SANE_STATUS_GOOD)
goto bugout;
- }
if(ps->user_cancel)
{
diff --git a/scan/sane/ledmi.h b/scan/sane/ledmi.h
index e9cdaf53d..973a974ad 100644
--- a/scan/sane/ledmi.h
+++ b/scan/sane/ledmi.h
@@ -155,7 +155,7 @@ int bb_open(struct ledm_session*);
int bb_close(struct ledm_session*);
int bb_get_parameters(struct ledm_session*, SANE_Parameters*, int);
int bb_is_paper_in_adf(); /* 0 = no paper in adf, 1 = paper in adf, -1 = error */
-int bb_start_scan(struct ledm_session*);
+SANE_Status bb_start_scan(struct ledm_session*);
int bb_get_image_data(struct ledm_session*, int);
int bb_end_page(struct ledm_session*, int);
int bb_end_scan(struct ledm_session* , int);
diff --git a/scan/sane/marvell.c b/scan/sane/marvell.c
index 52e08636d..395923eab 100644
--- a/scan/sane/marvell.c
+++ b/scan/sane/marvell.c
@@ -397,10 +397,10 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
switch (ma.scantype)
{
case HPMUD_SCANTYPE_MARVELL:
- session->version = MARVELL_1;
+ session->version = MARVELL_1;
break;
case HPMUD_SCANTYPE_MARVELL2:
- session->version = MARVELL_2;
+ session->version = MARVELL_2;
break;
default:
session->version = MARVELL_1;
@@ -453,41 +453,35 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
i=0;
/* Some of the marvell devices supports both flatbed and ADF, No command to get the src types supported */
/* Getting from the model file */
- if ( session->scansrc == HPMUD_SCANSRC_BOTH)
- {
- session->input_source_list[i] = STR_ADF_MODE_ADF;
- session->input_source_map[i++] = IS_ADF;
- session->input_source_list[i] = STR_ADF_MODE_FLATBED;
- session->input_source_map[i++] = IS_PLATEN;
- DBG8("scan src HPMUD_SCANSRC_BOTH \n");
- }
- else if ( session->scansrc == HPMUD_SCANSRC_ADF)
+ if ( session->scansrc & HPMUD_SCANSRC_ADF)
{
session->input_source_list[i] = STR_ADF_MODE_ADF;
session->input_source_map[i++] = IS_ADF;
DBG8("scan src HPMUD_SCANSRC_ADF \n");
}
- else if ( session->scansrc == HPMUD_SCANSRC_FLATBED)
+ if ( session->scansrc & HPMUD_SCANSRC_FLATBED)
{
session->input_source_list[i] = STR_ADF_MODE_FLATBED;
- session->input_source_map[i++] = IS_PLATEN;
- DBG8("scan src HPMUD_SCANSRC_FLATBED \n");
+ session->input_source_map[i++] = IS_PLATEN;
+ DBG8("scan src HPMUD_SCANSRC_FLATBED \n");
}
/* Values if un specified in the, value is 0, get ADF state from the printer */
- else if (session->bb_is_paper_in_adf(session) == 2)
- {
- session->input_source_list[i] = STR_ADF_MODE_FLATBED;
- session->input_source_map[i++] = IS_PLATEN;
- DBG8("scan src b_is_paper_in_adf value 2 \n");
- }
- else
- {
- session->input_source_list[i] = STR_ADF_MODE_ADF;
- session->input_source_map[i++] = IS_ADF;
- DBG8("scan src b_is_paper_in_adf value not 2 \n");
- }
+ if (session->scansrc == HPMUD_SCANSRC_NA)
+ {
+ if (session->bb_is_paper_in_adf(session) == 2)
+ {
+ session->input_source_list[i] = STR_ADF_MODE_FLATBED;
+ session->input_source_map[i++] = IS_PLATEN;
+ DBG8("scan src b_is_paper_in_adf value 2 \n");
+ }
+ else
+ {
+ session->input_source_list[i] = STR_ADF_MODE_ADF;
+ session->input_source_map[i++] = IS_ADF;
+ DBG8("scan src b_is_paper_in_adf value not 2 \n");
+ }
+ }
-
marvell_control_option(session, MARVELL_OPTION_INPUT_SOURCE, SANE_ACTION_SET_AUTO, NULL, NULL); /* set default option */
/* Set supported resolutions. */
@@ -848,6 +842,7 @@ SANE_Status marvell_start(SANE_Handle handle)
if (ret == 0)
{
stat = SANE_STATUS_NO_DOCS; /* done scanning */
+ SendScanEvent(ps->uri, EVENT_SCAN_ADF_NO_DOCS);
goto bugout;
}
else if (ret < 0)
@@ -863,6 +858,7 @@ SANE_Status marvell_start(SANE_Handle handle)
goto bugout;
}
+ SendScanEvent(ps->uri, EVENT_START_SCAN_JOB);
memset(xforms, 0, sizeof(xforms));
/* Setup image-processing pipeline for xform. */
@@ -956,7 +952,10 @@ SANE_Status marvell_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength
}
if (ret & IP_DONE)
+ {
stat = SANE_STATUS_EOF;
+ SendScanEvent(ps->uri, EVENT_END_SCAN_JOB);
+ }
else
stat = SANE_STATUS_GOOD;
@@ -973,6 +972,9 @@ bugout:
if (ps->is_user_cancel)
{
//Don't do anything. sane_hpaio_cancel() will be invoked automatically
+ SendScanEvent(ps->uri, EVENT_SCAN_CANCEL);
+ return SANE_STATUS_CANCELLED;
+
}
else
{
diff --git a/scan/sane/soap.c b/scan/sane/soap.c
index 28b83cc24..f45576397 100644
--- a/scan/sane/soap.c
+++ b/scan/sane/soap.c
@@ -840,7 +840,7 @@ SANE_Status soap_start(SANE_Handle handle)
int stat, ret;
DBG8("sane_hpaio_start()\n");
-
+ ps->user_cancel = 0;
if (set_extents(ps))
{
BUG("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n",
@@ -855,7 +855,7 @@ SANE_Status soap_start(SANE_Handle handle)
stat = SANE_STATUS_IO_ERROR;
goto bugout;
}
-
+ SendScanEvent(ps->uri, EVENT_START_SCAN_JOB);
memset(xforms, 0, sizeof(xforms));
/* Setup image-processing pipeline for xform. */
@@ -977,7 +977,13 @@ SANE_Status soap_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength, S
int ret, stat=SANE_STATUS_IO_ERROR;
DBG8("sane_hpaio_read() handle=%p data=%p maxLength=%d\n", (void *)handle, data, maxLength);
-
+ if(ps->user_cancel)
+ {
+ DBG8("soap_read() EVENT_SCAN_CANCEL****uri=%s\n", ps->uri);
+ SendScanEvent(ps->uri, EVENT_SCAN_CANCEL);
+ return SANE_STATUS_CANCELLED;
+ }
+
ret = get_ip_data(ps, data, maxLength, length);
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
@@ -987,7 +993,10 @@ SANE_Status soap_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength, S
}
if (ret & IP_DONE)
+ {
stat = SANE_STATUS_EOF;
+ SendScanEvent (ps->uri, EVENT_END_SCAN_JOB);
+ }
else
stat = SANE_STATUS_GOOD;
@@ -1018,7 +1027,7 @@ void soap_cancel(SANE_Handle handle)
* Sane_cancel is always called at the end of the scan job. Note that on a multiple page scan job
* sane_cancel is called only once.
*/
-
+ ps->user_cancel = 1;
if (ps->ip_handle)
{
ipClose(ps->ip_handle);
diff --git a/scan/sane/soapht.c b/scan/sane/soapht.c
index 1feea8076..deb81bcc6 100644
--- a/scan/sane/soapht.c
+++ b/scan/sane/soapht.c
@@ -912,7 +912,11 @@ SANE_Status soapht_start(SANE_Handle handle)
int stat, ret;
DBG8("sane_hpaio_start()\n");
-
+
+ ps -> user_cancel = 0;
+ ps -> cnt = 0;
+ ps -> index = 0;
+
if (set_extents(ps))
{
BUG("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n",
@@ -928,6 +932,7 @@ SANE_Status soapht_start(SANE_Handle handle)
if (ret == 0)
{
stat = SANE_STATUS_NO_DOCS; /* done scanning */
+ SendScanEvent (ps->uri, EVENT_SCAN_ADF_NO_DOCS);
goto bugout;
}
else if (ret < 0)
@@ -943,7 +948,7 @@ SANE_Status soapht_start(SANE_Handle handle)
stat = SANE_STATUS_IO_ERROR;
goto bugout;
}
-
+ SendScanEvent(ps->uri, EVENT_START_SCAN_JOB);
memset(xforms, 0, sizeof(xforms));
/* Setup image-processing pipeline for xform. */
@@ -1081,7 +1086,13 @@ SANE_Status soapht_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength,
int ret, stat=SANE_STATUS_IO_ERROR;
DBG8("sane_hpaio_read() handle=%p data=%p maxLength=%d\n", (void *)handle, data, maxLength);
-
+ if(ps->user_cancel)
+ {
+ DBG8("soapht_read() EVENT_SCAN_CANCEL****uri=%s\n", ps->uri);
+ SendScanEvent(ps->uri, EVENT_SCAN_CANCEL);
+ return SANE_STATUS_CANCELLED;
+ }
+
ret = get_ip_data(ps, data, maxLength, length);
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
@@ -1091,7 +1102,10 @@ SANE_Status soapht_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength,
}
if (ret & IP_DONE)
+ {
stat = SANE_STATUS_EOF;
+ SendScanEvent(ps->uri, EVENT_END_SCAN_JOB);
+ }
else
stat = SANE_STATUS_GOOD;
@@ -1122,7 +1136,7 @@ void soapht_cancel(SANE_Handle handle)
* Sane_cancel is always called at the end of the scan job. Note that on a multiple page scan job
* sane_cancel is called only once.
*/
-
+ ps -> user_cancel = 1;
if (ps->ip_handle)
{
ipClose(ps->ip_handle);
diff --git a/scan/sane/soaphti.h b/scan/sane/soaphti.h
index 7ecde50a5..e468c7174 100644
--- a/scan/sane/soaphti.h
+++ b/scan/sane/soaphti.h
@@ -144,6 +144,7 @@ struct soap_session
int index; /* dime buffer index */
int cnt; /* dime buffer count */
unsigned char buf[16384]; /* dime buffer */
+ int user_cancel;
void *hpmud_handle; /* returned by dlopen */
void *math_handle; /* returned by dlopen */
diff --git a/scan/sane/soapi.h b/scan/sane/soapi.h
index 0a738b161..a6e058521 100644
--- a/scan/sane/soapi.h
+++ b/scan/sane/soapi.h
@@ -87,7 +87,7 @@ struct soap_session
char uri[HPMUD_LINE_SIZE];
char model[HPMUD_LINE_SIZE];
int scan_type;
-
+ int user_cancel;
IP_IMAGE_TRAITS image_traits; /* specified by image header */
SANE_Option_Descriptor option[SOAP_OPTION_MAX];
diff --git a/setup.py b/setup.py
index e0503d59e..a29e6c9be 100755
--- a/setup.py
+++ b/setup.py
@@ -134,7 +134,7 @@ mod = module.Module(__mod__, __title__, __version__, __doc__, USAGE,
run_as_root_ok=True)
opts, device_uri, printer_name, mode, ui_toolkit, loc = \
- mod.parseStdOpts('axp:P:f:t:b:d:r',
+ mod.parseStdOpts('axp:P:f:t:b:d:rq',
['ttl=', 'filter=', 'search=', 'find=',
'method=', 'time-out=', 'timeout=',
'printer=', 'fax=', 'type=', 'port=',
@@ -152,6 +152,7 @@ auto = False
testpage_in_auto_mode = True
jd_port = 1
remove = False
+ignore_plugin_check = False
for o, a in opts:
if o == '-x':
@@ -199,6 +200,8 @@ for o, a in opts:
elif o in ('-r', '--rm', '--remove'):
remove = True
+ elif o in ('-q'):
+ ignore_plugin_check = True
try:
@@ -373,7 +376,7 @@ else: # INTERACTIVE_MODE
plugin = mq.get('plugin', PLUGIN_NONE)
plugin_installed = utils.to_bool(sys_state.get('plugin', 'installed', '0'))
- if plugin > PLUGIN_NONE and not plugin_installed:
+ if ignore_plugin_check is False and plugin > PLUGIN_NONE and not plugin_installed:
tui.header("PLUG-IN INSTALLATION")
hp_plugin = utils.which('hp-plugin')
@@ -417,13 +420,14 @@ else: # INTERACTIVE_MODE
printer_default_model = default_model
+ installed_printer_names = device.getSupportedCUPSPrinterNames(['hp'])
# Check for duplicate names
- if device_uri in installed_print_devices and \
- printer_default_model in installed_print_devices[device_uri]:
+ if (device_uri in installed_print_devices and printer_default_model in installed_print_devices[device_uri]) \
+ or (printer_default_model in installed_printer_names):
i = 2
while True:
t = printer_default_model + "_%d" % i
- if t not in installed_print_devices[device_uri]:
+ if (t not in installed_printer_names) and(device_uri not in installed_print_devices or t not in installed_print_devices[device_uri]):
printer_default_model += "_%d" % i
break
i += 1
@@ -629,13 +633,14 @@ else: # INTERACTIVE_MODE
fax_default_model = default_model + '_fax'
+ installed_fax_names = device.getSupportedCUPSPrinterNames(['hpfax'])
# Check for duplicate names
- if fax_uri in installed_fax_devices and \
- fax_default_model in installed_fax_devices[fax_uri]:
+ if (fax_uri in installed_fax_devices and fax_default_model in installed_fax_devices[fax_uri]) \
+ or (fax_default_model in installed_fax_names):
i = 2
while True:
t = fax_default_model + "_%d" % i
- if t not in installed_fax_devices[fax_uri]:
+ if (t in installed_fax_names) and (fax_uri not in installed_fax_devices or t not in installed_fax_devices[fax_uri]):
fax_default_model += "_%d" % i
break
i += 1
diff --git a/ui/devmgr4.py b/ui/devmgr4.py
index e1b132e6f..8a33558dd 100644
--- a/ui/devmgr4.py
+++ b/ui/devmgr4.py
@@ -37,6 +37,7 @@ from base import device, utils, pml, maint, pkit
from prnt import cups
from base.codes import *
from ui_utils import load_pixmap
+from installer.core_install import *
# Qt
from qt import *
@@ -407,8 +408,18 @@ class DevMgr4(DevMgr4_base):
initial_device_uri=None, disable_dbus=False,
parent=None, name=None, fl = 0):
- DevMgr4_base.__init__(self, parent, name, fl)
+ # Distro insformation
+ core = CoreInstall(MODE_CHECK)
+# core.init()
+ self.Is_autoInstaller_distro = core.is_auto_installer_support()
+ self.Latest_ver= user_conf.get('upgrade', 'latest_available_version')
+ installed_version=sys_conf.get('hplip','version')
+ if utils.Is_HPLIP_older_version(installed_version, self.Latest_ver):
+ DevMgr4_base.__init__(self, parent, name, fl,self.Latest_ver,self.Is_autoInstaller_distro)
+ else:
+ self.Latest_ver = ""
+ DevMgr4_base.__init__(self, parent, name, fl,self.Latest_ver,self.Is_autoInstaller_distro)
log.debug("Initializing toolbox UI (Qt3)...")
log.debug("HPLIP Version: %s" % prop.installed_version)
@@ -599,13 +610,22 @@ class DevMgr4(DevMgr4_base):
12 : self.__tr("twelve")
}
-
- self.TabIndex = { self.FunctionsTab: self.UpdateFuncsTab,
+ if self.Latest_ver is "":
+ self.TabIndex = { self.FunctionsTab: self.UpdateFuncsTab,
self.StatusTab: self.UpdateStatusTab,
self.SuppliesTab: self.UpdateSuppliesTab,
self.PrintSettingsTab: self.UpdatePrintSettingsTab,
self.PrintJobsTab: self.UpdatePrintControlTab,
}
+ else:
+ self.TabIndex = { self.FunctionsTab: self.UpdateFuncsTab,
+ self.StatusTab: self.UpdateStatusTab,
+ self.SuppliesTab: self.UpdateSuppliesTab,
+ self.PrintSettingsTab: self.UpdatePrintSettingsTab,
+ self.PrintJobsTab: self.UpdatePrintControlTab,
+ self.UpgradeTab:self.UpdateUpgradeTab,
+ }
+
def InitialUpdate(self):
@@ -1702,6 +1722,8 @@ class DevMgr4(DevMgr4_base):
elif align_type == ALIGN_TYPE_LEDM_MANUAL:
maint.AlignType16(d, self.LoadPaperUI, self.AlignmentNumberUI)
+ elif align_type == ALIGN_TYPE_LEDM_FF_CC_0:
+ maint.AlignType17(d, self.LoadPaperUI, self.Align13UI)
else:
self.CheckDeviceUI()
@@ -2678,8 +2700,31 @@ class DevMgr4(DevMgr4_base):
self.UpdatePrintControlTab()
+ def UpdateUpgradeTab(self):
+ log.debug("Upgrade Tab is pressed")
+ self.InstallPushButton_lock = False
+
+ def InstallPushButton_clicked(self):
+ if self.InstallPushButton_lock is True:
+ return
+ if self.Is_autoInstaller_distro:
+ self.InstallPushButton.setEnabled(False)
+ terminal_cmd = utils.get_terminal()
+ if terminal_cmd is not None and utils.which("hp-upgrade"):
+ cmd = terminal_cmd + " 'hp-upgrade'"
+ log.debug("cmd = %s " %cmd)
+ os.system(cmd)
+ else:
+ log.error("Failed to run hp-upgrade command from terminal =%s "%terminal_cmd)
+ self.InstallPushButton.setEnabled(True)
+ else:
+ self.InstallPushButton_lock = True
+ utils.openURL("http://hplipopensource.com/hplip-web/install/manual/index.html")
+ QTimer.singleShot(1000, self.InstallPushButton_unlock)
+ def InstallPushButton_unlock(self):
+ self.InstallPushButton_lock = False
# ***********************************************************************************
#
diff --git a/ui/devmgr4_base.py b/ui/devmgr4_base.py
index 30bf95bd7..49b7f8477 100644
--- a/ui/devmgr4_base.py
+++ b/ui/devmgr4_base.py
@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
-# Form implementation generated from reading ui file 'devmgr4_base.ui'
+# Form implementation generated from reading ui file 'ui/devmgr4_base.ui'
#
-# Created: Mon Apr 28 10:56:51 2008
-# by: The PyQt User Interface Compiler (pyuic) 3.17.3
+# Created: Fri Feb 3 12:00:32 2012
+# by: The PyQt User Interface Compiler (pyuic) 3.18.1
#
# WARNING! All changes made in this file will be lost!
@@ -12,13 +12,15 @@ from qt import *
class DevMgr4_base(QMainWindow):
- def __init__(self,parent = None,name = None,fl = 0):
+ def __init__(self,parent = None,name = None,fl = 0,latest_available_version="",Is_autoInstaller_distro=False):
QMainWindow.__init__(self,parent,name,fl)
self.statusBar()
if not name:
self.setName("DevMgr4_base")
+ self.latest_available_version= latest_available_version
+ self.Is_autoInstaller_distro= Is_autoInstaller_distro
self.setCentralWidget(QWidget(self,"qt_central_widget"))
DevMgr4_baseLayout = QGridLayout(self.centralWidget(),1,1,11,6,"DevMgr4_baseLayout")
@@ -178,6 +180,28 @@ class DevMgr4_base(QMainWindow):
PrintJobsTabLayout.addWidget(self.printerTextLabel,0,1)
self.Tabs.insertTab(self.PrintJobsTab,QString.fromLatin1(""))
+ if self.latest_available_version is not "":
+ self.UpgradeTab = QWidget(self.Tabs,"UpgradeTab")
+ self.UpgradeLabel = QLabel(self.UpgradeTab,"UpgradeLabel")
+ msg="Latest 'HPLIP-%s' version available for Installation"%self.latest_available_version
+ self.UpgradeLabel.setText(self.__tr(msg))
+ self.UpgradeLabel.setGeometry(QRect(17,43,330,20))
+ if self.Is_autoInstaller_distro:
+ self.InstallPushButton = QPushButton(self.UpgradeTab,"InstallPushButton")
+ self.InstallPushButton.setText(self.__tr("Install Now"))
+ self.InstallPushButton.setGeometry(QRect(390,40,111,30))
+ else:
+ self.ManualInfoLabel = QLabel(self.UpgradeTab,"ManualInfoLabel")
+ msg="Please install manually as mentioned in "
+ self.ManualInfoLabel.setText(self.__tr(msg))
+ self.ManualInfoLabel.setGeometry(QRect(17,70,300,30))
+
+ self.InstallPushButton = QPushButton(self.UpgradeTab,"InstallPushButton")
+ self.InstallPushButton.setText(self.__tr("HPLIP website"))
+ self.InstallPushButton.setGeometry(QRect(260,70,100,25))
+
+ self.Tabs.insertTab(self.UpgradeTab,QString.fromLatin1(""))
+
DevMgr4_baseLayout.addWidget(self.splitter2,0,0)
@@ -266,7 +290,8 @@ class DevMgr4_base(QMainWindow):
self.connect(self.infoToolButton,SIGNAL("clicked()"),self.infoToolButton_clicked)
self.connect(self.cancelToolButton,SIGNAL("clicked()"),self.cancelToolButton_clicked)
self.connect(self.jobList,SIGNAL("contextMenuRequested(QListViewItem*,const QPoint&,int)"),self.jobList_contextMenuRequested)
-
+ if self.latest_available_version is not "":
+ self.connect(self.InstallPushButton,SIGNAL("clicked()"),self.InstallPushButton_clicked)
def languageChange(self):
self.setCaption(self.__tr("HP Device Manager"))
@@ -299,6 +324,8 @@ class DevMgr4_base(QMainWindow):
self.stopstartPushButton.setText(self.__tr("Stop Printer"))
self.printerTextLabel.setText(self.__tr("Printer Name:"))
self.Tabs.changeTab(self.PrintJobsTab,self.__tr("Print Control"))
+ if self.latest_available_version is not "":
+ self.Tabs.changeTab(self.UpgradeTab,self.__tr("Upgrade"))
self.helpContentsAction.setText(self.__tr("Contents"))
self.helpContentsAction.setMenuText(self.__tr("&Contents..."))
self.helpContentsAction.setToolTip(self.__tr("Help Contents (F1)"))
@@ -539,6 +566,9 @@ class DevMgr4_base(QMainWindow):
def cancelToolButton_clicked(self):
print "DevMgr4_base.cancelToolButton_clicked(): Not implemented yet"
+ def InstallPushButton_clicked(self):
+ print "DevMgr4_base.InstallPushButton_clicked(): Not implemented yet"
+
def jobList_contextMenuRequested(self,a0,a1,a2):
print "DevMgr4_base.jobList_contextMenuRequested(QListViewItem*,const QPoint&,int): Not implemented yet"
diff --git a/ui/devmgr4_base.ui b/ui/devmgr4_base.ui
index b2864f29d..31c58b734 100644
--- a/ui/devmgr4_base.ui
+++ b/ui/devmgr4_base.ui
@@ -616,6 +616,62 @@
</widget>
</grid>
</widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Upgrade</string>
+ </attribute>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>pushButton4</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>390</x>
+ <y>40</y>
+ <width>111</width>
+ <height>30</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>pushButton4</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>17</x>
+ <y>43</y>
+ <width>330</width>
+ <height>20</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>textLabel1</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>11</x>
+ <y>91</y>
+ <width>480</width>
+ <height>70</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>textLabel2</string>
+ </property>
+ </widget>
+ </widget>
</widget>
</widget>
</grid>
diff --git a/ui/scrollcopy.py b/ui/scrollcopy.py
index 194dbcc49..a6afaf77a 100644
--- a/ui/scrollcopy.py
+++ b/ui/scrollcopy.py
@@ -66,7 +66,7 @@ class ScrollCopyView(ScrollView):
if self.quality is None:
result_code, self.quality = self.dev.getPML(pml.OID_COPIER_QUALITY)
- if self.scan_style == SCAN_STYLE_FLATBED and self.fit_to_page is None:
+ if self.scan_src == SCAN_SRC_FLATBED and self.fit_to_page is None:
result_code, self.fit_to_page = self.dev.getPML(pml.OID_COPIER_FIT_TO_PAGE)
if result_code != pml.ERROR_OK:
@@ -76,7 +76,7 @@ class ScrollCopyView(ScrollView):
else:
self.fit_to_page = pml.COPIER_FIT_TO_PAGE_DISABLED
- if self.scan_style != SCAN_STYLE_FLATBED:
+ if self.scan_src != SCAN_SRC_FLATBED:
self.fitToPageCheckBox.setEnabled(False)
result_code, self.max_reduction = self.dev.getPML(pml.OID_COPIER_REDUCTION_MAXIMUM)
@@ -161,7 +161,7 @@ class ScrollCopyView(ScrollView):
s = 'Disabled' # 1
log.debug("Default Fit to page: %s (%s)" % (self.fit_to_page, s))
- log.debug("Scan style (models.dat: scan-style): %d" % self.scan_style)
+ log.debug("Scan src (models.dat: scan-src): %d" % self.scan_src)
finally:
self.dev.closePML()
@@ -200,10 +200,10 @@ class ScrollCopyView(ScrollView):
self.dev = copier.PMLCopyDevice(device_uri=self.cur_device.device_uri,
printer_name=self.cur_printer)
- self.scan_style = self.dev.mq.get('scan-style', SCAN_STYLE_FLATBED)
+ self.scan_src = self.dev.mq.get('scan-src', SCAN_SRC_FLATBED)
self.copy_type = self.dev.mq.get('copy-type', COPY_TYPE_DEVICE)
- if self.scan_style == SCAN_STYLE_SCROLLFED:
+ if self.scan_src == SCAN_SRC_SCROLLFED:
self.fitToPageCheckBox.setEnabled(False)
self.fit_to_page = pml.COPIER_FIT_TO_PAGE_DISABLED
@@ -524,7 +524,7 @@ class ScrollCopyView(ScrollView):
s = 'Disabled' # 1
log.debug("Fit to page: %s (%s)" % (self.fit_to_page, s))
- log.debug("Scan style: %d" % self.scan_style)
+ log.debug("Scan src: %d" % self.scan_src)
# Open the dialog box.
#
@@ -536,7 +536,7 @@ class ScrollCopyView(ScrollView):
self.copy_timer.start(1000) # 1 sec UI updates
self.dev.copy(self.num_copies, self.contrast, self.reduction,
- self.quality, self.fit_to_page, self.scan_style,
+ self.quality, self.fit_to_page, self.scan_src,
self.update_queue, self.event_queue)
finally:
diff --git a/ui/setupform.py b/ui/setupform.py
index a3f00853d..a2e56b599 100644
--- a/ui/setupform.py
+++ b/ui/setupform.py
@@ -237,12 +237,12 @@ class SetupForm(SetupForm_base):
core.set_plugin_version()
plugin = self.mq.get('plugin', PLUGIN_NONE)
plugin_reason = self.mq.get('plugin-reason', PLUGIN_REASON_NONE)
- if plugin > PLUGIN_NONE and not core.check_for_plugin():
+ if plugin > PLUGIN_NONE and core.check_for_plugin() != PLUGIN_INSTALLED:
ok, sudo_ok = pkit.run_plugin_command(plugin == PLUGIN_REQUIRED, plugin_reason)
if not sudo_ok:
self.FailureUI(self.__tr("<b>Unable to find an appropriate su/sudo utility to run hp-plugin.</b><p>Install kdesu, gnomesu, or gksu.</p>"))
return
- if not ok or not core.check_for_plugin():
+ if not ok or core.check_for_plugin() != PLUGIN_INSTALLED:
if plugin == PLUGIN_REQUIRED:
self.FailureUI(self.__tr("<b>The printer you are trying to setup requires a binary driver plug-in and it failed to install.</b><p>Please check your internet connection and try again.</p><p>Visit <u>http://hplipopensource.com</u> for more information.</p>"))
return
@@ -606,13 +606,14 @@ class SetupForm(SetupForm_base):
printer_name = default_model
+ installed_printer_names = device.getSupportedCUPSPrinterNames(['hp'])
# Check for duplicate names
- if self.device_uri in self.installed_print_devices and \
- printer_name in self.installed_print_devices[self.device_uri]:
+ if (self.device_uri in self.installed_print_devices and printer_name in self.installed_print_devices[self.device_uri]) \
+ or (printer_name in installed_printer_names):
i = 2
while True:
t = printer_name + "_%d" % i
- if t not in self.installed_print_devices[self.device_uri]:
+ if (t not in installed_printer_names) and (self.device_uri not in self.installed_print_devices or t not in self.installed_print_devices[self.device_uri]):
printer_name += "_%d" % i
break
i += 1
@@ -713,15 +714,16 @@ class SetupForm(SetupForm_base):
default_model = utils.xstrip(model.replace('series', '').replace('Series', ''), '_')
fax_name = default_model + "_fax"
+ installed_fax_names = device.getSupportedCUPSPrinterNames(['hpfax'])
# Check for duplicate names
- if self.fax_uri in self.installed_fax_devices and \
- fax_name in self.installed_fax_devices[self.fax_uri]:
+ if (self.fax_uri in self.installed_fax_devices and fax_name in self.installed_fax_devices[self.fax_uri]) \
+ or (fax_name in installed_fax_names):
#if fax_name in self.installed_queues or fax_name == self.printer_name:
i = 2
while True:
t = fax_name + "_%d" % i
- if t not in self.installed_fax_devices[self.fax_uri]:
+ if (t not in installed_fax_names) and (self.fax_uri not in self.installed_fax_devices or t not in self.installed_fax_devices[self.fax_uri]):
fax_name += "_%d" % i
break
i += 1
diff --git a/ui/systemtray.py b/ui/systemtray.py
index cde1b869b..814544353 100644
--- a/ui/systemtray.py
+++ b/ui/systemtray.py
@@ -70,6 +70,7 @@ TrayIcon_Critical = 1
TrayIcon_Information = 2
theBalloonTip = None
+UPGRADE_CHECK_DELAY=24*60*60*1000 #1 day
class BalloonTip(QDialog):
@@ -392,6 +393,10 @@ class SystemTrayApp(QApplication):
self.read_pipe = read_pipe
self.fmt = "80s80sI32sI80sf"
self.fmt_size = struct.calcsize(self.fmt)
+
+ self.user_settings = utils.UserSettings()
+ self.user_settings.load()
+ self.user_settings.debug()
self.tray_icon = SystrayIcon(load_pixmap("hp_logo", "32x32", (22, 22)))
self.menu = QPopupMenu()
@@ -423,6 +428,11 @@ class SystemTrayApp(QApplication):
self.icon_info = load_pixmap('info', '16x16')
self.icon_warn = load_pixmap('warning', '16x16')
self.icon_error = load_pixmap('error', '16x16')
+
+ self.handle_hplip_updation()
+ self.timer = QTimer()
+ self.timer.connect(self.timer,SIGNAL("timeout()"),self.handle_hplip_updation)
+ self.timer.start(UPGRADE_CHECK_DELAY)
self.ERROR_STATE_TO_ICON = {
ERROR_STATE_CLEAR: self.icon_info,
@@ -519,6 +529,34 @@ class SystemTrayApp(QApplication):
else:
break
+ def handle_hplip_updation(self):
+ log.debug("handle_hplip_updation upgrade_notify =%d"%(self.user_settings.upgrade_notify))
+ path = utils.which('hp-upgrade')
+ if self.user_settings.upgrade_notify is False:
+ log.debug("upgrade notification is disabled in systray ")
+ if path:
+ path = os.path.join(path, 'hp-upgrade')
+ log.debug("Running hp-upgrade: %s " % (path))
+ # this just updates the available version in conf file. But won't notify
+ os.spawnlp(os.P_NOWAIT, path, 'hp-upgrade', '--check')
+ return
+
+
+ current_time = time.time()
+
+ if int(current_time) > self.user_settings.upgrade_pending_update_time:
+ path = utils.which('hp-upgrade')
+ if path:
+ path = os.path.join(path, 'hp-upgrade')
+ log.debug("Running hp-upgrade: %s " % (path))
+ os.spawnlp(os.P_NOWAIT, path, 'hp-upgrade', '--notify')
+
+ else:
+ log.error("Unable to find hp-upgrade --notify on PATH.")
+ else:
+ log.debug("upgrade schedule time is not yet completed. schedule time =%d current time =%d " %(self.user_settings.upgrade_pending_update_time, current_time))
+
+
def __tr(self,s,c = None):
return qApp.translate("SystemTrayApp",s,c)
diff --git a/ui/upgradeform.py b/ui/upgradeform.py
new file mode 100644
index 000000000..2b9814fb9
--- /dev/null
+++ b/ui/upgradeform.py
@@ -0,0 +1,136 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#
+# (c) Copyright 2001-2012 Hewlett-Packard Development Company, L.P.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Author: Don Welch, Goutam Korra, Naga Samrat Chowdary Narla,
+
+# Std Lib
+import sys
+import re
+import os.path, os
+import time
+
+# Local
+from base.g import *
+from base import device, utils, models
+from ui_utils import load_pixmap
+
+# Qt
+from qt import *
+from upgradeform_base import UpgradeForm_base
+
+MANUAL_INSTALL_LINK = "http://hplipopensource.com/hplip-web/install/manual/index.html"
+
+class UpgradeForm(UpgradeForm_base):
+ def __init__(self, parent=None, name="",modal=0, fl=0,distro_type= 1,msg=""):
+ UpgradeForm_base.__init__(self, parent, name, modal, fl,distro_type, msg)
+
+ self.msg = msg
+ self.distro_type = distro_type
+ self.setIcon(load_pixmap('hp_logo', '128x128'))
+ self.initUi()
+
+ def initUi(self):
+ self.connect(self.NextButton,SIGNAL('clicked()'),self.NextButton_clicked)
+ self.connect(self.CancelButton, SIGNAL("clicked()"), self.CancelButton_clicked)
+
+# self.connect(self.installRadioBtton, SIGNAL("toggled(bool)"), self.installRadioBtton_toggled)
+# self.connect(self.remindRadioBtton, SIGNAL("toggled(bool)"), self.remindRadioBtton_toggled)
+# self.connect(self.dontRemindRadioBtton, SIGNAL("toggled(bool)"), self.dontRemindRadioBtton_toggled)
+
+
+ def installRadioBtton_toggled(self, radio_enabled):
+ log.info("+++++++ installRadioBtton_toggled = %d" %radio_enabled)
+ if radio_enabled is True:
+ self.installRadioBtton.setChecked(True)
+ else:
+ self.installRadioBtton.setChecked(False)
+
+
+ def remindRadioBtton_toggled(self, radio_enabled):
+ log.info("+++++++ remindRadioBtton_toggled = %d" %radio_enabled)
+ if radio_enabled is True:
+ self.remindRadioBtton.setChecked(True)
+ self.daysSpinBox.setEnabled(True)
+ else:
+ self.remindRadioBtton.setChecked(False)
+ self.daysSpinBox.setEnabled(False)
+
+
+ def dontRemindRadioBtton_toggled(self, radio_enabled):
+ log.info("+++++++ dontRemindRadioBtton_toggled = %d" %radio_enabled)
+ if radio_enabled is True:
+ self.dontRemindRadioBtton.setChecked(True)
+ else:
+ self.dontRemindRadioBtton.setChecked(False)
+
+
+ def NextButton_clicked (self):
+ if self.dontRemindRadioBtton.isChecked():
+ log.debug("HPLIP Upgrade, selected Don't remind again radiobutton")
+ user_conf.set('upgrade', 'notify_upgrade', 'false')
+ msg= "Check for HPLIP updates is disabled. To Upgrade again, check it in 'HP-toolbox' "
+ self.SuccessUI( self.__tr(msg))
+ elif self.remindRadioBtton.isChecked():
+ schedule_days = str(self.daysSpinBox.value())
+ log.debug("HPLIP Upgrade, selected remind later radiobutton days= %d" %(int(schedule_days)))
+ next_time = time.time() + (int(schedule_days) *24 * 60 *60)
+ user_conf.set('upgrade', 'pending_upgrade_time', str(int(next_time)))
+ else:
+ log.debug("HPLIP Upgrade, selected Install radiobutton distro_type=%d" %self.distro_type)
+ self.NextButton.setEnabled(False)
+ if self.distro_type != 1: # not tier 1 distro
+ utils.openURL(MANUAL_INSTALL_LINK)
+ else:
+ terminal_cmd = utils.get_terminal()
+ if terminal_cmd is not None and utils.which("hp-upgrade"):
+ cmd = terminal_cmd + " 'hp-upgrade '"
+ log.debug("cmd = %s " %cmd)
+ os.system(cmd)
+ self.result = True
+ else:
+ log.error("Failed to run hp-upgrade command from terminal =%s "%terminal_cmd)
+ self.FailureUI( self.__tr("Failed to run hp-upgrade"))
+
+ self.close()
+
+
+ def CancelButton_clicked(self):
+ log.debug("User exit")
+ self.close()
+
+
+ def FailureUI(self, error_text):
+ QMessageBox.critical(self,
+ self.caption(),
+ error_text,
+ QMessageBox.Ok,
+ QMessageBox.NoButton,
+ QMessageBox.NoButton)
+
+ def SuccessUI(self, text):
+ QMessageBox.information(self,
+ self.caption(),
+ text,
+ QMessageBox.Ok,
+ QMessageBox.NoButton,
+ QMessageBox.NoButton)
+
+
+ def __tr(self,s,c = None):
+ return qApp.translate("UpgradeDialog",s,c)
diff --git a/ui/upgradeform_base.py b/ui/upgradeform_base.py
new file mode 100644
index 000000000..803ba7bd0
--- /dev/null
+++ b/ui/upgradeform_base.py
@@ -0,0 +1,86 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'ui/upgradeform_base.ui'
+#
+# Created: Thu Feb 9 20:00:42 2012
+# by: The PyQt User Interface Compiler (pyuic) 3.18.1
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class UpgradeForm_base(QDialog):
+ def __init__(self,parent = None,name = "",modal = 0,fl = 0,distro_type =1 , msg="" ):
+ QDialog.__init__(self,parent,name,modal,fl)
+
+ if name == "":
+ self.setName("HPLIP_Upgrade")
+ self.msg=msg
+ self.distro_type = distro_type
+
+ self.textLabel1 = QLabel(self,"textLabel1")
+ self.textLabel1.setGeometry(QRect(10,10,310,50))
+
+
+ self.buttonGroup1 = QButtonGroup(self,"buttonGroup1")
+ self.buttonGroup1.setGeometry(QRect(10,60,300,110))
+
+ self.installRadioBtton = QRadioButton(self.buttonGroup1,"installRadioBtton")
+ self.installRadioBtton.setGeometry(QRect(10,20,250,20))
+ self.installRadioBtton.setChecked(True)
+
+
+ self.remindRadioBtton = QRadioButton(self.buttonGroup1,"remindRadioBtton")
+ self.remindRadioBtton.setGeometry(QRect(10,50,130,20))
+
+
+ self.daysSpinBox = QSpinBox(self.buttonGroup1,"daysSpinBox")
+ self.daysSpinBox.setGeometry(QRect(139,50,50,20))
+ self.daysSpinBox.setMinValue(1)
+ self.daysSpinBox.setMaxValue(365)
+# self.daysSpinBox.setEnabled(False)
+
+
+ self.daysLabel = QLabel(self.buttonGroup1,"daysLabel")
+
+ self.daysLabel.setGeometry(QRect(200,50,68,20))
+
+
+ self.dontRemindRadioBtton = QRadioButton(self.buttonGroup1,"dontRemindRadioBtton")
+ self.dontRemindRadioBtton.setGeometry(QRect(10,80,160,20))
+
+
+ self.NextButton = QPushButton(self,"NextButton")
+ self.NextButton.setGeometry(QRect(140,190,90,25))
+
+ self.CancelButton = QPushButton(self,"CancelButton")
+ self.CancelButton.setGeometry(QRect(240,190,80,25))
+
+ self.languageChange()
+ self.resize(QSize(328,225).expandedTo(self.minimumSizeHint()))
+ self.clearWState(Qt.WState_Polished)
+
+ self.connect(self.daysSpinBox,SIGNAL("valueChanged(int)"),self.daysSpinBox_change)
+
+ def daysSpinBox_change(self):
+ self.remindRadioBtton.setChecked(True)
+
+ def languageChange(self):
+ self.setCaption(self.__tr("HPLIP Upgrade Manager"))
+ self.textLabel1.setText(self.__tr(self.msg))
+ if self.distro_type == 1:
+ self.installRadioBtton.setText(self.__tr("Download and Install"))
+ else:
+ self.installRadioBtton.setText(self.__tr("Follow steps from www.hplip.net"))
+ self.remindRadioBtton.setText(self.__tr("Remind me after"))
+ self.daysLabel.setText(self.__tr("days"))
+ self.dontRemindRadioBtton.setText(self.__tr("Don't remind again"))
+ self.NextButton.setText(self.__tr("Ok"))
+ self.CancelButton.setText(self.__tr("Cancel"))
+
+
+
+ def __tr(self,s,c = None):
+ return qApp.translate("Form1",s,c)
diff --git a/ui4/aligndialog.py b/ui4/aligndialog.py
index 37c322ae8..75be5f6d2 100644
--- a/ui4/aligndialog.py
+++ b/ui4/aligndialog.py
@@ -100,6 +100,7 @@ class AlignDialog(QDialog, Ui_Dialog):
ALIGN_TYPE_LIDIL_DJ_D1600: 0,
ALIGN_TYPE_LEDM: 0,
ALIGN_TYPE_LEDM_MANUAL: 0,
+ ALIGN_TYPE_LEDM_FF_CC_0: 0,
}
self.seq = { # (func|method, tuple of params|None)
@@ -363,30 +364,34 @@ class AlignDialog(QDialog, Ui_Dialog):
(self.showLoadPaperPage, None),
(maint.AlignType15Phase1, (lambda : self.dev, lambda: true)),
(self.showAlignmentNumberPage, ('A', 'v', 'kc', 3, 23)),
- (self.endAlignmentNumberPage, ('A',)),
+ (self.endAlignmentNumberPage, ('A',)),
(self.showAlignmentNumberPage, ('B', 'h', 'kc', 3, 11)),
- (self.endAlignmentNumberPage, ('B',)),
+ (self.endAlignmentNumberPage, ('B',)),
(self.showAlignmentNumberPage, ('C', 'v', 'k', 3, 23)),
- (self.endAlignmentNumberPage, ('C',)),
+ (self.endAlignmentNumberPage, ('C',)),
(self.showAlignmentNumberPage, ('D', 'v', 'c', 3, 23)),
- (self.endAlignmentNumberPage, ('D',)),
+ (self.endAlignmentNumberPage, ('D',)),
(self.showAlignmentNumberPage, ('E', 'h', 'k', 3, 11)),
- (self.endAlignmentNumberPage, ('E',)),
+ (self.endAlignmentNumberPage, ('E',)),
(self.showAlignmentNumberPage, ('F', 'h', 'k', 3, 11)),
- (self.endAlignmentNumberPage, ('F',)),
+ (self.endAlignmentNumberPage, ('F',)),
(self.showAlignmentNumberPage, ('G', 'h', 'k', 3, 11)),
- (self.endAlignmentNumberPage, ('G',)),
+ (self.endAlignmentNumberPage, ('G',)),
(self.showAlignmentNumberPage, ('H', 'v', 'k', 3, 9)),
- (self.endAlignmentNumberPage, ('H',)),
+ (self.endAlignmentNumberPage, ('H',)),
(self.showAlignmentNumberPage, ('I', 'v', 'c', 3, 9)),
(self.endAlignmentNumberPage, ('I',)),
(maint.AlignType16Phase1, (lambda: self.dev, lambda: self.a, lambda: self.b,
lambda: self.c, lambda: self.d, lambda: self.e,
- lambda: self.f, lambda: self.g, lambda: self.h,
+ lambda: self.f, lambda: self.g, lambda: self.h,
lambda: self.i)),
(self.close, None),
],
-
+ ALIGN_TYPE_LEDM_FF_CC_0 : [ # 17
+ (self.showLoadPaperPage, None),
+ (maint.AlignType17Phase1, (lambda : self.dev, lambda: self.showAioPage)),
+ (self.close, None),
+ ],
}
self.setupUi(self)
diff --git a/ui4/devmgr5.py b/ui4/devmgr5.py
index be043043c..defbff807 100644
--- a/ui4/devmgr5.py
+++ b/ui4/devmgr5.py
@@ -36,6 +36,7 @@ from prnt import cups
from base.codes import *
from ui_utils import *
import hpmudext
+from installer.core_install import *
# Qt
from PyQt4.QtCore import *
@@ -150,6 +151,18 @@ class PluginInstall(QObject):
return qApp.translate("DevMgr5",s,c)
+class DiagnoseQueue(QObject):
+ def __init__(self, parent):
+ self.parent = parent
+
+
+ def exec_(self):
+ ok, output = utils.run('hp-diagnose_queues -r')
+
+ def __tr(self,s,c = None):
+ return qApp.translate("DevMgr5",s,c)
+
+
# ***********************************************************************************
#
@@ -166,8 +179,7 @@ class DevMgr5(QMainWindow, Ui_MainWindow):
log.debug("Initializing toolbox UI (Qt4)...")
log.debug("HPLIP Version: %s" % prop.installed_version)
- self.setupUi(self)
-
+
self.toolbox_version = toolbox_version
self.initial_device_uri = initial_device_uri
self.device_vars = {}
@@ -177,13 +189,23 @@ class DevMgr5(QMainWindow, Ui_MainWindow):
self.updating = False
self.init_failed = False
self.service = None
+ self.Is_autoInstaller_distro = False # True-->tier1(supports auto installation). False--> tier2(manual installation)
+ # Distro insformation
+ core = CoreInstall(MODE_CHECK)
+# core.init()
+ self.Is_autoInstaller_distro = core.is_auto_installer_support()
# User settings
self.user_settings = UserSettings()
self.user_settings.load()
self.user_settings.debug()
self.cur_device_uri = self.user_settings.last_used_device_uri
-
+ installed_version=sys_conf.get('hplip','version')
+ if not utils.Is_HPLIP_older_version( installed_version, self.user_settings.latest_available_version):
+ self.setupUi(self,"",self.Is_autoInstaller_distro)
+ else:
+ self.setupUi(self, self.user_settings.latest_available_version,self.Is_autoInstaller_distro)
+
# Other initialization
self.initDBus()
self.initPixmaps()
@@ -278,6 +300,7 @@ class DevMgr5(QMainWindow, Ui_MainWindow):
self.initPrintSettingsTab()
self.initPrintControlTab()
+
self.connect(self.Tabs,SIGNAL("currentChanged(int)"),self.Tabs_currentChanged)
# Resize the splitter so that the device list starts as a single column
@@ -295,6 +318,7 @@ class DevMgr5(QMainWindow, Ui_MainWindow):
2: self.updateSuppliesTab,
3: self.updatePrintSettingsTab,
4: self.updatePrintControlTab,
+ 5:self.updateHPLIPupgrade,
}
# docs
@@ -1143,6 +1167,13 @@ class DevMgr5(QMainWindow, Ui_MainWindow):
"plugin",
x,
lambda : PluginInstall(self, d.plugin, plugin_installed)),
+
+ # Diagnose Queues
+ (lambda : True,
+ self.__tr("Diagnose Queues"),
+ "warning",
+ self.__tr("Diagnose Print/Fax Queues."),
+ lambda : DiagnoseQueue(self)),
# EWS
@@ -1739,6 +1770,34 @@ class DevMgr5(QMainWindow, Ui_MainWindow):
# TODO: Check queues at startup and send events if stopped or rejecting
+ def initUpgradeTab(self):
+ self.connect(self.InstallLatestButton, SIGNAL("clicked()"), self.InstallLatestButton_clicked)
+ self.InstallLatestButton_lock = False
+
+
+ def InstallLatestButton_clicked(self):
+ if self.InstallLatestButton_lock is True:
+ return
+ if self.Is_autoInstaller_distro:
+ self.InstallLatestButton.setEnabled(False)
+ terminal_cmd = utils.get_terminal()
+ if terminal_cmd is not None and utils.which("hp-upgrade"):
+ cmd = terminal_cmd + " 'hp-upgrade'"
+ log.debug("cmd = %s " %cmd)
+ os.system(cmd)
+ else:
+ log.error("Failed to run hp-upgrade command from terminal =%s "%terminal_cmd)
+ self.InstallLatestButton.setEnabled(True)
+ else:
+ self.InstallLatestButton_lock = True
+ utils.openURL("http://hplipopensource.com/hplip-web/install/manual/index.html")
+ QTimer.singleShot(1000, self.InstallLatestButton_unlock)
+
+
+ def InstallLatestButton_unlock(self):
+ self.InstallLatestButton_lock = False
+
+
def CancelJobButton_clicked(self):
item = self.JobTable.currentItem()
@@ -1752,7 +1811,12 @@ class DevMgr5(QMainWindow, Ui_MainWindow):
def RefreshButton_clicked(self):
self.updatePrintControlTab()
+ def updateHPLIPupgrade(self):
+ self.initUpgradeTab()
+
+
+
def updatePrintControlTab(self):
if self.cur_device.device_type == DEVICE_TYPE_PRINTER:
self.PrintControlPrinterNameLabel.setText(self.__tr("Printer Name:"))
diff --git a/ui4/devmgr5_base.py b/ui4/devmgr5_base.py
index ef4eeb2fc..3cdcfbaf5 100644
--- a/ui4/devmgr5_base.py
+++ b/ui4/devmgr5_base.py
@@ -2,18 +2,20 @@
# Form implementation generated from reading ui file 'ui4/devmgr5_base.ui'
#
-# Created: Mon May 18 17:05:52 2009
-# by: PyQt4 UI code generator 4.4.4
+# Created: Thu Feb 2 15:07:11 2012
+# by: PyQt4 UI code generator 4.7.4
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
class Ui_MainWindow(object):
- def setupUi(self, MainWindow):
+ def setupUi(self, MainWindow,latest_available_version,Is_autoInstaller_distro):
MainWindow.setObjectName("MainWindow")
MainWindow.setWindowModality(QtCore.Qt.ApplicationModal)
MainWindow.resize(700, 500)
+ self.latest_available_version = latest_available_version
+ self.Is_autoInstaller_distro = Is_autoInstaller_distro
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridlayout = QtGui.QGridLayout(self.centralwidget)
@@ -149,6 +151,7 @@ class Ui_MainWindow(object):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.groupBox_3.sizePolicy().hasHeightForWidth())
self.groupBox_3.setSizePolicy(sizePolicy)
+ self.groupBox_3.setTitle("")
self.groupBox_3.setObjectName("groupBox_3")
self.gridlayout7 = QtGui.QGridLayout(self.groupBox_3)
self.gridlayout7.setMargin(1)
@@ -165,6 +168,7 @@ class Ui_MainWindow(object):
self.StartStopIcon.setSizePolicy(sizePolicy)
self.StartStopIcon.setMinimumSize(QtCore.QSize(16, 16))
self.StartStopIcon.setMaximumSize(QtCore.QSize(16, 16))
+ self.StartStopIcon.setText("")
self.StartStopIcon.setObjectName("StartStopIcon")
self.hboxlayout3.addWidget(self.StartStopIcon)
self.StartStopLabel = QtGui.QLabel(self.groupBox_3)
@@ -186,6 +190,7 @@ class Ui_MainWindow(object):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.groupBox_4.sizePolicy().hasHeightForWidth())
self.groupBox_4.setSizePolicy(sizePolicy)
+ self.groupBox_4.setTitle("")
self.groupBox_4.setObjectName("groupBox_4")
self.gridlayout8 = QtGui.QGridLayout(self.groupBox_4)
self.gridlayout8.setMargin(1)
@@ -202,6 +207,7 @@ class Ui_MainWindow(object):
self.AcceptRejectIcon.setSizePolicy(sizePolicy)
self.AcceptRejectIcon.setMinimumSize(QtCore.QSize(16, 16))
self.AcceptRejectIcon.setMaximumSize(QtCore.QSize(16, 16))
+ self.AcceptRejectIcon.setText("")
self.AcceptRejectIcon.setObjectName("AcceptRejectIcon")
self.hboxlayout4.addWidget(self.AcceptRejectIcon)
self.AcceptRejectLabel = QtGui.QLabel(self.groupBox_4)
@@ -223,6 +229,7 @@ class Ui_MainWindow(object):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.groupBox_5.sizePolicy().hasHeightForWidth())
self.groupBox_5.setSizePolicy(sizePolicy)
+ self.groupBox_5.setTitle("")
self.groupBox_5.setObjectName("groupBox_5")
self.gridlayout9 = QtGui.QGridLayout(self.groupBox_5)
self.gridlayout9.setMargin(1)
@@ -239,6 +246,7 @@ class Ui_MainWindow(object):
self.SetDefaultIcon.setSizePolicy(sizePolicy)
self.SetDefaultIcon.setMinimumSize(QtCore.QSize(16, 16))
self.SetDefaultIcon.setMaximumSize(QtCore.QSize(16, 16))
+ self.SetDefaultIcon.setText("")
self.SetDefaultIcon.setObjectName("SetDefaultIcon")
self.hboxlayout5.addWidget(self.SetDefaultIcon)
self.SetDefaultLabel = QtGui.QLabel(self.groupBox_5)
@@ -276,10 +284,29 @@ class Ui_MainWindow(object):
self.gridlayout10.addWidget(self.RefreshButton, 1, 2, 1, 1)
self.gridlayout5.addWidget(self.groupBox_2, 2, 0, 1, 1)
self.Tabs.addTab(self.Control, "")
+ if self.latest_available_version is not "":
+ self.tab_3 = QtGui.QWidget()
+ self.tab_3.setObjectName("tab_3")
+ self.label = QtGui.QLabel(self.tab_3)
+ self.label.setGeometry(QtCore.QRect(30, 45, 300, 17))
+ self.label.setObjectName("label")
+ if self.Is_autoInstaller_distro:
+ self.InstallLatestButton = QtGui.QPushButton(self.tab_3)
+ self.InstallLatestButton.setGeometry(QtCore.QRect(351, 40, 96, 27))
+ self.InstallLatestButton.setObjectName("pushButton")
+ else:
+ self.ManualInstalllabel = QtGui.QLabel(self.tab_3)
+ self.ManualInstalllabel.setGeometry(QtCore.QRect(30, 70,300, 45))
+ self.ManualInstalllabel.setObjectName("label")
+ self.InstallLatestButton = QtGui.QPushButton(self.tab_3)
+ self.InstallLatestButton.setGeometry(QtCore.QRect(295, 80, 110, 25))
+ self.InstallLatestButton.setObjectName("pushButton")
+ self.Tabs.addTab(self.tab_3, "")
+
self.gridlayout.addWidget(self.splitter, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.Menubar = QtGui.QMenuBar(MainWindow)
- self.Menubar.setGeometry(QtCore.QRect(0, 0, 700, 25))
+ self.Menubar.setGeometry(QtCore.QRect(0, 0, 700, 27))
self.Menubar.setObjectName("Menubar")
self.DeviceMenu = QtGui.QMenu(self.Menubar)
self.DeviceMenu.setObjectName("DeviceMenu")
@@ -295,7 +322,7 @@ class Ui_MainWindow(object):
MainWindow.setStatusBar(self.Statusbar)
self.toolBar = QtGui.QToolBar(MainWindow)
self.toolBar.setObjectName("toolBar")
- MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
+ MainWindow.addToolBar(QtCore.Qt.ToolBarArea(QtCore.Qt.TopToolBarArea), self.toolBar)
self.QuitAction = QtGui.QAction(MainWindow)
self.QuitAction.setObjectName("QuitAction")
self.PreferencesAction = QtGui.QAction(MainWindow)
@@ -369,6 +396,16 @@ class Ui_MainWindow(object):
self.CancelJobButton.setText(QtGui.QApplication.translate("MainWindow", "Cancel Job", None, QtGui.QApplication.UnicodeUTF8))
self.RefreshButton.setText(QtGui.QApplication.translate("MainWindow", "Refresh", None, QtGui.QApplication.UnicodeUTF8))
self.Tabs.setTabText(self.Tabs.indexOf(self.Control), QtGui.QApplication.translate("MainWindow", "Printer Control", None, QtGui.QApplication.UnicodeUTF8))
+ if self.latest_available_version is not "":
+ self.label.setText(QtGui.QApplication.translate("MainWindow", "New version of HPLIP-%s is available"%self.latest_available_version, None, QtGui.QApplication.UnicodeUTF8))
+ self.Tabs.setTabText(self.Tabs.indexOf(self.tab_3), QtGui.QApplication.translate("MainWindow", "Upgrade", None, QtGui.QApplication.UnicodeUTF8))
+ if self.Is_autoInstaller_distro:
+ self.InstallLatestButton.setText(QtGui.QApplication.translate("MainWindow", "Install now", None, QtGui.QApplication.UnicodeUTF8))
+ else:
+ msg="Please install manually as mentioned in "
+ self.ManualInstalllabel.setText(QtGui.QApplication.translate("MainWindow", msg, None, QtGui.QApplication.UnicodeUTF8))
+ self.InstallLatestButton.setText(QtGui.QApplication.translate("MainWindow", "HPLIP website", None, QtGui.QApplication.UnicodeUTF8))
+
self.DeviceMenu.setTitle(QtGui.QApplication.translate("MainWindow", "&Device", None, QtGui.QApplication.UnicodeUTF8))
self.ConfigureMenu.setTitle(QtGui.QApplication.translate("MainWindow", "&Configure", None, QtGui.QApplication.UnicodeUTF8))
self.HelpMenu.setTitle(QtGui.QApplication.translate("MainWindow", "&Help", None, QtGui.QApplication.UnicodeUTF8))
diff --git a/ui4/devmgr5_base.ui b/ui4/devmgr5_base.ui
index 9afbdd48b..7d0c7f53e 100644
--- a/ui4/devmgr5_base.ui
+++ b/ui4/devmgr5_base.ui
@@ -56,8 +56,11 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="styleSheet">
+ <string notr="true"/>
+ </property>
<property name="currentIndex">
- <number>0</number>
+ <number>5</number>
</property>
<widget class="QWidget" name="Actions">
<attribute name="title">
@@ -544,6 +547,37 @@
</item>
</layout>
</widget>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Page</string>
+ </attribute>
+ <widget class="QPushButton" name="pushButton">
+ <property name="geometry">
+ <rect>
+ <x>280</x>
+ <y>40</y>
+ <width>96</width>
+ <height>27</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Install now</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label">
+ <property name="geometry">
+ <rect>
+ <x>30</x>
+ <y>45</y>
+ <width>251</width>
+ <height>17</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>New version of HPLIP-x.x.x is available</string>
+ </property>
+ </widget>
+ </widget>
</widget>
</widget>
</item>
@@ -555,7 +589,7 @@
<x>0</x>
<y>0</y>
<width>700</width>
- <height>25</height>
+ <height>27</height>
</rect>
</property>
<widget class="QMenu" name="DeviceMenu">
diff --git a/ui4/plugindiagnose.py b/ui4/plugindiagnose.py
index 5927731e4..7dc24007c 100644
--- a/ui4/plugindiagnose.py
+++ b/ui4/plugindiagnose.py
@@ -46,7 +46,7 @@ from plugindiagnose_base import Ui_Dialog
class PluginDiagnose(QDialog, Ui_Dialog):
- def __init__(self, parent, install_mode=PLUGIN_NONE, plugin_reason=PLUGIN_REASON_NONE):
+ def __init__(self, parent, install_mode=PLUGIN_NONE, plugin_reason=PLUGIN_REASON_NONE, upgrade=False):
QDialog.__init__(self, parent)
self.install_mode = install_mode
self.plugin_reason = plugin_reason
@@ -54,7 +54,7 @@ class PluginDiagnose(QDialog, Ui_Dialog):
self.result = False
self.core = CoreInstall()
self.core.set_plugin_version()
- self.setupUi(self)
+ self.setupUi(self, upgrade)
self.user_settings = UserSettings()
self.user_settings.load()
@@ -99,7 +99,7 @@ class PluginDiagnose(QDialog, Ui_Dialog):
plugin_reason = PLUGIN_REASON_NONE
ok, sudo_ok = pkit.run_plugin_command(plugin == PLUGIN_REQUIRED, plugin_reason)
- if not ok or not self.core.check_for_plugin():
+ if not ok or self.core.check_for_plugin() != PLUGIN_INSTALLED:
FailureUI(self, self.__tr("Failed to install Plug-in.\nEither you have chosen to skip the Plug-in installation or entered incorrect Password."))
finally:
diff --git a/ui4/plugindiagnose_base.py b/ui4/plugindiagnose_base.py
index 2595d8cc3..dc7978067 100644
--- a/ui4/plugindiagnose_base.py
+++ b/ui4/plugindiagnose_base.py
@@ -10,9 +10,10 @@
from PyQt4 import QtCore, QtGui
class Ui_Dialog(object):
- def setupUi(self, Dialog):
+ def setupUi(self, Dialog, upgrade=False):
Dialog.setObjectName("Dialog")
Dialog.resize(500, 180)
+ self.upgradePlugin=upgrade
self.gridlayout = QtGui.QGridLayout(Dialog)
self.gridlayout.setObjectName("gridlayout")
self.StackedWidget = QtGui.QStackedWidget(Dialog)
@@ -60,7 +61,10 @@ class Ui_Dialog(object):
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "HP Device Manager - Plug-in Installer", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("Dialog", "Driver Plug-in Required", None, QtGui.QApplication.UnicodeUTF8))
- self.TitleLabel.setText(QtGui.QApplication.translate("Dialog", "HP Device requires proprietary plug-in which is missing. Press Next to continue plug-in installation", None, QtGui.QApplication.UnicodeUTF8))
+ if self.upgradePlugin is False:
+ self.TitleLabel.setText(QtGui.QApplication.translate("Dialog", "HP Device proprietary plug-in is missing. Click 'Next' to continue plug-in installation.", None, QtGui.QApplication.UnicodeUTF8))
+ else:
+ self.TitleLabel.setText(QtGui.QApplication.translate("Dialog", "HP Device plug-in version mismatch or some files are corrupted.\nClick 'Next' to install required plug-in.", None, QtGui.QApplication.UnicodeUTF8))
self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Next >", None, QtGui.QApplication.UnicodeUTF8))
self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8))
diff --git a/ui4/plugindiagnose_base.ui b/ui4/plugindiagnose_base.ui
index 69ac4be9e..b073c6a46 100644
--- a/ui4/plugindiagnose_base.ui
+++ b/ui4/plugindiagnose_base.ui
@@ -43,7 +43,7 @@
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="TitleLabel">
<property name="text">
- <string>HP Device requires proprietary plug-in which is missing. Press Next to continue plug-in installation</string>
+ <string>HP Device requires proprietary plug-in which is missing. Click 'Next' to continue plug-in installation</string>
</property>
<property name="wordWrap">
<bool>true</bool>
diff --git a/ui4/queuesconf.py b/ui4/queuesconf.py
new file mode 100644
index 000000000..c527b6731
--- /dev/null
+++ b/ui4/queuesconf.py
@@ -0,0 +1,181 @@
+# -*- coding: utf-8 -*-
+#
+# (c) Copyright 2011-2014 Hewlett-Packard Development Company, L.P.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Authors: Amarnath Chitumalla
+#
+
+#global
+import os
+import sys
+
+# Local
+from base.g import *
+from base import utils
+from prnt import cups
+from base.codes import *
+from ui_utils import *
+
+
+# Qt
+from PyQt4.QtCore import *
+from PyQt4.QtGui import *
+
+from PyQt4 import QtCore, QtGui
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog, printerName, device_uri,Error_msg):
+ Dialog.setObjectName("Dialog")
+ Dialog.resize(700, 180)
+ self.printerName=printerName
+ self.device_uri=device_uri
+ self.Error_msg=Error_msg
+ self.gridlayout = QtGui.QGridLayout(Dialog)
+ self.gridlayout.setObjectName("gridlayout")
+ self.StackedWidget = QtGui.QStackedWidget(Dialog)
+ self.StackedWidget.setObjectName("StackedWidget")
+ self.page = QtGui.QWidget()
+ self.page.setObjectName("page")
+ self.gridlayout1 = QtGui.QGridLayout(self.page)
+ self.gridlayout1.setObjectName("gridlayout1")
+ self.label = QtGui.QLabel(self.page)
+ font = QtGui.QFont()
+ font.setPointSize(16)
+ self.label.setFont(font)
+ self.label.setObjectName("label")
+ self.gridlayout1.addWidget(self.label, 0, 0, 1, 1)
+ self.line = QtGui.QFrame(self.page)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName("line")
+ self.gridlayout1.addWidget(self.line, 1, 0, 1, 2)
+ self.TitleLabel = QtGui.QLabel(self.page)
+ self.TitleLabel.setWordWrap(True)
+ self.TitleLabel.setObjectName("TitleLabel")
+ self.gridlayout1.addWidget(self.TitleLabel, 2, 0, 1, 2)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ spacerItem2 = QtGui.QSpacerItem(200, 51, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridlayout1.addItem(spacerItem2, 5, 1, 1, 1)
+ self.StackedWidget.addWidget(self.page)
+ self.gridlayout.addWidget(self.StackedWidget, 0, 0, 1, 5)
+ self.line_2 = QtGui.QFrame(Dialog)
+ self.line_2.setFrameShape(QtGui.QFrame.HLine)
+ self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_2.setObjectName("line_2")
+ self.gridlayout.addWidget(self.line_2, 1, 0, 1, 4)
+ self.NextButton = QtGui.QPushButton(Dialog)
+ self.NextButton.setObjectName("NextButton")
+ self.gridlayout.addWidget(self.NextButton, 2, 3, 1, 1)
+ self.CancelButton = QtGui.QPushButton(Dialog)
+ self.CancelButton.setObjectName("CancelButton")
+ self.gridlayout.addWidget(self.CancelButton, 2, 4, 1, 1)
+
+ self.retranslateUi(Dialog)
+ self.StackedWidget.setCurrentIndex(0)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "HP Device Manager - Queues diagnose", None, QtGui.QApplication.UnicodeUTF8))
+ if self.Error_msg == QUEUES_PAUSED:
+ self.label.setText(QtGui.QApplication.translate("Dialog", "Print/Fax Queue is Paused", None, QtGui.QApplication.UnicodeUTF8))
+ else:
+ self.label.setText(QtGui.QApplication.translate("Dialog", "Queue needs to be reconfigured", None, QtGui.QApplication.UnicodeUTF8))
+
+ if self.Error_msg == QUEUES_INCORRECT_PPD:
+ text= "'"+ self.printerName + "' is using incorrect PPD file. Do you want to remove and reconfigure queue?"
+ elif self.Error_msg == QUEUES_PAUSED:
+ text="'"+ self.printerName + "' is paused. Do you want to enable queue?"
+ elif self.Error_msg == QUEUES_CONFIG_ERROR:
+ text="'"+ self.printerName + "' is not configured using hp-setup utility. Click 'Next' to remove and reconfigure queue."
+
+ if self.Error_msg != QUEUES_MSG_SENDING:
+ self.TitleLabel.setText(QtGui.QApplication.translate("Dialog", text, None, QtGui.QApplication.UnicodeUTF8))
+ if self.Error_msg == QUEUES_PAUSED or self.Error_msg == QUEUES_INCORRECT_PPD:
+ self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Yes", None, QtGui.QApplication.UnicodeUTF8))
+ self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "No", None, QtGui.QApplication.UnicodeUTF8))
+ else:
+ self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Next >", None, QtGui.QApplication.UnicodeUTF8))
+ self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8))
+
+
+# Ui
+
+class QueuesDiagnose(QDialog, Ui_Dialog):
+ def __init__(self, parent, printerName, device_uri, Error_msg):
+ QDialog.__init__(self, parent)
+ self.result = False
+ self.printerName = printerName
+ self.device_uri = device_uri
+ self.Error_msg = Error_msg
+ self.setupUi(self, printerName, device_uri,Error_msg)
+ self.user_settings = UserSettings()
+ self.user_settings.load()
+ self.user_settings.debug()
+
+ self.initUi()
+
+
+ def initUi(self):
+ # connect signals/slots
+ self.connect(self.CancelButton, SIGNAL("clicked()"), self.CancelButton_clicked)
+ self.connect(self.NextButton, SIGNAL("clicked()"), self.NextButton_clicked)
+
+ # Application icon
+ self.setWindowIcon(QIcon(load_pixmap('hp_logo', '128x128')))
+
+
+ #
+ # Misc
+ #
+ def displayPage(self, page):
+ self.updateStepText(page)
+ self.StackedWidget.setCurrentIndex(page)
+
+ def CancelButton_clicked(self):
+ self.close()
+
+
+ def NextButton_clicked(self):
+ try:
+ if self.Error_msg != QUEUES_PAUSED:
+ cups.delPrinter(self.printerName)
+ msg="' "+self.printerName+" ' removed successfully.\nRe-configuring this printer by hp-setup..."
+ log.debug(msg)
+ path = utils.which('hp-setup')
+ if path:
+ log.debug("Starting hp-setup")
+ utils.run('hp-setup')
+
+ else:
+ cups.enablePrinter(self.printerName)
+ msg ="'"+self.printerName+"' is enabled successfully"
+ SuccessUI(self, self.__tr(msg))
+
+ finally:
+ endWaitCursor()
+ self.result = True
+ self.close()
+
+ def showMessage(self,msg):
+ FailureUI(self, self.__tr(msg))
+
+ def showSuccessMessage(self,msg):
+ SuccessUI(self, self.__tr(msg))
+
+ def __tr(self,s,c = None):
+ return qApp.translate("PluginDialog",s,c)
+
diff --git a/ui4/settingsdialog.py b/ui4/settingsdialog.py
index d15d59bbf..be4e4ec84 100644
--- a/ui4/settingsdialog.py
+++ b/ui4/settingsdialog.py
@@ -40,12 +40,22 @@ class SettingsDialog(QDialog, Ui_SettingsDialog_base):
self.user_settings = UserSettings()
self.user_settings.load()
-
+
+ cur_vers = sys_conf.get('hplip', 'version')
+ last_ver = user_conf.get('upgrade','latest_available_version')
+ if cur_vers != last_ver:
+ upgrade_msg ="Currently HPLIP-%s version is installed.\nLatest HPLIP-%s version is available for installation"%(cur_vers, last_ver)
+ else:
+ upgrade_msg ="HPLIP-%s version is installed"%(cur_vers)
+
self.SystemTraySettings.initUi(self.user_settings.systray_visible,
self.user_settings.polling,
self.user_settings.polling_interval,
self.user_settings.device_list,
- self.user_settings.systray_messages)
+ self.user_settings.systray_messages,
+ self.user_settings.upgrade_notify,
+ self.user_settings.upgrade_pending_update_time,
+ upgrade_msg)
self.updateControls()
diff --git a/ui4/setupdialog.py b/ui4/setupdialog.py
index 2ae55d545..5d3c8eabe 100644
--- a/ui4/setupdialog.py
+++ b/ui4/setupdialog.py
@@ -656,12 +656,12 @@ class SetupDialog(QDialog, Ui_Dialog):
plugin_reason = self.mq.get('plugin-reason', PLUGIN_REASON_NONE)
if plugin > PLUGIN_NONE:
- if not core.check_for_plugin():
+ if core.check_for_plugin() != PLUGIN_INSTALLED:
ok, sudo_ok = pkit.run_plugin_command(plugin == PLUGIN_REQUIRED, plugin_reason)
if not sudo_ok:
FailureUI(self, self.__tr("<b>Unable to find an appropriate su/sudo utiltity to run hp-plugin.</b><p>Install kdesu, gnomesu, or gksu.</p>"))
return
- if not ok or not core.check_for_plugin():
+ if not ok or core.check_for_plugin() != PLUGIN_INSTALLED:
if plugin == PLUGIN_REQUIRED:
FailureUI(self, self.__tr("<b>The printer you are trying to setup requires a binary driver plug-in and it failed to install.</b><p>Please check your internet connection and try again.</p><p>Visit <u>http://hplipopensource.com</u> for more infomation.</p>"))
return
@@ -822,14 +822,14 @@ class SetupDialog(QDialog, Ui_Dialog):
default_model = utils.xstrip(model.replace('series', '').replace('Series', ''), '_')
printer_name = default_model
-
+ installed_printer_names = device.getSupportedCUPSPrinterNames(['hp'])
# Check for duplicate names
- if self.device_uri in self.installed_print_devices and \
- printer_name in self.installed_print_devices[self.device_uri]:
+ if (self.device_uri in self.installed_print_devices and printer_name in self.installed_print_devices[self.device_uri]) \
+ or (printer_name in installed_printer_names):
i = 2
while True:
t = printer_name + "_%d" % i
- if t not in self.installed_print_devices[self.device_uri]:
+ if (t not in installed_printer_names) and (self.device_uri not in self.installed_print_devices or t not in self.installed_print_devices[self.device_uri]):
printer_name += "_%d" % i
break
i += 1
@@ -850,14 +850,14 @@ class SetupDialog(QDialog, Ui_Dialog):
default_model = utils.xstrip(model.replace('series', '').replace('Series', ''), '_')
fax_name = default_model + "_fax"
-
+ installed_fax_names = device.getSupportedCUPSPrinterNames(['hpfax'])
# Check for duplicate names
- if self.fax_uri in self.installed_fax_devices and \
- fax_name in self.installed_fax_devices[self.fax_uri]:
+ if (self.fax_uri in self.installed_fax_devices and fax_name in self.installed_fax_devices[self.fax_uri]) \
+ or (fax_name in installed_fax_names):
i = 2
while True:
t = fax_name + "_%d" % i
- if t not in self.installed_fax_devices[self.fax_uri]:
+ if (t not in installed_fax_names) and (self.fax_uri not in self.installed_fax_devices or t not in self.installed_fax_devices[self.fax_uri]):
fax_name += "_%d" % i
break
i += 1
diff --git a/ui4/systemtray.py b/ui4/systemtray.py
index 9a9f30aaf..957268971 100644
--- a/ui4/systemtray.py
+++ b/ui4/systemtray.py
@@ -74,6 +74,7 @@ HIDE_INACTIVE_DELAY = 5000
BLIP_DELAY = 2000
SET_MENU_DELAY = 1000
MAX_MENU_EVENTS = 10
+UPGRADE_CHECK_DELAY=24*60*60*1000 #1 day
ERROR_STATE_TO_ICON = {
ERROR_STATE_CLEAR: QSystemTrayIcon.Information,
@@ -205,7 +206,14 @@ class HistoryDevice(QObject):
class SystraySettingsDialog(QDialog):
def __init__(self, parent, systray_visible, polling,
polling_interval, systray_messages,
- device_list=None):
+ device_list=None,
+ upgrade_notify=True,
+ upgrade_pending_time=0,
+ upgrade_last_update_time=0,
+ upgrade_msg=""
+ ):
+# upgrade_pending_update_time=0,
+
QDialog.__init__(self, parent)
@@ -219,6 +227,10 @@ class SystraySettingsDialog(QDialog):
self.polling = polling
self.polling_interval = polling_interval
+ self.upgrade_notify =upgrade_notify
+ self.upgrade_last_update_time=upgrade_last_update_time
+ self.upgrade_pending_time=upgrade_pending_time
+ self.upgrade_msg=upgrade_msg
self.initUi()
self.SystemTraySettings.updateUi()
@@ -235,7 +247,10 @@ class SystraySettingsDialog(QDialog):
self.SystemTraySettings.initUi(self.systray_visible,
self.polling, self.polling_interval,
self.device_list,
- self.systray_messages)
+ self.systray_messages,
+ self.upgrade_notify,
+ self.upgrade_pending_time,
+ self.upgrade_msg)
sizePolicy = QSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
@@ -260,6 +275,9 @@ class SystraySettingsDialog(QDialog):
#QMetaObject.connectSlotsByName(self)
self.setWindowTitle(self.__tr("HP Device Manager - System Tray Settings"))
+ self.setWindowIcon(QIcon(load_pixmap('hp_logo', '128x128')))
+# pm = load_pixmap("hp_logo", "32x32")
+# self.prop_icon = QIcon(pm)
def acceptClicked(self):
@@ -268,6 +286,7 @@ class SystraySettingsDialog(QDialog):
self.polling_interval = self.SystemTraySettings.polling_interval
self.device_list = self.SystemTraySettings.device_list
self.systray_messages = self.SystemTraySettings.systray_messages
+ self.upgrade_notify =self.SystemTraySettings.upgrade_notify
self.accept()
@@ -276,6 +295,7 @@ class SystraySettingsDialog(QDialog):
+
class SystemTrayApp(QApplication):
def __init__(self, args, read_pipe):
QApplication.__init__(self, args)
@@ -325,8 +345,14 @@ class SystemTrayApp(QApplication):
self.tray_icon.setIcon(self.prop_active_icon)
self.active_icon = True
+ self.handle_hplip_updation()
QTimer.singleShot(SET_MENU_DELAY, self.initDone)
+ self.timer = QTimer()
+ self.timer.connect(self.timer,SIGNAL("timeout()"),self.handle_hplip_updation)
+ self.timer.start(UPGRADE_CHECK_DELAY)
+
+
def initDone(self):
self.tray_icon.setIcon(self.prop_icon)
@@ -344,6 +370,37 @@ class SystemTrayApp(QApplication):
devices[device_uri].needs_update = True
+ def handle_hplip_updation(self):
+ log.debug("handle_hplip_updation upgrade_notify =%d"%(self.user_settings.upgrade_notify))
+ path = utils.which('hp-upgrade')
+ if self.user_settings.upgrade_notify is False:
+ log.debug("upgrade notification is disabled in systray ")
+ if path:
+ path = os.path.join(path, 'hp-upgrade')
+ log.debug("Running hp-upgrade: %s " % (path))
+ # this just updates the available version in conf file. But won't notify
+ os.spawnlp(os.P_NOWAIT, path, 'hp-upgrade', '--check')
+ return
+
+
+ current_time = time.time()
+
+ if int(current_time) > self.user_settings.upgrade_pending_update_time:
+ path = utils.which('hp-upgrade')
+ if path:
+ path = os.path.join(path, 'hp-upgrade')
+ log.debug("Running hp-upgrade: %s " % (path))
+ os.spawnlp(os.P_NOWAIT, path, 'hp-upgrade', '--notify')
+
+ else:
+ log.error("Unable to find hp-upgrade --notify on PATH.")
+ else:
+ log.debug("upgrade schedule time is not yet completed. schedule time =%d current time =%d " %(self.user_settings.upgrade_pending_update_time, current_time))
+
+
+
+
+
def setMenu(self):
self.menu = QMenu()
@@ -417,16 +474,41 @@ class SystemTrayApp(QApplication):
return
self.sendMessage('', '', EVENT_DEVICE_STOP_POLLING)
+# sys_conf
+ cur_vers = sys_conf.get('hplip', 'version')
+ self.user_settings.load()
+ installed_time =time.strftime("%d-%m-%Y", time.localtime(self.user_settings.upgrade_last_update_time))
+ if utils.Is_HPLIP_older_version(cur_vers, self.user_settings.latest_available_version):
+ if int(time.time()) < self.user_settings.upgrade_pending_update_time :
+ postponed_time =time.strftime("%d-%m-%Y", time.localtime(self.user_settings.upgrade_pending_update_time))
+ upgrade_msg ="HPLIP-%s version was installed on %s.\n\nNew version of HPLIP-%s is available for upgrade. HPLIP upgrade is scheduled on %s." %(cur_vers,installed_time , self.user_settings.latest_available_version, postponed_time)
+ elif self.user_settings.upgrade_last_update_time:
+ upgrade_msg ="HPLIP-%s version was installed on %s.\n\nNew version of HPLIP-%s is available for upgrade." %(cur_vers,installed_time , self.user_settings.latest_available_version)
+ else:
+ upgrade_msg ="HPLIP-%s version was installed.\n\nNew version of HPLIP-%s is available for upgrade." %(cur_vers, self.user_settings.latest_available_version)
+ elif self.user_settings.upgrade_last_update_time:
+ upgrade_msg ="HPLIP-%s version was installed on %s."%(cur_vers, installed_time)
+ else:
+ upgrade_msg ="HPLIP-%s version was installed."%(cur_vers)
+
+
try:
dlg = SystraySettingsDialog(self.menu, self.user_settings.systray_visible,
self.user_settings.polling, self.user_settings.polling_interval,
self.user_settings.systray_messages,
- self.user_settings.polling_device_list)
+ self.user_settings.polling_device_list,
+ self.user_settings.upgrade_notify,
+ self.user_settings.upgrade_pending_update_time,
+ self.user_settings.upgrade_last_update_time,
+ upgrade_msg)
+
if dlg.exec_() == QDialog.Accepted:
self.user_settings.systray_visible = dlg.systray_visible
self.user_settings.systray_messages = dlg.systray_messages
-
+ self.user_settings.upgrade_notify = dlg.upgrade_notify
+
+ log.debug("HPLIP update notification = %d"%(self.user_settings.upgrade_notify))
self.user_settings.save()
if self.user_settings.systray_visible == SYSTRAY_VISIBLE_SHOW_ALWAYS:
diff --git a/ui4/systrayframe.py b/ui4/systrayframe.py
index 27cf0d5c9..5ef84460f 100644
--- a/ui4/systrayframe.py
+++ b/ui4/systrayframe.py
@@ -34,12 +34,17 @@ class SystrayFrame(QFrame):
QFrame.__init__(self, parent)
- def initUi(self, systray_visible, polling, polling_interval, device_list, systray_messages):
+ def initUi(self, systray_visible, polling, polling_interval, device_list, systray_messages,upgrade_notify,
+ upgrade_postpone_time, upgrade_msg):
+
self.systray_visible = systray_visible
self.polling = polling
self.polling_interval = polling_interval
self.device_list = device_list
self.systray_messages = systray_messages
+ self.upgrade_notify = upgrade_notify
+ self.upgrade_postpone_time =upgrade_postpone_time
+ self.upgrade_msg = upgrade_msg
self.gridlayout = QGridLayout(self)
@@ -96,7 +101,27 @@ class SystrayFrame(QFrame):
self.listWidget = QListWidget(self.MonitorGroupBox)
self.gridlayout4.addWidget(self.listWidget,1,0,1,1)
self.gridlayout1.addWidget(self.MonitorGroupBox,1,0,1,2)
+
+
+ #UpdategroupBox is same as "gridlayout5"
+ self.groupBox_4 = QGroupBox(self.frame)
+ self.UpdategroupBox = QGridLayout(self.groupBox_4)
+ self.UpdategroupBox.setObjectName("UpdategroupBox")
+ self.UpdatecheckBox = QCheckBox(self.groupBox_4)
+ self.UpdatecheckBox.setObjectName("UpdatecheckBox")
+ self.UpdategroupBox.addWidget(self.UpdatecheckBox,0,0,1,4)
+ self.label_5 = QLabel(self.groupBox_4)
+ self.label_5.setObjectName("label_5")
+ self.UpdategroupBox.addWidget(self.label_5, 1, 0, 1, 4)
+ self.textEdit = QTextEdit(self.groupBox_4)
+ self.textEdit.setObjectName("textEdit")
+ self.textEdit.setReadOnly(True)
+ self.UpdategroupBox.addWidget(self.textEdit, 2, 0, 1, 4)
+ self.gridlayout1.addWidget(self.groupBox_4,2,0,1,2)
+
self.gridlayout.addWidget(self.frame,0,0,1,1)
+
+
self.setWindowTitle(QApplication.translate("self", "self", None, QApplication.UnicodeUTF8))
self.groupBox_2.setTitle(QApplication.translate("self", "System tray icon visibility", None, QApplication.UnicodeUTF8))
@@ -107,17 +132,35 @@ class SystrayFrame(QFrame):
self.label_2.setText(QApplication.translate("self", "Messages to show:", None, QApplication.UnicodeUTF8))
self.MonitorGroupBox.setTitle(QApplication.translate("self", "Monitor button presses on devices", None, QApplication.UnicodeUTF8))
self.label.setText(QApplication.translate("self", "Devices to monitor:", None, QApplication.UnicodeUTF8))
+
+
+ self.groupBox_4.setTitle(QApplication.translate("Dialog", "Update Settings", None, QApplication.UnicodeUTF8))
+ self.UpdatecheckBox.setText(QApplication.translate("Dialog", "Check and notify HPLIP updates", None, QApplication.UnicodeUTF8))
+ self.label_5.setText(QApplication.translate("Dialog", "Status:", None, QApplication.UnicodeUTF8))
+ self.textEdit.setPlainText(self.upgrade_msg)
+
self.connect(self.ShowAlwaysRadioButton, SIGNAL("clicked(bool)"), self.ShowAlwaysRadioButton_clicked)
self.connect(self.HideWhenInactiveRadioButton, SIGNAL("clicked(bool)"), self.HideWhenInactiveRadioButton_clicked)
self.connect(self.HideAlwaysRadioButton, SIGNAL("clicked(bool)"), self.HideAlwaysRadioButton_clicked)
self.connect(self.MessageShowComboBox, SIGNAL("activated(int)"), self.MessageShowComboBox_activated)
+ self.connect(self.UpdatecheckBox, SIGNAL("clicked(bool)"), self.UpdatecheckBox_clicked)
+
+
+
+ def UpdatecheckBox_clicked(self, b):
+ log.debug("Update HPLIP val =%d "%b)
+ if b is False:
+ self.upgrade_notify = False
+ else:
+ self.upgrade_notify = True
def updateUi(self):
self.updateVisibility()
self.updateMessages()
self.updateDeviceList()
+ self.updateUpgradeSettings()
def updateVisibility(self):
@@ -159,6 +202,14 @@ class SystrayFrame(QFrame):
def updateDeviceList(self):
pass
+ def updateUpgradeSettings(self):
+ if self.upgrade_notify is True:
+ self.UpdatecheckBox.setChecked(True)
+ else:
+ self.UpdatecheckBox.setChecked(False)
+
+
+
def __tr(self, s, c=None):
return QApplication.translate("SystrayFrame", s, c, QApplication.UnicodeUTF8)
diff --git a/ui4/systrayframe_base.py b/ui4/systrayframe_base.py
index d38afaaad..bfb1926bf 100644
--- a/ui4/systrayframe_base.py
+++ b/ui4/systrayframe_base.py
@@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'ui4/systrayframe_base.ui'
#
-# Created: Mon May 4 14:30:37 2009
-# by: PyQt4 UI code generator 4.4.4
+# Created: Fri Jan 27 17:32:25 2012
+# by: PyQt4 UI code generator 4.7.4
#
# WARNING! All changes made in this file will be lost!
@@ -12,55 +12,81 @@ from PyQt4 import QtCore, QtGui
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
- Dialog.resize(500, 540)
+ Dialog.resize(476, 653)
self.gridlayout = QtGui.QGridLayout(Dialog)
self.gridlayout.setObjectName("gridlayout")
self.frame = QtGui.QFrame(Dialog)
self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame.setFrameShadow(QtGui.QFrame.Raised)
self.frame.setObjectName("frame")
- self.gridlayout1 = QtGui.QGridLayout(self.frame)
- self.gridlayout1.setObjectName("gridlayout1")
self.groupBox_2 = QtGui.QGroupBox(self.frame)
+ self.groupBox_2.setGeometry(QtCore.QRect(11, 11, 201, 114))
self.groupBox_2.setObjectName("groupBox_2")
- self.gridlayout2 = QtGui.QGridLayout(self.groupBox_2)
- self.gridlayout2.setObjectName("gridlayout2")
+ self.gridlayout1 = QtGui.QGridLayout(self.groupBox_2)
+ self.gridlayout1.setObjectName("gridlayout1")
self.radioButton = QtGui.QRadioButton(self.groupBox_2)
self.radioButton.setObjectName("radioButton")
- self.gridlayout2.addWidget(self.radioButton, 0, 0, 1, 1)
+ self.gridlayout1.addWidget(self.radioButton, 0, 0, 1, 1)
self.radioButton_2 = QtGui.QRadioButton(self.groupBox_2)
self.radioButton_2.setObjectName("radioButton_2")
- self.gridlayout2.addWidget(self.radioButton_2, 1, 0, 1, 1)
+ self.gridlayout1.addWidget(self.radioButton_2, 1, 0, 1, 1)
self.radioButton_3 = QtGui.QRadioButton(self.groupBox_2)
self.radioButton_3.setObjectName("radioButton_3")
- self.gridlayout2.addWidget(self.radioButton_3, 2, 0, 1, 1)
- self.gridlayout1.addWidget(self.groupBox_2, 0, 0, 1, 1)
+ self.gridlayout1.addWidget(self.radioButton_3, 2, 0, 1, 1)
self.groupBox_3 = QtGui.QGroupBox(self.frame)
+ self.groupBox_3.setGeometry(QtCore.QRect(232, 11, 197, 136))
self.groupBox_3.setObjectName("groupBox_3")
- self.gridlayout3 = QtGui.QGridLayout(self.groupBox_3)
- self.gridlayout3.setObjectName("gridlayout3")
+ self.gridlayout2 = QtGui.QGridLayout(self.groupBox_3)
+ self.gridlayout2.setObjectName("gridlayout2")
self.label_2 = QtGui.QLabel(self.groupBox_3)
self.label_2.setObjectName("label_2")
- self.gridlayout3.addWidget(self.label_2, 0, 0, 1, 1)
+ self.gridlayout2.addWidget(self.label_2, 0, 0, 1, 1)
self.MessageShowComboBox = QtGui.QComboBox(self.groupBox_3)
self.MessageShowComboBox.setObjectName("MessageShowComboBox")
- self.gridlayout3.addWidget(self.MessageShowComboBox, 1, 0, 1, 1)
+ self.gridlayout2.addWidget(self.MessageShowComboBox, 1, 0, 1, 1)
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
- self.gridlayout3.addItem(spacerItem, 2, 0, 1, 1)
- self.gridlayout1.addWidget(self.groupBox_3, 0, 1, 1, 1)
+ self.gridlayout2.addItem(spacerItem, 2, 0, 1, 1)
self.groupBox = QtGui.QGroupBox(self.frame)
+ self.groupBox.setGeometry(QtCore.QRect(10, 385, 411, 241))
self.groupBox.setCheckable(True)
self.groupBox.setObjectName("groupBox")
- self.gridlayout4 = QtGui.QGridLayout(self.groupBox)
- self.gridlayout4.setObjectName("gridlayout4")
- self.label = QtGui.QLabel(self.groupBox)
- self.label.setObjectName("label")
- self.gridlayout4.addWidget(self.label, 0, 0, 1, 1)
+ self.gridlayout3 = QtGui.QGridLayout(self.groupBox)
+ self.gridlayout3.setObjectName("gridlayout3")
self.listWidget = QtGui.QListWidget(self.groupBox)
self.listWidget.setObjectName("listWidget")
- self.gridlayout4.addWidget(self.listWidget, 1, 0, 1, 1)
- self.gridlayout1.addWidget(self.groupBox, 1, 0, 1, 2)
- self.gridlayout.addWidget(self.frame, 0, 0, 1, 1)
+ self.gridlayout3.addWidget(self.listWidget, 4, 0, 1, 1)
+ self.label = QtGui.QLabel(self.groupBox)
+ self.label.setObjectName("label")
+ self.gridlayout3.addWidget(self.label, 3, 0, 1, 1)
+ self.groupBox_4 = QtGui.QGroupBox(self.frame)
+ self.groupBox_4.setGeometry(QtCore.QRect(10, 130, 411, 231))
+ self.groupBox_4.setObjectName("groupBox_4")
+ self.checkBox = QtGui.QCheckBox(self.groupBox_4)
+ self.checkBox.setGeometry(QtCore.QRect(20, 20, 331, 22))
+ self.checkBox.setChecked(True)
+ self.checkBox.setObjectName("checkBox")
+ self.label_3 = QtGui.QLabel(self.groupBox_4)
+ self.label_3.setGeometry(QtCore.QRect(50, 44, 221, 17))
+ self.label_3.setObjectName("label_3")
+ self.spinBox = QtGui.QSpinBox(self.groupBox_4)
+ self.spinBox.setGeometry(QtCore.QRect(270, 40, 55, 27))
+ self.spinBox.setMinimum(1)
+ self.spinBox.setMaximum(365)
+ self.spinBox.setProperty("value", 30)
+ self.spinBox.setObjectName("spinBox")
+ self.label_4 = QtGui.QLabel(self.groupBox_4)
+ self.label_4.setGeometry(QtCore.QRect(329, 45, 67, 17))
+ self.label_4.setObjectName("label_4")
+ self.checkBox_2 = QtGui.QCheckBox(self.groupBox_4)
+ self.checkBox_2.setGeometry(QtCore.QRect(49, 78, 301, 22))
+ self.checkBox_2.setObjectName("checkBox_2")
+ self.textEdit = QtGui.QTextEdit(self.groupBox_4)
+ self.textEdit.setGeometry(QtCore.QRect(50, 129, 331, 81))
+ self.textEdit.setObjectName("textEdit")
+ self.label_5 = QtGui.QLabel(self.groupBox_4)
+ self.label_5.setGeometry(QtCore.QRect(50, 107, 61, 17))
+ self.label_5.setObjectName("label_5")
+ self.gridlayout.addWidget(self.frame, 0, 1, 1, 1)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
@@ -75,4 +101,10 @@ class Ui_Dialog(object):
self.label_2.setText(QtGui.QApplication.translate("Dialog", "Which messages to show:", None, QtGui.QApplication.UnicodeUTF8))
self.groupBox.setTitle(QtGui.QApplication.translate("Dialog", "Monitor button presses on devices", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("Dialog", "Devices to monitor:", None, QtGui.QApplication.UnicodeUTF8))
+ self.groupBox_4.setTitle(QtGui.QApplication.translate("Dialog", "Update Settings", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBox.setText(QtGui.QApplication.translate("Dialog", "Check for HPLIP Updates", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_3.setText(QtGui.QApplication.translate("Dialog", "Repeat Check for Updates every ", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_4.setText(QtGui.QApplication.translate("Dialog", "Days", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBox_2.setText(QtGui.QApplication.translate("Dialog", "Check when ever new version available", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_5.setText(QtGui.QApplication.translate("Dialog", "Status:", None, QtGui.QApplication.UnicodeUTF8))
diff --git a/ui4/systrayframe_base.ui b/ui4/systrayframe_base.ui
index eb8280039..68e2d0d37 100644
--- a/ui4/systrayframe_base.ui
+++ b/ui4/systrayframe_base.ui
@@ -1,115 +1,242 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>Dialog</class>
- <widget class="QDialog" name="Dialog" >
- <property name="geometry" >
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>500</width>
- <height>540</height>
+ <width>476</width>
+ <height>653</height>
</rect>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Dialog</string>
</property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QFrame" name="frame" >
- <property name="frameShape" >
+ <layout class="QGridLayout">
+ <item row="0" column="1">
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
- <property name="frameShadow" >
+ <property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QGroupBox" name="groupBox_2" >
- <property name="title" >
- <string>System tray icon visibility</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QRadioButton" name="radioButton" >
- <property name="text" >
- <string>Always show</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QRadioButton" name="radioButton_2" >
- <property name="text" >
- <string>Hide when inactive</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" >
- <widget class="QRadioButton" name="radioButton_3" >
- <property name="text" >
- <string>Always hide</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QGroupBox" name="groupBox_3" >
- <property name="title" >
- <string>System tray icon messages</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_2" >
- <property name="text" >
- <string>Which messages to show:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QComboBox" name="MessageShowComboBox" />
- </item>
- <item row="2" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Minimum</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="QGroupBox" name="groupBox" >
- <property name="title" >
- <string>Monitor button presses on devices</string>
- </property>
- <property name="checkable" >
- <bool>true</bool>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Devices to monitor:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QListWidget" name="listWidget" />
- </item>
- </layout>
- </widget>
- </item>
- </layout>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="geometry">
+ <rect>
+ <x>11</x>
+ <y>11</y>
+ <width>201</width>
+ <height>114</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>System tray icon visibility</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="radioButton">
+ <property name="text">
+ <string>Always show</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="radioButton_2">
+ <property name="text">
+ <string>Hide when inactive</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QRadioButton" name="radioButton_3">
+ <property name="text">
+ <string>Always hide</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="geometry">
+ <rect>
+ <x>232</x>
+ <y>11</y>
+ <width>197</width>
+ <height>136</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>System tray icon messages</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Which messages to show:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QComboBox" name="MessageShowComboBox"/>
+ </item>
+ <item row="2" column="0">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Minimum</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>385</y>
+ <width>411</width>
+ <height>241</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Monitor button presses on devices</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout">
+ <item row="4" column="0">
+ <widget class="QListWidget" name="listWidget"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Devices to monitor:</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>130</y>
+ <width>411</width>
+ <height>231</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Update Settings</string>
+ </property>
+ <widget class="QCheckBox" name="checkBox">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>20</y>
+ <width>331</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Check for HPLIP Updates</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_3">
+ <property name="geometry">
+ <rect>
+ <x>50</x>
+ <y>44</y>
+ <width>221</width>
+ <height>17</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Repeat Check for Updates every </string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" name="spinBox">
+ <property name="geometry">
+ <rect>
+ <x>270</x>
+ <y>40</y>
+ <width>55</width>
+ <height>27</height>
+ </rect>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>365</number>
+ </property>
+ <property name="value">
+ <number>30</number>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_4">
+ <property name="geometry">
+ <rect>
+ <x>329</x>
+ <y>45</y>
+ <width>67</width>
+ <height>17</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Days</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" name="checkBox_2">
+ <property name="geometry">
+ <rect>
+ <x>49</x>
+ <y>78</y>
+ <width>301</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Check when ever new version available</string>
+ </property>
+ </widget>
+ <widget class="QTextEdit" name="textEdit">
+ <property name="geometry">
+ <rect>
+ <x>50</x>
+ <y>129</y>
+ <width>331</width>
+ <height>81</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_5">
+ <property name="geometry">
+ <rect>
+ <x>50</x>
+ <y>107</y>
+ <width>61</width>
+ <height>17</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Status:</string>
+ </property>
+ </widget>
+ </widget>
</widget>
</item>
</layout>
diff --git a/ui4/ui_utils.py b/ui4/ui_utils.py
index 37074dfcf..c6f453438 100644
--- a/ui4/ui_utils.py
+++ b/ui4/ui_utils.py
@@ -23,6 +23,7 @@
import os.path
import re
import os
+import time
# Local
from base.g import *
@@ -122,6 +123,10 @@ class UserSettings(QSettings):
self.working_dir = '.'
self.voice_phone = ''
self.email_address = ''
+ self.upgrade_notify=True
+ self.upgrade_last_update_time=0
+ self.upgrade_pending_update_time=0
+ self.latest_available_version=""
self.loadDefaults()
@@ -186,6 +191,24 @@ class UserSettings(QSettings):
self.voice_phone = unicode(self.value("voice_phone").toString())
self.email_address = unicode(self.value("email_address").toString())
self.endGroup()
+
+ self.beginGroup("upgrade")
+ self.upgrade_notify= bool(self.value("notify_upgrade").toBool())
+ self.latest_available_version=str(self.value("latest_available_version").toString())
+
+ i, Ok = self.value("last_upgraded_time").toInt()
+ if Ok and i >0:
+ self.upgrade_last_update_time =i
+ else:
+ self.upgrade_last_update_time = 0
+
+ i, Ok = self.value("pending_upgrade_time").toInt()
+ if Ok and i >0 :
+ self.upgrade_pending_update_time = i
+ else:
+ self.upgrade_pending_update_time = 0
+
+ self.endGroup()
def save(self):
@@ -222,6 +245,16 @@ class UserSettings(QSettings):
self.setValue("voice_phone", QVariant(self.voice_phone))
self.setValue("email_address", QVariant(self.email_address))
self.endGroup()
+
+ self.beginGroup("upgrade")
+ self.setValue("notify_upgrade", QVariant(self.upgrade_notify))
+ if self.upgrade_last_update_time <1:
+ self.upgrade_last_update_time = time.time() # <---Need to verify code once
+
+ self.setValue("last_upgraded_time", QVariant(self.upgrade_last_update_time))
+ self.setValue("pending_upgrade_time", QVariant(self.upgrade_pending_update_time))
+ self.endGroup()
+
self.sync()
diff --git a/ui4/upgradedialog.py b/ui4/upgradedialog.py
new file mode 100644
index 000000000..c747ff3c0
--- /dev/null
+++ b/ui4/upgradedialog.py
@@ -0,0 +1,127 @@
+# -*- coding: utf-8 -*-
+#
+# (c) Copyright 2001-2011 Hewlett-Packard Development Company, L.P.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Authors: Amarnath Chitumalla
+#
+
+#Global
+import os
+import time
+
+# Local
+from base.g import *
+from base import device, utils, pkit
+from ui_utils import *
+
+# Qt
+from PyQt4.QtCore import *
+from PyQt4.QtGui import *
+
+# Ui
+from upgradedialog_base import Ui_Dialog
+
+MANUAL_INSTALL_LINK = "http://hplipopensource.com/hplip-web/install/manual/index.html"
+
+
+class UpgradeDialog(QDialog, Ui_Dialog):
+ def __init__(self, parent, distro_tier, msg):
+ QDialog.__init__(self, parent)
+ self.distro_tier = distro_tier
+ self.msg = msg
+ self.result = False
+ self.setupUi(self, distro_tier, msg)
+ self.initUi()
+
+
+ def initUi(self):
+ # connect signals/slots
+ self.connect(self.NextButton, SIGNAL("clicked()"), self.NextButton_clicked)
+ self.connect(self.CancelButton, SIGNAL("clicked()"), self.CancelButton_clicked)
+# self.connect (self.comboBox, SIGNAL ("currentIndexChanged (const QString&)"), self.slotIndexChanged)
+ self.connect(self.installRadioBtton, SIGNAL("toggled(bool)"), self.installRadioBtton_toggled)
+ self.connect(self.remindRadioBtton, SIGNAL("toggled(bool)"), self.remindRadioBtton_toggled)
+ self.connect(self.dontRemindRadioBtton, SIGNAL("toggled(bool)"), self.dontRemindRadioBtton_toggled)
+
+ # Application icon
+ self.setWindowIcon(QIcon(load_pixmap('hp_logo', '128x128')))
+
+
+ def installRadioBtton_toggled(self, radio_enabled):
+ if radio_enabled is True:
+ self.installRadioBtton.setChecked(True)
+ else:
+ self.installRadioBtton.setChecked(False)
+
+
+ def remindRadioBtton_toggled(self, radio_enabled):
+ if radio_enabled is True:
+ self.remindRadioBtton.setChecked(True)
+ self.daysSpinBox.setEnabled(True)
+ else:
+ self.remindRadioBtton.setChecked(False)
+ self.daysSpinBox.setEnabled(False)
+
+
+ def dontRemindRadioBtton_toggled(self, radio_enabled):
+ if radio_enabled is True:
+ self.dontRemindRadioBtton.setChecked(True)
+ else:
+ self.dontRemindRadioBtton.setChecked(False)
+
+
+ def NextButton_clicked (self):
+ if self.dontRemindRadioBtton.isChecked():
+ log.debug("HPLIP Upgrade, selected Don't remind again radiobutton")
+ user_conf.set('upgrade', 'notify_upgrade', 'false')
+ msg= "Check for HPLIP updates is disabled. To enable it again, change 'Settings' in 'HP systemtray' "
+ SuccessUI(self, self.__tr(msg))
+
+ elif self.remindRadioBtton.isChecked():
+ schedule_days = str(self.daysSpinBox.value())
+ log.debug("HPLIP Upgrade, selected remind later radiobutton days= %d" %(int(schedule_days)))
+ next_time = time.time() + (int(schedule_days) *24 * 60 *60)
+ user_conf.set('upgrade', 'pending_upgrade_time', str(int(next_time)))
+ else:
+ log.debug("HPLIP Upgrade, selected Install radiobutton distro_type=%d" %self.distro_tier)
+ self.NextButton.setEnabled(False)
+ if self.distro_tier != 1: # not tier 1 distro
+ log.debug("OK pressed for tier 2 distro pressed")
+ utils.openURL(MANUAL_INSTALL_LINK)
+
+ ## TBD::open browser
+ else:
+ terminal_cmd = utils.get_terminal()
+ if terminal_cmd is not None and utils.which("hp-upgrade"):
+ cmd = terminal_cmd + " 'hp-upgrade'"
+ log.debug("cmd = %s " %cmd)
+ os.system(cmd)
+ self.result = True
+ else:
+ log.error("Failed to run hp-upgrade command from terminal =%s "%terminal_cmd)
+ ErrorUI(self, self.__tr("Failed to run hp-upgrade"))
+
+ self.close()
+
+
+ def CancelButton_clicked(self):
+ log.debug("User exit")
+ self.close()
+
+ def __tr(self,s,c = None):
+ return qApp.translate("UpgradeDialog",s,c)
+
diff --git a/ui4/upgradedialog_base.py b/ui4/upgradedialog_base.py
new file mode 100644
index 000000000..2486f553c
--- /dev/null
+++ b/ui4/upgradedialog_base.py
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'upgradedialog_base.ui'
+#
+# Created: Thu Feb 9 18:16:03 2012
+# by: PyQt4 UI code generator 4.7.4
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog, distro_tier,msg):
+ self.distro_tier = distro_tier
+ self.msg= msg
+ Dialog.setObjectName("Dialog")
+ Dialog.resize(369, 205)
+ self.centralwidget = QtGui.QWidget(Dialog)
+ self.centralwidget.setObjectName("centralwidget")
+ self.MainLabel = QtGui.QLabel(self.centralwidget)
+ self.MainLabel.setGeometry(QtCore.QRect(10, 10, 351, 51))
+ self.MainLabel.setObjectName("MainLabel")
+ self.installRadioBtton = QtGui.QRadioButton(self.centralwidget)
+ self.installRadioBtton.setGeometry(QtCore.QRect(10, 65, 350, 22))
+ self.installRadioBtton.setChecked(True)
+ self.installRadioBtton.setObjectName("installRadioBtton")
+ self.remindRadioBtton = QtGui.QRadioButton(self.centralwidget)
+ self.remindRadioBtton.setGeometry(QtCore.QRect(10, 96, 141, 22))
+ self.remindRadioBtton.setObjectName("remindRadioBtton")
+ self.dontRemindRadioBtton = QtGui.QRadioButton(self.centralwidget)
+ self.dontRemindRadioBtton.setGeometry(QtCore.QRect(10, 126, 161, 22))
+ self.dontRemindRadioBtton.setObjectName("dontRemindRadioBtton")
+ self.daysSpinBox = QtGui.QSpinBox(self.centralwidget)
+ self.daysSpinBox.setGeometry(QtCore.QRect(152, 94, 55, 27))
+ self.daysSpinBox.setMinimum(1)
+ self.daysSpinBox.setMaximum(365)
+ self.daysSpinBox.setEnabled(False)
+ self.daysSpinBox.setObjectName("daysSpinBox")
+ self.DaysLabel = QtGui.QLabel(self.centralwidget)
+ self.DaysLabel.setGeometry(QtCore.QRect(211, 98, 67, 21))
+ self.DaysLabel.setObjectName("DaysLabel")
+ self.CancelButton = QtGui.QPushButton(self.centralwidget)
+ self.CancelButton.setGeometry(QtCore.QRect(270, 160, 91, 31))
+ self.CancelButton.setObjectName("CancelButton")
+ self.NextButton = QtGui.QPushButton(self.centralwidget)
+ self.NextButton.setGeometry(QtCore.QRect(159, 160, 96, 31))
+ self.NextButton.setObjectName("NextButton")
+ self.retranslateUi(Dialog)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "HP Upgrade Manager", None, QtGui.QApplication.UnicodeUTF8))
+ self.MainLabel.setText(QtGui.QApplication.translate("Dialog", self.msg, None, QtGui.QApplication.UnicodeUTF8))
+ self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8))
+ self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Ok", None, QtGui.QApplication.UnicodeUTF8))
+ if self.distro_tier == 1:
+ self.installRadioBtton.setText(QtGui.QApplication.translate("Dialog", "Download and Install", None, QtGui.QApplication.UnicodeUTF8))
+ else:
+ self.installRadioBtton.setText(QtGui.QApplication.translate("Dialog", "Follow steps from www.hplip.net", None, QtGui.QApplication.UnicodeUTF8))
+ self.remindRadioBtton.setText(QtGui.QApplication.translate("Dialog", "Remind me after", None, QtGui.QApplication.UnicodeUTF8))
+ self.dontRemindRadioBtton.setText(QtGui.QApplication.translate("Dialog", "Don\'t remind again", None, QtGui.QApplication.UnicodeUTF8))
+ self.DaysLabel.setText(QtGui.QApplication.translate("Dialog", "days", None, QtGui.QApplication.UnicodeUTF8))
diff --git a/ui4/upgradedialog_base.ui b/ui4/upgradedialog_base.ui
new file mode 100644
index 000000000..15737527a
--- /dev/null
+++ b/ui4/upgradedialog_base.ui
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>369</width>
+ <height>239</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <widget class="QPushButton" name="pushButton_2">
+ <property name="geometry">
+ <rect>
+ <x>270</x>
+ <y>160</y>
+ <width>91</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>OK</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="pushButton">
+ <property name="geometry">
+ <rect>
+ <x>159</x>
+ <y>160</y>
+ <width>96</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" name="radioButton">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>65</y>
+ <width>181</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Download and Install</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" name="radioButton_2">
+ <property name="geometry">
+ <rect>
+ <x>8</x>
+ <y>96</y>
+ <width>141</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Remind me after</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" name="radioButton_3">
+ <property name="geometry">
+ <rect>
+ <x>9</x>
+ <y>126</y>
+ <width>161</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Don't remind again</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" name="spinBox">
+ <property name="geometry">
+ <rect>
+ <x>152</x>
+ <y>94</y>
+ <width>55</width>
+ <height>27</height>
+ </rect>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>365</number>
+ </property>
+ <property name="value">
+ <number>30</number>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label">
+ <property name="geometry">
+ <rect>
+ <x>211</x>
+ <y>98</y>
+ <width>67</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>days</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_2">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>10</y>
+ <width>351</width>
+ <height>51</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>New version of HPLIP-X.X.X is available.
+Do you want to install</string>
+ </property>
+ </widget>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>369</width>
+ <height>27</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/ui4/wifisetupdialog.py b/ui4/wifisetupdialog.py
index 7fd232c62..95ea617ac 100644
--- a/ui4/wifisetupdialog.py
+++ b/ui4/wifisetupdialog.py
@@ -86,10 +86,12 @@ class WifiSetupDialog(QDialog, Ui_Dialog):
self.adapterName = 'Wifi0'
self.wifiObj = wifi
- if self.device_uri is None:
- QTimer.singleShot(0, self.showIntroPage)
- else:
- QTimer.singleShot(0, self.showNetworkPage)
+ #if self.device_uri is None:
+ # QTimer.singleShot(0, self.showIntroPage)
+ #else:
+ # QTimer.singleShot(0, self.showNetworkPage)
+
+ QTimer.singleShot(0, self.showIntroPage)
#
@@ -685,6 +687,7 @@ class WifiSetupDialog(QDialog, Ui_Dialog):
if row != -1:
self.device_uri = self.DevicesTableWidget.item(row, 0).device_uri
self.mq = device.queryModelByURI(self.device_uri)
+
self.getWifiObject(self.mq['wifi-config'])
back_end, is_hp, bus, model, serial, dev_file, host, zc, port = device.parseDeviceURI(self.device_uri)
self.model = models.normalizeModelName(model).lower()
diff --git a/uninstall.py b/uninstall.py
new file mode 100755
index 000000000..8b940a859
--- /dev/null
+++ b/uninstall.py
@@ -0,0 +1,132 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#
+# (c) Copyright 2011-2014 Hewlett-Packard Development Company, L.P.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Author: Amarnath Chitumalla
+#
+
+__version__ = '1.0'
+__title__ = 'HPLIP Uninstaller'
+__mod__ = 'hp-uninstall'
+__doc__ = "Uninstaller for HPLIP ."
+
+# Std Lib
+import getopt, os, sys, re, time
+
+# Local
+from base.g import *
+from base import utils, tui
+from installer.core_install import *
+
+
+USAGE = [(__doc__, "", "name", True),
+ ("Usage: %s [OPTIONS]" % __mod__, "", "summary", True),
+ utils.USAGE_SPACE,
+ utils.USAGE_OPTIONS,
+ utils.USAGE_LOGGING1, utils.USAGE_LOGGING2, utils.USAGE_LOGGING3,
+ ("Non-interactive mode:", "-n (without asking for permission)","option",False),
+ utils.USAGE_HELP,
+ ]
+
+
+def usage(typ='text'):
+ if typ == 'text':
+ utils.log_title(__title__, __version__)
+
+ utils.format_text(USAGE, typ, __title__, __mod__, __version__)
+ sys.exit(0)
+
+mode = INTERACTIVE_MODE
+auto = False
+log_level = None
+
+
+
+log.set_module(__mod__)
+
+
+try:
+ opts, args = getopt.getopt(sys.argv[1:], 'hl:gn',
+ ['help', 'help-rest', 'help-man', 'help-desc', 'gui', 'lang=','logging=', 'debug'])
+
+except getopt.GetoptError, e:
+ log.error(e.msg)
+ usage()
+ sys.exit(1)
+
+if os.getenv("HPLIP_DEBUG"):
+ log.set_level('debug')
+
+for o, a in opts:
+ if o in ('-h', '--help'):
+ usage()
+
+ elif o == '--help-rest':
+ usage('rest')
+
+ elif o == '--help-man':
+ usage('man')
+
+ elif o in ('-q', '--lang'):
+ language = a.lower()
+
+ elif o == '--help-desc':
+ print __doc__,
+ sys.exit(0)
+
+ elif o in ('-l', '--logging'):
+ log_level = a.lower().strip()
+# if not log.set_level(log_level):
+# usage()
+
+ elif o in ('-g', '--debug'):
+ log_level = 'debug'
+# log.set_level('debug')
+
+ elif o == '-n':
+ mode = NON_INTERACTIVE_MODE
+
+
+if log_level is not None:
+ if not log.set_level(log_level):
+ usage()
+
+log_file = os.path.normpath('/var/log/hp/hplip-uninstall.log')
+if os.getuid() != 0:
+ log.error("To run 'hp-uninstall' utility, you must have root privileges.(Try using 'sudo' or 'su -c')")
+ sys.exit(1)
+
+if os.path.exists(log_file):
+ os.remove(log_file)
+
+log.set_logfile(log_file)
+log.set_where(log.LOG_TO_CONSOLE_AND_FILE)
+
+log.debug("Log file=%s" % log_file)
+log.debug("euid = %d" % os.geteuid())
+
+utils.log_title(__title__, __version__, True)
+
+log.info("Uninstaller log saved in: %s" % log.bold(log_file))
+log.info("")
+
+core = CoreInstall(MODE_CHECK, INTERACTIVE_MODE)
+core.init()
+
+core.uninstall(mode)
+
diff --git a/upgrade.py b/upgrade.py
new file mode 100755
index 000000000..11f303a77
--- /dev/null
+++ b/upgrade.py
@@ -0,0 +1,365 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#
+# (c) Copyright 2011-2014 Hewlett-Packard Development Company, L.P.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Author: Amarnath Chitumalla
+#
+
+__version__ = '1.0'
+__title__ = 'HPLIP upgrade latest version'
+__mod__ = 'hp-upgrade'
+__doc__ = "HPLIP installer to upgrade to latest version."
+
+# Std Lib
+import getopt, os, sys, re, time
+
+# Local
+from base.g import *
+from base import utils, tui, module
+from installer.core_install import *
+
+
+
+USAGE = [(__doc__, "", "name", True),
+ ("Usage: %s [OPTIONS]" % __mod__, "", "summary", True),
+ utils.USAGE_SPACE,
+ utils.USAGE_MODE,
+ ("Run in interactive mode:", "-i or --interactive (Default)", "option", False),
+ ("Run in graphical UI mode:", "-u or --gui (future use)", "option", False),
+ utils.USAGE_SPACE,
+ utils.USAGE_OPTIONS,
+ utils.USAGE_HELP,
+ utils.USAGE_LOGGING1, utils.USAGE_LOGGING2, utils.USAGE_LOGGING3,
+ ("Check for update and notify:","--notify","option",False),
+ ("Check only available version:","--check","option",False),
+ ("Non-interactive mode:","-n(Without asking permissions)(future use)","option",False),
+ ("Download Path to install from local system:","-p<path>","option", False),
+ ("Download HPLIP package location:","-d<path> (default location /tmp/)","option", False),
+ ("Override existing HPLIP installation even if latest vesrion is installed:","-o","option",False),
+ ("Take options from the file instead of command line:","-f<file> (future use)","option",False)
+ ]
+
+def usage(typ='text'):
+ if typ == 'text':
+ utils.log_title(__title__, __version__)
+
+ utils.format_text(USAGE, typ, __title__, __mod__, __version__)
+ sys.exit(0)
+
+def clean_exit(code=0, waitTerminal=True):
+ change_spinner_state(True)
+ mod.unlockInstance()
+ if CHECKING_ONLY is False and NOTIFY is False and waitTerminal is True:
+ uInput = raw_input("\npress enter to quit.")
+ sys.exit(code)
+
+
+def parse_HPLIP_version(hplip_version_file, pat):
+ ver = "0.0.0"
+ if not os.path.exists(hplip_version_file):
+ return ver
+
+ try:
+ fp= file(hplip_version_file, 'r')
+ except IOError:
+ log.error("Failed to get hplip version since %s file is not found."%hplip_version_file)
+ return ver
+# pat = re.compile(r"""HPLIP (.*) Public Release""")
+ data = fp.read()
+ for line in data.splitlines():
+ if pat.search(line):
+ ver = pat.search(line).group(1)
+ break
+
+ log.debug("Latest HPLIP version = %s." % ver)
+ return ver
+
+
+log.set_module(__mod__)
+
+mode = INTERACTIVE_MODE
+auto = False
+HPLIP_PATH=None
+TEMP_PATH="/tmp/"
+FORCE_INSTALL=False
+CHECKING_ONLY=False
+NOTIFY=False
+HPLIP_SOURCEFORGE_SITE = "http://feed2js.org/feed2js.php?src=http%3A%2F%2Fsourceforge.net%2Fexport%2Frss2_projnews.php%3Fgroup_id%3D149981"
+HPLIP_WEB_SITE ="http://hplipopensource.com/hplip-web/index.html"
+
+try:
+ mod = module.Module(__mod__, __title__, __version__, __doc__, USAGE,
+ (INTERACTIVE_MODE, GUI_MODE),
+ (UI_TOOLKIT_QT3, UI_TOOLKIT_QT4), True, True)
+
+ opts, device_uri, printer_name, mode, ui_toolkit, loc = \
+ mod.parseStdOpts('hl:gniup:d:of:', ['notify','check','help', 'help-rest', 'help-man', 'help-desc', 'interactive', 'gui', 'lang=','logging=', 'debug'],
+ handle_device_printer=False)
+
+
+
+ mod.lockInstance()
+except getopt.GetoptError, e:
+ log.error(e.msg)
+ usage()
+# sys.exit(1)
+
+if os.getenv("HPLIP_DEBUG"):
+ log.set_level('debug')
+
+for o, a in opts:
+ if o in ('-h', '--help'):
+ usage()
+
+ elif o == '--help-rest':
+ usage('rest')
+
+ elif o == '--help-man':
+ usage('man')
+
+ elif o in ('-q', '--lang'):
+ language = a.lower()
+
+ elif o == '--help-desc':
+ print __doc__,
+ clean_exit(0,False)
+
+ elif o in ('-l', '--logging'):
+ log_level = a.lower().strip()
+ if not log.set_level(log_level):
+ usage()
+
+ elif o in ('-g', '--debug'):
+ log.set_level('debug')
+
+ elif o == '-n':
+ mode = NON_INTERACTIVE_MODE
+ log.info("NON_INTERACTIVE mode is not yet supported.")
+ usage()
+ clean_exit(0,False)
+
+ elif o == '-p':
+ HPLIP_PATH=a
+
+ elif o == '-d':
+ TEMP_PATH=a
+
+ elif o == '-o':
+ FORCE_INSTALL = True
+
+ elif o in ('-u', '--gui'):
+ log.info("GUI is not yet supported.")
+ usage()
+ clean_exit(0, False)
+ elif o == '--check':
+ CHECKING_ONLY = True
+ elif o == '--notify':
+ NOTIFY = True
+ elif o == '-f':
+ log.info("Option from file is not yet supported")
+ usage()
+ clean_exit(0, False)
+
+if not NOTIFY and not CHECKING_ONLY:
+ mod.quiet= False
+ mod.showTitle()
+
+log_file = os.path.normpath('/var/log/hp/hp-upgrade.log')
+
+if os.path.exists(log_file):
+ os.remove(log_file)
+
+log.set_logfile(log_file)
+log.set_where(log.LOG_TO_CONSOLE_AND_FILE)
+
+
+log.debug("Upgrade log saved in: %s" % log.bold(log_file))
+log.debug("")
+try:
+ change_spinner_state(False)
+ core = CoreInstall(MODE_CHECK)
+# core.init()
+ if not core.check_network_connection():
+ log.error("Either Internet is not working or Wget is not installed.")
+ clean_exit(0)
+
+ installed_version=sys_conf.get("hplip","version","0.0.0")
+ log.debug("HPLIP previous installed version =%s." %installed_version)
+
+
+
+ HPLIP_latest_ver="0.0.0"
+ # get HPLIP version info from sourceforge
+ pat = re.compile(r"""HPLIP (.*) Public Release""")
+ sts, HPLIP_Ver_file = utils.download_from_network(HPLIP_SOURCEFORGE_SITE)
+ if sts is True:
+ HPLIP_latest_ver = parse_HPLIP_version(HPLIP_Ver_file, pat)
+
+ # get HPLIP version info from hplip site
+ if HPLIP_latest_ver == "0.0.0": ## if failed to connect the sourceforge site, then check HPLIP site.
+ pat = re.compile(r"""The current version of the HPLIP solution is version (.*)\. \(.*""")
+ sts, HPLIP_Ver_file = utils.download_from_network(HPLIP_WEB_SITE)
+ if sts is True:
+ HPLIP_latest_ver = parse_HPLIP_version(HPLIP_Ver_file, pat)
+
+ if HPLIP_latest_ver == "0.0.0":
+ log.error("Failed to get latest version of HPLIP.")
+ clean_exit(0)
+
+
+ if CHECKING_ONLY is True:
+ user_conf.set('upgrade','latest_available_version',HPLIP_latest_ver)
+ log.debug("Available HPLIP version =%s."%HPLIP_latest_ver)
+ elif NOTIFY is True:
+ user_conf.set('upgrade','latest_available_version',HPLIP_latest_ver)
+ if not utils.Is_HPLIP_older_version(installed_version, HPLIP_latest_ver):
+ log.debug("Latest version of HPLIP is already installed.")
+ else:
+
+ msg = "Latest version of HPLIP-%s is available."%HPLIP_latest_ver
+ if core.is_auto_installer_support():
+ distro_type= 1
+ else:
+ distro_type= 2
+
+
+ if ui_toolkit == 'qt3':
+ if not utils.canEnterGUIMode():
+ log.error("%s requires GUI support. Is Qt3 Installed?.. Exiting." % __mod__)
+ clean_exit(1)
+
+ try:
+ from qt import *
+ from ui.upgradeform import UpgradeForm
+ except ImportError:
+ log.error("Unable to load Qt3 support. Is it installed? ")
+ clean_exit(1)
+
+
+ # create the main application object
+ app = QApplication(sys.argv)
+ QObject.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
+ dialog = UpgradeForm(None, "",0,0,distro_type, msg)
+ dialog.show()
+
+ log.debug("Starting GUI loop...")
+ app.exec_loop()
+
+
+ else: #qt4
+ if not utils.canEnterGUIMode4():
+ log.error("%s requires GUI support . Is Qt4 installed?.. Exiting." % __mod__)
+ clean_exit(1)
+
+ try:
+ from PyQt4.QtGui import QApplication, QMessageBox
+ from ui4.upgradedialog import UpgradeDialog
+ except ImportError:
+ log.error("Unable to load Qt4 support. Is it installed?")
+ clean_exit(1)
+
+ app = QApplication(sys.argv)
+ dialog = UpgradeDialog(None, distro_type, msg)
+
+
+ dialog.show()
+ log.debug("Starting GUI loop...")
+ app.exec_()
+
+ else:
+ if FORCE_INSTALL is False:
+ if utils.Is_HPLIP_older_version(installed_version, HPLIP_latest_ver):
+ ok,choice = tui.enter_choice("\nPress 'y' to continue to upgrade HPLIP-%s (y=yes*, n=no):"%HPLIP_latest_ver, ['y','n'],'y')
+ if not ok or choice == 'n':
+ clean_exit(0, False)
+ else:
+ log.info("Latest version of HPLIP is already installed.")
+ clean_exit(0,False)
+
+ # check distro information.
+ if not core.is_auto_installer_support():
+ log.info("Please install HPLIP manually as mentioned in 'http://hplipopensource.com/hplip-web/install/manual/index.html' site")
+ clean_exit(0)
+
+ # check systray is running?
+ status,output = utils.Is_Process_Running('hp-systray')
+ if status is True:
+ ok,choice = tui.enter_choice("\nSome HPLIP applications are running. Press 'y' to close applications or press 'n' to quit upgrade(y=yes*, n=no):",['y','n'],'y')
+ if not ok or choice =='n':
+ log.info("Manually close HPLIP applications and run hp-upgrade again.")
+ clean_exit(0, False)
+
+ try:
+ # dBus
+ #import dbus
+ from dbus import SystemBus, lowlevel
+ except ImportError:
+ log.error("Unable to load DBus.")
+ pass
+ else:
+ try:
+ args = ['', '', EVENT_SYSTEMTRAY_EXIT, prop.username, 0, '', '']
+ msg = lowlevel.SignalMessage('/', 'com.hplip.StatusService', 'Event')
+ msg.append(signature='ssisiss', *args)
+ log.debug("Sending close message to hp-systray ...")
+ SystemBus().send_message(msg)
+ time.sleep(0.5)
+ except:
+ log.error("Failed to send DBus message to hp-systray/hp-toolbox.")
+ pass
+
+
+ toolbox_status,output = utils.Is_Process_Running('hp-toolbox')
+# systray_status,output = utils.Is_Process_Running('hp-systray')
+ if toolbox_status is True:
+ log.error("Failed to close either HP-Toolbox/HP-Systray. Manually close and run hp-upgrade again.")
+ clean_exit(0)
+
+
+ if HPLIP_PATH is not None:
+ if os.path.exists(HPLIP_PATH):
+ download_file = HPLIP_PATH
+ else:
+ log.error("%s file is not present. Downloading from Net..." %HPLIP_PATH)
+ HPLIP_PATH = None
+
+ if HPLIP_PATH is None:
+ url="http://sourceforge.net/projects/hplip/files/hplip/%s/hplip-%s.run/download" %(HPLIP_latest_ver, HPLIP_latest_ver)
+ download_file = None
+ if TEMP_PATH:
+ download_file = "%s/hplip-%s.run" %(TEMP_PATH,HPLIP_latest_ver)
+ log.info("Downloading hplip-%s.run file..... Please wait. "%HPLIP_latest_ver )
+ sts,download_file = utils.download_from_network(url, download_file, True)
+
+ if not os.path.exists(download_file):
+ log.error("Failed to download %s file."%download_file)
+ clean_exit()
+
+ # Installing hplip run.
+ cmd = "sh %s" %(download_file)
+ log.debug("Upgrading %s and cmd =%s " %(download_file, cmd))
+ os.system(cmd)
+
+ change_spinner_state(True)
+ mod.unlockInstance()
+# log.info("HPLIP upgrade is completed")
+except KeyboardInterrupt:
+ change_spinner_state(True)
+ mod.unlockInstance()
+ log.error("User exit")
+