-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathChangeLog
5257 lines (3673 loc) · 200 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2020-01-31 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Allow non-integer numbers in the "PageSize"
option in PPD files. Thanks to Andreas Gruenbacher (agruenba at
redhat dot com) for the patch (Pull request #1).
2015-06-16 Till Kamppeter <till.kamppeter@gmail.com>
* configure.ac: Allow user-configurable PERLPREFIX via environment
variable (Bug #1294).
2014-11-14 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppdfile.in: Foomatic doesn't provide some offered PPD
files. Thanks to Marek Kasik for the patch (bug #1238).
2014-08-22 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppd-to-xml.in: Let missing XML files be added when to a
PPD with already existing XML files new "*Product:" lines get
added.
* lib/Foomatic/filters/xml/to.pm: Silenced warnings about
uninitialized strings.
2014-03-20 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Do not interpret option default values set to
"0" in PPD files as no default setting defined. Thanks to Deng
Pang from Ricoh (DengPang at rst dot ricoh dot com) for the report.
2014-01-02 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-addpjloptions.in: Make foomatic-addpjloptions work with
the system's Foomatic database, too.
2013-03-11 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Error out when initializing the DB object
without any form of a Foomatic database being present, made
the getpage() method a normal, object-independent function as
it does not need a Foomatic database.
* foomatic-configure.in, foomatic-printjob.in: Updated to use
getpage() as a normal function, fixed CUPS check, made
foomatic-printjob working without presence of a Foomatic
database.
2012-02-15 Daniel Dressler <danieru.dressler@gmail.com>
* lib/Foomatic/filters/sql/from.pm: Finished support for
pulling options from the sql database.
* ChangeLog: Fixed spacing in last five commit comments.
2012-02-14 Daniel Dressler <danieru.dressler@gmail.com>
* lib/Foomatic/filters/sql/from.pm: Added support
for the option_choice_translation and
options_translation table. Refactored existing code.
2012-02-09 Daniel Dressler <danieru.dressler@gmail.com>
* lib/Foomatic/filters/sql/from.pm: Added support
for the option_choice table.
2012-02-05 Daniel Dressler <danieru.dressler@gmail.com>
* lib/Foomatic/filters/xml/to.pm, lib/Foomatic/DB.pm:
Moved xml generation functionality to filter.
* lib/Foomatic/DB.pm: Typo fix.
* lib/Foomatic/filters/xml/to.pm: Fixed indentation.
2012-01-30 Daniel Dressler <danieru.dressler@gmail.com>
* lib/Foomatic/filters/sql/from.pm: Added initial pull_option()
loop. So far only pulls basic data from the sql db.
* lib/Foomatic/filters/sql/to.pm: Fixed bug where style
was not getting set if the style was "forced_composite"
Removed redundent commit that sqlite was complaing about.
* lib/Fooamtic/DB.pm: Cleaned up get_driver(), get_option(),
and get_printer() unifying them with a control flow with
early returns.
2012-01-07 Daniel Dressler <danieru.dressler@gmail.com>
* lib/Foomatic/(sqlLayer.pm|xmlParse.pm|phonebook.pm):
Subdivided these into categories under
lib/Foomatic/filters/*/ thus reducing clutter. I'm working on
refactoring (or at least moving arround) to get DB.pm down to
a managable size.
* lib/Foomatic/DB.pm, foomatic-xml-to-sqlite.in:
Changed refernces to the above files to match their new homes.
* foomatic-compiledb.in: Removed killing of childern threads.
This speeds up generating the ppd db by letting the cache fill
with drivers and options.
Achived a complete ppd build in ~4 minutes using a child worker
thread for each core of my early 2009 quad core amd.
Should be noted that the c xml parers had no caching so this
speed up does not work in 4 series foomatic.
2012-01-06 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Fixed typo in get_combo_data_from_sql_db()
method.
2012-01-06 Jeff Licquia <licquia@linuxfoundation.org>
* lib/Foomatic/DB.pm: Optimized regexps in the normalize() function
and removed unneeded calls of normalize(), vastly improving speed
of printer search operations, as they are done for queries via
the web query API on the OpenPrinting web server.
2011-12-23 Daniel Dressler <danieru.dressler@gmail.com>
* foomatic-test-build.in: finished this test script.
The script has already helped, turns out I had a error
in my standard build process that meant I wasn't
actaully building the new sources. I whiched foomatic-
test-build to use the standard perl option parsing
functions.
2011-12-17 Daniel Dressler <danieru.dressler@gmail.com>
* unit-test/: I'm reverting my addition of this folder.
I do not want to mess with the build script. Maybe
sometime when I am more familiar with the scripts I'll
feel safe adding a new directory.
* foomatic-test-build.ln: added work in progress automated
build script. Will make the write&test process faster.
* configure.ac, Makefile.in: Reflected file moves. Moved
the scripts I wrote into the admin scripts section.
2011-12-11 Daniel Dressler <danieru.dressler@gmail.com>
* configure.ac: I missed a configuration change in last commit.
The verify xml script did not have its location changed in
configure.ac. Apologies to Yuji Saito who caught my mistake.
2011-12-10 Daniel Dressler <danieru.dressler@gmail.com>
* ./unit-tests/: Added a unit test directory. In preparation for
get_option() I want to bring the unit tests I wrote over the summer
into mainline. get_option() will of course require another unit test.
* foomatic-verify-xml.in: Moved into ./unit-tests/.
2011-08-15 Daniel Dressler <danieru.dressler@gmail.com>
* DB.pm: Removed debug code, added note about get_option missing support
for sql backend.
2011-08-15 Daniel Dressler <danieru.dressler@gmail.com>
* phonebook.pm: Added elements for sql support, added sql schema
* sqlLayer.pm: Initial commit from dev branch:
https://launchpad.net/gsoc2011danieldressler/sqllayer
Handles the brunt work of sqlite exportation.
* foomatic-xml-to-sqlite: Initial commit from dev branch
2011-08-12 Daniel Dressler <danieru.dressler@gmail.com>
* DB.pm: Fixed a regression introduced in my last patch. Fixed handling of
pjl options in nopjl drivers. DB.pm with sqlite backend now produces the
same ppds are xlmParse backend.
2011-08-12 Daniel Dressler <danieru.dressler@gmail.com>
* DB.pm: Fixed typo in last commit, mixed much older typo in
get_combo_from_sql() that was causing a printer's margins to be duplicated
as combo margins.
* DB.pm: Added useing a printer's dpi if it is lower than the driver's
default to the sql code path. Fixed typo in sql. Noxml printers now
default to colour=true, this matches the behaviour of the C programs which
if how xmlParse does things. Fixed driver nopjl option by properly
prefixing the key with 'driver'.
2011-08-11 Daniel Dressler <danieru.dressler@gmail.com>
* DB.pm: Working code path for generating ppds from sqlite backend.
Required altering several sql to avoid mysql specific behaviour.
Removed use of if() function replaced with sql cases, split multistatement
Drop table calls into single statement calls.
2011-08-09 Daniel Dressler <danieru.dressler@gmail.com>
* DB.pm: working creation of overview with sqlite backend. Made three
openprinting website specific functions no-op for none mysql dbs.
Removed order by binary() from two sql statements.
2011-08-08 Daniel Dressler <danieru.dressler@gmail.com>
* DB.pm: Added creation of sqlite database handle.
* DB.pm: Fixed typos in my last commit.
2011-07-29 Daniel Dressler <danieru.dressler@gmail.com>
* DB.pm: Fixed a typo in get_driver(), added the function get_option(),
and made the primary get_*() functions take an optional version argument.
Version argument then gets passed to xmlParse, defaults to 0, which is
compatability with the C programs.
2011-07-22 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppdfile.in: Removed unneeded creation of the overview
if foomatic-ppdfile is called with a printer for which there is no
XML file. Formerly, as printer/driver pairs with a printer without
XML entry were not valid, the use of a non-listed printer was
assumed to be a typo and a case-insensitive search in the database
was done. Now an invalid printer input leads to an error message
when requesting the combo, which is much faster, both for getting
a PPD for a non-listed valid printer and an error message for an
invalid printer.
* lib/Foomatic/xmlParse.pm: Delete also the "printers_byname" fields
in clones of driver entries during the overview. Otherwise it comes
to memory explosions if only a few big driver entries get added to
the database. Now scalability seems to work well.
2011-07-20 Daniel Dressler <danieru.dressler@gmail.com>
* xmlParse.pm: noXml printers now default to color == true.
2011-07-20 Daniel Dressler <danieru.dressler@gmail.com>
* DB.pm: now uses xmlParse version 2 for combos
* phonebook.pm: comboppdentry and cmd_pdf are now copied for
combos.
* xmlParse.pm: renamed cleanID to getCleanId. renamed
generalGroups to setGeneralGroups. Fixed getDriverPrinter().
Fixed two typos in getPrinterSpecificDriver(). Brought noXml
printer data generation into own function. Fixed isPairSupported
now works if only one xml contains printer/driver entries.
Added getXmlPath() which supports getting the paths for xmls
in the library path and in the working directory.
Brought driver and printer caching into its own function, used
by parseCombo. Provided the xmlParse object stays alive combo
generation will be cpu bound. Added support in parseCombo for
noXml printers.
2011-07-20 Daniel Dressler <danieru.dressler@gmail.com>
* xmlParse.pm: Changed default combo data to use more
rebust user detection. Added support for ppdentry in
driver's list of printers. Made this ppdentry get included
in combos under the key comboppentry.
* phonebook.pm: Add the obsolete key to the list of keys
copied from driver data to combos.
* DB.pm: put back generalentries() I removed had removed it
thinking that it was obsolete. Also changed get_combo_data
to use the new error logging key.
2011-07-19 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/xmlParse.pm: Fixed the "extended overview" CUPS
overview mode. It did not set the $printer->{'drivers'} keys.
2011-07-19 Daniel Dressler <danieru.dressler@gmail.com>
* Renamed "skipPPDs" to cupsMode.
* Addded "extended overview" to parseOverview, when cupsMode == 2
pairs with ppd specific ppds are not skipped.
2011-07-19 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/xmlParse.pm: When reading references to printer IDs
in driver and option XML files, always apply the
translate_printer_id() function from DB.pm, as in foomatic-db
there are still some old references which were forgotten to be
updated (bug).
* lib/Foomatic/DB.pm: Optimized translate_printer_id() by caching
the translation table in memory instead of reading it again on every
call.
* lib/Foomatic/xmlParse.pm: Added some comments which work around a bug
in the syntax highlighting of emacs, so that the file appears
correctly highlighted and therefore more readable in emacs.
2011-07-18 Daniel Dressler <danieru.dressler@gmail.com>
* Fixed xmlParse's parseOverview not skipping drivers with no
command line or pdf command line.
2011-07-18 Daniel Dressler <danieru.dressler@gmail.com>
* Fixed xmlParse attempting to use driver->{'id'} in stead of
driver->{'name'} in isPairSupported() and parseCombo()'s error log
2011-07-17 Daniel Dressler <danieru.dressler@gmail.com>
* Added printer_byname key to driver data structure for fast lookup,
only version 2 and better
* parseCombo() now caches the drivers. This speeds up bulk ppd
generation.
* getPrinterSpecificDriver() now only clones when needed,
saving ~9 seconds off an overview
* 'log' keys now exist in DB and xmlParse objects,
errors get logged there.
* parseCombo() now checks that the driver/printer pair is supported.
* skipIfXml argument added to get_drivers_for_printer(), ppdfile uses it
to avoid a overview generation, possible because parseCombo will
now error if a pair is unsupported.
* Fixed parseOverview not adding a driver to a printer's list of
supported drivers during driver driven combination.
2011-07-15 Daniel Dressler <danieru.dressler@gmail.com>
* Fixed get_overview(), I had double quotes arround a glob
I thought they were option =<. Removed on disk caching of overview
code. This code was already no-op'd and obsolete due to an
in memory cache.
* Fix in get_combo_data(), I was using the default driver instead of the
one passed as an argument.
2011-07-15 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-combo-xml.1.in, foomatic-combo-xml.c,
foomatic-fix-xml.in. foomatic-perl-data.1.in,
foomatic-perl-data.c, README, USAGE, Makefile.in, configure.ac:
Removed the C accelerators foomatic-combo-xml and
foomatic-perl-data. With Daniel Dressler's new code they are not
needed any more. Also removed foomatic-fix-xml which is a
workaround for a bug in libxml1. libxml1 is not supported any more
since the removal of the C accelerators.
2011-07-15 Daniel Dressler <danieru.dressler@gmail.com>
* get_combo_data() now uses xmlParse. Removed some debug code
from xmlParse
2011-07-14 Daniel Dressler <danieru.dressler@gmail.com>
* Fixed imports in lib/Foomatic/DB.pm, lib/Foomatic/xmlParse.pm,
lib/Foomatic/phonebook.pm. DB::get_printer, DB::get_driver,
and DB::get_overview now use the perl xmlParse.
* Replaced body of get_combo_data_xml and get_overview_xml with an error
that the function is deprecated.
* getdat has been renamed to get_combo_data, getdat is now a stub
for its new name.
2011-07-13 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-verify-xml.pl, foomatic-verify-xml.in, Makefile.in,
configure.ac: Integrated foomatic-verify-xml into the build system.
Some text clean-up.
2011-07-09 Daniel Dressler <danieru.dressler@gmail.com>
* lib/Foomatic/DB.pm, lib/Foomatic/xmlParse.pm,
lib/Foomatic/phonebook.pm: Added new code for parsing the XML
database without helper programs written in C.
* Added foomatic-verify-xml.pl, a helper script for verifying
the xml database against our xml schemas using xmlint
2011-06-30 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/PPD.pm: Improved printer entry searh algorithm
(find_printer() method) in two points:
1. Score match of only make and model in printer ID of the entry
higher than match of make and model fields of the entry but
lower than match of full printer ID. This raises the relevance
of printer ID matches if the search term contains only a partial
device ID consisting of only the make and model fields.
2. Score a printer entry with an actual printer XML file 1 point
higher than an implicit printer entry only coming from a
printer name in a driver's printer list. This raises the
relevance of actual printer XML entries.
2011-03-04 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/PPD.pm: Handle non-UTF-8 encodings in imported PPD
files. Thanks to Richard Hughes (hughsient at gmail dot com) for
supplying me this patch from Red Hat.
* configure.ac: Added libdir support for the ./configure
script. Thanks to Richard Hughes (hughsient at gmail dot com) for
supplying me this patch from Red Hat.
2011-01-04 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Improved code of the _get_xml_filelist()
function: This avoids repeated construction of the "names-$dir"
string and a crash of Perl if the directory does not contain any
XML file (bug #613). Thanks to Christopher Yeleighton (giecrilj at
stegny dot 2a dot pl) for the report.
* lib/Foomatic/DB.pm: Fixed wrong quotes in error message which
prevented a variable from being substituted by its value (bug
#612). Thanks to Christopher Yeleighton (giecrilj at stegny dot 2a
dot pl) for the report.
* README: Fixed typos (bug #608). Thanks to Christopher Yeleighton
(giecrilj at stegny dot 2a dot pl) for the report.
* Makefile.in: Silenced warning about datarootdir when running
"./configure".
* configure.ac: Replaced deprecated AC_OUTPUT with argumenmts by
the correct usage (bug #611). Thanks to Christopher Yeleighton
(giecrilj at stegny dot 2a dot pl) for the hint.
* configure.ac: Converted many "dnl" comments into "#" comments so
that they make it into the "./configure" script (bug #610). Thanks
to Christopher Yeleighton (giecrilj at stegny dot 2a dot pl) for
the hint.
* configure.ac: Make choosing the install directory for Perl libraries
really working. The code which was commented out was not working.
Now bug #605 is really fixed.
2011-01-03 Till Kamppeter <till.kamppeter@gmail.com>
* configure.ac, acinclude.m4: Avoid name space conflicts by letting
the names of our own macros start with "FM_" and not with "AC_"
(bug #609). Thanks to Christopher Yeleighton (giecrilj at stegny
dot 2a dot pl) for the report.
* configure.ac: Allow choosing the install directory for the
Perl library DB.pm (perl, site, vendor). Requires autoconf 2.52
or newer (checked with "AC_PREREQ([2.52])"). Bug #605. Thanks
to Christopher Yeleighton (giecrilj at stegny dot 2a dot pl) for
the report.
* foomatic-perl-data.c: Eliminated compiler warnings by consistent
use of "const" with xmlChar and char variables (bug #604). Thanks
to Christopher Yeleighton (giecrilj at stegny dot 2a dot pl) for
the patch.
* foomatic-combo-xml.c: Improved readability of the code by using
symbolic constants and additional comments. Also eliminated
warnings about value-less "return"s and unused variables (bug
#599, #600, #601). Thanks to Christopher Yeleighton (giecrilj at
stegny dot 2a dot pl) for the patch.
2010-12-15 Till Kamppeter <till.kamppeter@gmail.com>
* README: Documented special entities for inserting job parameters,
like "&job;", "&user;", "&host;", "&title;", "&options;", ...
2010-12-13 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppd-to-xml.in: Allow generating a printer XML files also
from more than one PPD file for the same printer with only one call
of the foomatic-ppd-to-xml script. Feature request from George Liu
from Ricoh (bug #565).
* lib/Foomatic/DB.pm: Allow loading arbitrary printer and driver
XML files into the Perl data structure, not only XML files which
are in the current XML database.
When generating Perl data from a PPD do not add a new paragraph to
the printer comments if the added comment is empty.
2010-12-09 Till Kamppeter <till.kamppeter@gmail.com>
* Makefile.in: Rearranged gcc command line so that linking works
with gcc 4.5.x (Ubuntu bug #687973).
2010-12-08 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Sort the driver lists in printer XML files
alphabetically (case-insensitive) when generating XML files from
a Perl data structure, so that the files are identical to the
MySQL -> XML exporter on the OpenPrinting web servers. This
prevents automatic BZR commits into foomatic-db or
foomatic-db-nonfree which contain nothing more than driver list
reordering.
* README, lib/Foomatic/DB.pm, ppdtoxml: Use always a single space
before the closing "/>" of body-less tags. This way the XML style
of files committed to the BZR repositories of foomatic-db and
foomatic-db-nonfree is the same as the XML style used by the
export of XML from the MySQL database on the OpenPrinting web
server and so the daily synchronization does not commit pure
XML style changes into the BZR repositories.
2010-11-26 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm, foomatic-ppd-to-xml.in: Added new features to
foomatic-ppd-to-xml: Now custom comments can be added (-c), the
deafult comments can get suppressed (-C), and XML files with only
te drivers requested with -r and -d can be generated (-D).
2010-08-30 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Do not die if the C helper programs
foomatic-combo-xml and foomatic-perl-data fail. Simply return
undef so that the caller can handle the error.
2010-08-26 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppdfile.in: Fixed bug that made the PPD URI
foomatic:Apollo-P-2100-hpijs-pcl3.ppd interpreted as printer
Apollo-P-2100-hpijs and driver pcl3.
2010-07-10 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm, foomatic-perl-data.c: Added support for the new
"fingerprint" parameter of the <package> tag.
2010-07-05 Till Kamppeter <till.kamppeter@gmail.com>
* README: Documented new "fingerprint" parameter for the <package>
tag. It provides a link to key fingerprint on the web site of the
issuer of the driver.
2010-06-23 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-compiledb.1.in, foomatic-kitload.8.in: Fixed some
hyphen-used-as-minus lintian warnings. Thanks to Didier Raboud
(didier at raboud dot com) for the patch.
2010-06-11 Till Kamppeter <till.kamppeter@gmail.com>
* Makefile.in: Do "make install" in lib/ directory with explicit
use of DESTDIR. Otherwise it can come to a duplicate insertion
of DESTDIR. Thanks to Tim Mooney for the patch (Bug #445).
* configure.ac: Simplified and generalized the check for the Perl
library directory prefix in the configure script. Thanks to Tim
Mooney (Bug #418).
* configure.ac: Check for functions of libxml with CFLAGS and LIBS
containing the detected references to libxml. Thanks to Tim Mooney
for the patch (Bug #444).
2010-04-27 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: "*FoomaticRIPNoPageAccounting" was not inserted
into the generated Foomatic PPDs when the printer/driver data was
read from a MySQL database. Fixed.
2010-04-06 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Implemented two acceleration modes to the
overview request from the MySQL database
get_overview_from_sql_db(): $speedmode = 0: Full overview;
$speedmode = 1: Do not query auxiliary tables of the driver
entries; $speedmode = 2: Do not query driver entries at
all (former $nodrivers = 1). This is needed for the OpenPrinting
web server. The web query interface uses the printer search
find_printer() and this printer search requests an overview which
needs to be accelerated to obtain reasonable response
times. Before, we did not read driver entries, but as we nowadays
allow to define a printer by only listing it in a driver entry, we
must read driver entries to find all printers. So we accelerate by
simply not reading auxiliary tables but only the printer and
driver list tables.
2010-03-16 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: apply_driver_and_pdl_info(): Do not add
"lj5mono" to the list of suitable drivers any more, this driver
entry was removed from the OpenPrinting database.
2010-02-26 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-printermap-to-gutenprint-xml.in: Adjusted indenting of the
generated XML code to match the indenting of the XML code exported
from the MySQL database on the OpenPrinting web server.
2010-02-05 Till Kamppeter <till.kamppeter@gmail.com>
* README: Corrected PPD keyword: It must read
"*FoomaticRIPNoPageAccounting" and not "*FoomaticNoPageAccounting".
2010-02-01 Till Kamppeter <till.kamppeter@gmail.com>
* README: Mirrored changes from foomatic-db: <packages> tags are
now required for driver XML files where binary driver packages are
provided on the OpenPrinting web server.
2010-01-26 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-compiledb.in: Do not check whether there is a printer
database entry for a given printer/driver combo, we can generate
PPDs also without printer entry.
2010-01-25 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-combo-xml.c, foomatic-ppdfile.in, lib/Foomatic/DB.pm:
Made Foomatic generating Foomatic PPD files if there is no
printer XML file for the given printer/driver combo (but the
printer listed as supported in the driver XML) and made Foomatic
also returning ready-made PPDs if the driver XML file for the
combo does not exist (driver name mentioned only in the list of
supporting drivers in the printer XML file).
* foomatic-ppdfile.in: Fixed bug of "list" output never including
entries for ready-made PPDs, even if this is selected in
/etc/cups/foomatic.conf.
* foomatic-combo-xml.c: Fixed bug of a driver without <prototype>
tags at all (not only empty but existing <prototype> tags) being
considered as producing Foomatic PPDs. Such driver entries came up
after importing the whole Foomatic DB into MySQL and exporting it
back to XML.
* foomatic-combo-xml.c, lib/Foomatic/DB.pm: If an overview is
requested but only with PPD-producing printer/driver combos and
without ready-made PPDs, combos with both a command line prototype
in their driver XML and a PPD link in their printer XML got
displayed. As Foomatic returns the ready-made PPD in such a case
and not the Foomatic PPDs these entries get suppressed now.
* lib/Foomatic/DB.pm: When using an SQL database the selection
whether only PPD-producing combos get shown and whether
ready-made PPDs should be included works correctly now.
2009-12-26 Till Kamppeter <till.kamppeter@gmail.com>
* README: Mirrored changes from the README file of foomatic-db.
2009-12-22 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm, foomatic-ppd-to-xml.in: If the PPD file
supplied to foomatic-ppd-to-xml is compressed and should be
linked in the generated printer XML file, assume that it gets
added to the OpenPrinting database uncompressed. Therefore
remove the ".gz" extension from the link.
* lib/Foomatic/DB.pm: If a PPD file supplied to the ppdtoperl()
function contains information about the page description
languages in the device ID or a Foomatic driver ID, use this
information for the generated printer data structure.
2009-12-21 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm, foomatic-ppd-to-xml.in: Allow supplying a
PPD file to foomatic-ppd-to-xml which is not installed into the
Foomatic database tree (then the standard location
db/source/PPD/<make>/<PPD filename> is assumed for a PPD file
link in the printer XML file). Added the "-x" option to
foomatic-ppd-to-xml whichj lets printer XMLs be generated from
the PPD without checking whether the appropriate printers
already exist.
2009-11-19 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Fixes on printer/driver combo data readout
from the SQL database: Option constraint senses were read as
boolean type but they are actually strings containing "true" and
"false"; For the choices the constraints with the highest score
were not correctly selected; Reading of options stopped when
the choice list got completely read, so if boolean or numerical
options (they have no choices) are in the end of the option
list, they got not considered. This broke many Foomatic PPDs,
especially the ones for the "eplaser" and "eplaser-jp"
drivers. Thanks to Hidenori Ishii from Avasys for finding this.
2009-11-17 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Do not add "ev/" to IDs of option default
values from the MySQL database, we create the default value
entries already with "ev/" now to distinguish them from
string/password option defaults.
2009-11-06 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added support for separate comments from the
printer entry and from the driver entry in the driver_printer_assoc
table.
2009-10-27 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added a "quick overview mode" generating a
list of printer entries without driver info to the
get_overview_from_sql_db() function. This mode is 10-20 times
faster than the full overview taken from the MySQL database.
Made the find_printer() function way faster when using a
MySQL database and so the server load from driver queries by
printer setup tools gets reduced a lot.
2009-10-08 Till Kamppeter <till.kamppeter@gmail.com>
* README: Updated the README file for all recent changes and
additions in the XML data format of the Foomatic database.
* lib/Foomatic/DB.pm: Set "*ColorDevice:" in the Foomatic PPD
files not only based on whether the printer is a color printer
but also on whether the driver is capable of generating color
output (if appropriate information about the driver is
available).
2009-10-05 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added support for internationalization by
querying the translation tables of the MySQL database.
2009-09-24 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Let an SQL-based driver query also show the
list of supported printers and a printer query also the list of
suitable drivers, as the XML-based queries do.
2009-09-23 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added methods make_exists_in_sql_db(),
printer_exists_in_sql_db(), driver_exists_in_sql_db(),
make_exists(), and driver_exists().
Added support for additional MySQL database fields in the driver
entries: group, locale, licenselink. Added also support for the
additional MySQL table for dependencies between drivers.
2009-09-18 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppdfile.in: When generating a PPD file, do only generate
the overview if really needed. This makes generating PPDs 10 times
faster whenusing a MySQL database.
* lib/Foomatic/DB.pm: Completed get_combo_data_from_sql_db()
method. Now PPDs can be generated based on an SQL database.
Added new methods get_makes_from_sql_db(),
get_models_by_make_from_sql_db(),
get_printer_from_make_model_from_sql_db().
2009-09-17 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Removed line
*cupsFilter: "application/vnd.apple-pdf 25 foomatic-rip"
from the Foomatic-generated PPD files, it causes problems with
some printers on Mac OS X (bug #386, removes enhancement of bug
#313).
* lib/Foomatic/DB.pm: Started work on get_combo_data_from_sql_db().
For now it collects the printer and driver info but not yet the
option data.
2009-09-16 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added more methods for using an SQL database:
printer_exists_in_sql_db(), get_printers_for_driver_from_sql_db(),
get_drivers_for_printer_from_sql_db(), get_margins_from_sql_db(),
get_driver_packages_from_sql_db
Let overview and driver listing also include links to downloadable
packages and info about unprintable margins.
Do not create unneeded empty fields in the Perl data structures
when reading data sets from the SQL database.
2009-09-14 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added more methods for using an SQL database:
get_driverlist_from_sql_db(), get_printerlist_from_sql_db(),
get_printer_from_sql_db(), get_driver_from_sql_db(),
get_driver_support_contacts_from_sql_db().
Added helper function get_make_model_from_id().
2009-09-11 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added first methods for getting the data
from an SQL database instead of from an XML database:
connect_to_mysql_db(), disconnect_from_sql_db(),
get_overview_from_sql_db(), and helper function
read_conf_file(). It is checked whether valid database access
data is in the file mysql.conf in the default configuration
directory, and if so, the MySQL database is used.
Added also a DESTROY() method for Foomatic::DB which closes the
connection to the SQL database if one was used.
2009-08-19 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppd-to-xml.in: Added "-n" option to the foomatic-ppd-to-xml
utility. This makes only new printer XML files being generated and
no modified versions of existing files.
2009-08-18 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-preferred-driver.in: The "hpijs" driver entry got replaced
by "hplip".
* lib/Foomatic/DB.pm: Add "hpijs-pcl5e" or "hpijs-pcl5c" or "hplip"
instead of "hpijs" to the driver list of the XML file of a PCL 5c/e
printer if a printer XML file is generated from a PPD file.
Fixed ppd1284DeviceID() function, it did not recognize the
"CMD"/"COMMAND SET" field in the device ID string.
Made sure that the fields in the IEEE-1284 device ID get closed with
a semicolon before adding a new field.
If there is a <ppdentry> XML tag for the printer/driver combo, do not
use the <ppdentry> XML tags for the printer or the driver.
Add "*PSVersion:" keywords for the newest Ghostscript versions to the
PPD files.
2009-07-17 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added support for multiple "*Product:" lines
in PPD files, improved determination of the model name from the
PPD file, put generation of the Foomatic ID from make and model
into the function generatepid().
* foomatic-ppd-to-xml.in: For determining whether there is already
a Foomatic entry for the given PPD, use also all "*Product:"
lines in the PPD and the PPD links in the XML files in the
OpenPrinting database. Let more than one printer XML file get
created if the PPD has multiple "*Product:" lines. General
support for multiple printer XMLs for one PPD file. Warn if the
"-l" command line switch is used if "-d" is not supplied.
2009-06-22 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: At some points "==" was used to compare strings,
it must be "eq". Especially this broke the PPD generation for all
boolean command-line-style options (bug #356).
2009-05-08 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-combo-xml.c: If a printer XML entry has a driver in its
driver list but for which there is no driver XML entry, this
printer/driver combo was considered as producing a PPD because the
driver is not in the list of drivers without command line
prototype. Replaced the negative list of drivers without command
line prototype by a positive list of drivers with command
line prototype. Now non-existing driver XML files are handled
correctly as drivers not producing PPDs (Ubuntu bug #373371).
2009-05-07 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: If a JCL option is member of a composite option
it was generated incorrectly in the PPD files (Ubuntu bug #361772).
2009-04-23 Till Kamppeter <till.kamppeter@gmail.com>
* README, USAGE, configure.ac: Set version number to 4.1.0, to be
always newer than the stable branch.
2009-03-17 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-compiledb.in: Fixed copy-and-paste bug in foomatic-compiledb
which broke the "-d" option (bug #319).
2009-02-25 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Added "application/vnd.apple-pdf" as input
mime type to the generated Foomatic PPDs, so that also under Mac
OS X a full PDF printing workflow will get established (bug
#313).
2009-01-15 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: For string and password options the
"*ParamCustom..." keywords were not generated correctly (option
type missing, bug #297).
Changed the way how the driver's short description is added to the
PPD so that it can be longer than 80 characters (bug #296).
2009-01-09 Till Kamppeter <till.kamppeter@gmail.com>
* Tagged branch for release 4.0.0.
2009-01-08 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppdfile.in: "foomatic-ppdfile list" showed wrong PPD
file names for some printers (bug #281).
2009-01-07 Till Kamppeter <till.kamppeter@gmail.com>
* configure.ac: Bumped version number to 4.0.0.
* foomatic-combo-xml.c: All printers with <postscript> in their
<lang> sections got listed as supported by the "Postscript"
driver. Now explicit assignment of this driver via the
<printers> section in the driver entry or the <drivers> section
in the printer entry is required.
Let the overview for listing only printer/driver combos with
valid PPDs (foomatic-combo-xml -C") also show combos where the
driver is only mentioned in the printer's driver list. Now
foomatic-compiledb really generates all PPDs which are available
on the OpenPrinting web site (bug #291).
* README, USAGE, TODO: Updated for version 4.0.0.
* lib/Foomatic/DB.pm: Improved printer search. Now searches with model
number but without product line name also work (ex: "Ricoh MPC3500"
finds the "Ricoh Aficio MP C3500").
* debian/: Removed. The Debian package maintainer does not maintain
the debian directory in this BZR repository.
* foomatic-filters-ppds-README, foomatic-filters-ppds-install,
README.build-foomatic-filters-ppds, Makefile.in: Removed build
of the foomatic-filters-ppds package, as foomatic-rip is now
written in C and so no universal platform-independent tarball of
this type can be created any more.
2008-11-11 Lars Uebernickel <larsuebernickel@gmx.de>
* lib/Foomatic/DB.pm: Set default section to 'JCL' when the option is
a JCL option.
* lib/Foomatic/DB.pm: Output CUPS custom options.
* lib/Foomatic/DB.pm: Set the correct section in OrderDependency
(until now, AnySetup was always used)
* lib/Foomatic/DB.pm: Insert JCL code directly for JCL options (not
via FoomaticRIPOptionSetting); Remove redundant FoomaticRIPOptions
for JCL enumerated choice options.
* lib/Foomatic/DB.pm: Surround JCL option values with @PJL...<0A> if
necessary. Quote prototypes of custom JCL options.
2008-11-10 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-perl-data.c: If the overview XML input has no
<functionality> field, the functionality entry stays a NULL
pointer. On some systems like Solaris outputting a NULL pointer
with "printf()" leads to a segmentation fault (under Linux it is
no problem, the output will be "(null)"). Fix for bug #213.
2008-10-28 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Match the field headers of IEEE-1284 device
IDs case insensitively. Some IDs have these headers not
all-uppercase, like Kyocera. Fixed also that the manufacturer
name can creep into the "*Product:" field of the PPD when the
model name cannot be read from the device ID.
* lib/Foomatic/DB.pm: Bumped version number in PPD header to 4.0.0.
* README, USAGE, configure.ac, foomatic-addpjloptions.in,
foomatic-perl-data.c, lib/Foomatic/DB.pm:
s/GhostScript/Ghostscript/
* foomatic-ppd-to-xml.in, lib/Foomatic/DB.pm: Several fixes to
find existing XMLs and to let merging changes into existing
XMLs work correctly.
2008-10-24 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppd-to-xml.in, lib/Foomatic/DB.pm: Let
foomatic-ppd-to-xml find already existing printer entries and
merge the reference to the PPD file into them instead of
creating a new XML file. Let all XML files get created in a
user-specified directory.
* lib/Foomatic/DB.pm: Let the perltoxml() function not put
hard-coded comments into printer entries.
2008-10-23 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppd-to-xml.in, lib/Foomatic/DB.pm: Moved driver and PDL
magic of the XML file generation into lib/Foomatic/DB.pm.
2008-10-22 Till Kamppeter <till.kamppeter@gmail.com>
* foomatic-ppd-to-xml.in, Makefile.in, configure.ac,
lib/Foomatic/DB.pm: Added new "foomatic-ppd-to-xml" to generate
Foomatic XML files corresponding to a given PPD file.
* lib/Foomatic/DB.pm: Improved "normalizename()" function for
sorting printer, manufacturer, or driver lists.
2008-10-02 Till Kamppeter <till.kamppeter@gmail.com>
* lib/Foomatic/DB.pm: Changed method to find all printers
supported by a given driver, so that printer/driver relations
can also be defined by a <drivers> section in the printer entry.
2008-09-06 Dafydd Crosby <dcrosby@userful.com>
* ppdtoxml: Can now add extra drivers to XML more easily.
2008-09-03 Tim Waugh <twaugh@redhat.com>
* acinclude.m4: Fixed underquoted definitions.
2008-09-02 Tim Waugh <twaugh@redhat.com>