diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3d0355e --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +a2ps-4.14.tar.gz +i18n-fonts-0.1.tar.gz +/a2ps-4.15.5.tar.gz +/a2ps-4.15.6.tar.gz +/a2ps-4.15.7.tar.gz +/a2ps-4.15.8.tar.gz diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..4432540 --- /dev/null +++ b/COPYING @@ -0,0 +1,676 @@ + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/Makefile b/Makefile deleted file mode 100644 index cfffcf4..0000000 --- a/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# Makefile for source rpm: a2ps -# $Id$ -NAME := a2ps -SPECFILE = $(firstword $(wildcard *.spec)) - -include ../common/Makefile.common diff --git a/a2ps-4.13-autoenc.patch b/a2ps-4.13-autoenc.patch deleted file mode 100644 index 5e3e08f..0000000 --- a/a2ps-4.13-autoenc.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a2ps-4.13.rh/src/main.c Fri Feb 23 17:39:02 2001 -+++ a2ps-4.13.euc/src/main.c Fri Feb 23 23:07:40 2001 -@@ -31,6 +31,8 @@ - /* */ - /************************************************************************/ - #include -+#include -+#include - - #include "a2ps.h" - #include "argmatch.h" -@@ -925,6 +927,7 @@ - main (int argc, char *argv[]) - { - int argn; -+ char *locale; - - /* Architecture specific initialization. */ - #ifdef __EMX__ -@@ -947,6 +950,9 @@ - setlocale (LC_CTYPE, ""); - setlocale (LC_PAPER, ""); - -+ locale = setlocale (LC_ALL, ""); -+ /* fprintf(stderr, "locale : %s\n", locale); */ -+ - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - -@@ -1013,6 +1019,10 @@ - yet read sheets. */ - sheets_map = sheets_map_new (); - style_sheets = new_style_sheets (); -+ -+ /* Process special case: Japanese Document */ -+ if (! strncmp (locale, "ja", 2) ) -+ job->requested_encoding_name = xstrdup ("euc-jp"); - - /* Process the command line options. */ - argn = a2ps_handle_options (job, argc, argv); diff --git a/a2ps-4.13-bison.patch b/a2ps-4.13-bison.patch deleted file mode 100644 index fcc89a6..0000000 --- a/a2ps-4.13-bison.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a2ps-4.13/src/parsessh.y.bison 2004-01-06 10:27:42.352903527 +0000 -+++ a2ps-4.13/src/parsessh.y 2004-01-06 10:28:14.328105348 +0000 -@@ -242,7 +242,7 @@ - /* Dealing with the inessential informations */ - /************************************************************************/ - requirement : -- tREQUIRES tA2PS tSTRING { $$ = $3 ; } ; -+ tREQUIRES tA2PS tSTRING { $$ = $3 ; } - | tREQUIRES tA2PS tVERSION tSTRING { $$ = $4 ; } ; - - documentation : -@@ -267,7 +267,7 @@ - authors : tWRITTEN tBY tSTRING { $$ = $3 ; }; - - version : -- tVERSION tIS tSTRING { $$ = $3 ; }; -+ tVERSION tIS tSTRING { $$ = $3 ; } - | tVERSION tSTRING { $$ = $2 ; }; - - /************************************************************************/ -@@ -717,7 +717,7 @@ - /* Only one */ - $$ = words_new ("Closing: Strings", "Closing: Regexps", 2, 2); - words_add_regex ($$, $1); -- }; -+ } - | tCLOSERS operators_def tCLOSERS - { - /* Several, comma separated, between () */ diff --git a/a2ps-4.13-conf.patch b/a2ps-4.13-conf.patch index d6201df..060aec6 100644 --- a/a2ps-4.13-conf.patch +++ b/a2ps-4.13-conf.patch @@ -1,18 +1,32 @@ ---- a2ps-4.13/configure.config Wed Feb 9 09:32:31 2000 -+++ a2ps-4.13/configure Thu Apr 27 19:56:05 2000 -@@ -8433,9 +8433,13 @@ - echo "configure:8434: checking for PostScript fonts path" 1>&5 +diff -up a2ps-4.15/configure.ac.conf a2ps-4.15/configure.ac +--- a2ps-4.15/configure.ac.conf 2023-03-08 09:09:29.694691191 +0100 ++++ a2ps-4.15/configure.ac 2023-03-08 09:10:00.210882309 +0100 +@@ -153,8 +153,10 @@ AC_MSG_CHECKING(for PostScript fonts pat # Try to find some PostScript fonts. # Find out if ghostscript is installed -+# for ac_dir in /usr/local/ghostscript/fonts \ -+# /usr/local/share/ghostscript/fonts; ac_psfont_path= -for ac_dir in /usr/local/ghostscript/fonts \ - /usr/local/share/ghostscript/fonts; +for ac_dir in /usr/share/fonts/default/Type1 \ + /usr/share/fonts/default/ghostscript \ -+ /usr/share/fonts/afms/adobe \ -+ /usr/X11R6/lib/X11/fonts/latin2/Type1/afm ; ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/culmus ; + do + if test "cd $ac_dir 2>/dev/null && echo *.afm"; then + ac_psfont_path="$ac_psfont_path:$ac_dir"; +diff -up a2ps-4.15/configure.conf a2ps-4.15/configure +--- a2ps-4.15/configure.conf 2023-03-08 09:09:03.438526754 +0100 ++++ a2ps-4.15/configure 2023-03-08 09:10:39.922131011 +0100 +@@ -38619,8 +38619,10 @@ printf %s "checking for PostScript fonts + # Try to find some PostScript fonts. + # Find out if ghostscript is installed + ac_psfont_path= +-for ac_dir in /usr/local/ghostscript/fonts \ +- /usr/local/share/ghostscript/fonts; ++for ac_dir in /usr/share/fonts/default/Type1 \ ++ /usr/share/fonts/default/ghostscript \ ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/culmus ; do if test "cd $ac_dir 2>/dev/null && echo *.afm"; then ac_psfont_path="$ac_psfont_path:$ac_dir"; diff --git a/a2ps-4.13-etc.patch b/a2ps-4.13-etc.patch index 0af364c..899c522 100644 --- a/a2ps-4.13-etc.patch +++ b/a2ps-4.13-etc.patch @@ -1,6 +1,27 @@ ---- a2ps-4.13/etc/Makefile.in.etc Wed Feb 9 09:32:55 2000 -+++ a2ps-4.13/etc/Makefile.in Thu Apr 27 22:45:03 2000 -@@ -297,7 +297,9 @@ +diff -up a2ps-4.15/etc/a2ps_cfg.in.etc a2ps-4.15/etc/a2ps_cfg.in +--- a2ps-4.15/etc/a2ps_cfg.in.etc 2023-01-31 22:58:17.000000000 +0100 ++++ a2ps-4.15/etc/a2ps_cfg.in 2023-03-08 09:12:47.908932563 +0100 +@@ -56,6 +56,7 @@ LibraryPath: @libpath@ + # It may be useful to extend it so that a2ps can see some + # TeX or X11 resources: it likes AFM files and PF[AB] files. + #AppendLibraryPath: foo ++AppendLibraryPath: @apppath@ + + + ################################################################# +diff -up a2ps-4.15/etc/Makefile.am.etc a2ps-4.15/etc/Makefile.am +--- a2ps-4.15/etc/Makefile.am.etc 2023-03-08 09:12:47.908932563 +0100 ++++ a2ps-4.15/etc/Makefile.am 2023-03-08 09:15:31.573957559 +0100 +@@ -17,7 +17,7 @@ + # + + ogonkifydir=$(datadir)/ogonkify +-libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) ++libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) + + pkgdata_DATA = README + +@@ -55,7 +55,9 @@ DISTCLEANFILES = a2ps.cfg README # Building the correct a2ps.cfg a2ps.cfg: a2ps_cfg Makefile @@ -9,15 +30,6 @@ + -e "s!@apppath@!$(PSFONT_PATH)!" \ + a2ps_cfg > a2ps.cfg - # Building a time stamp to know the version. + # Building a timestamp to know the version. README: README.in Makefile ---- a2ps-4.13/etc/a2ps_cfg.in.etc Tue Feb 8 03:24:03 2000 -+++ a2ps-4.13/etc/a2ps_cfg.in Thu Apr 27 20:49:04 2000 -@@ -73,6 +73,7 @@ - # It may be useful to extend it so that a2ps can see some - # TeX or X11 resources: it likes AFM files and PF[AB] files. - #AppendLibraryPath: foo -+AppendLibraryPath: @apppath@ - - - ################################################################# +diff -up a2ps-4.15/etc/Makefile.in.etc a2ps-4.15/etc/Makefile.in diff --git a/a2ps-4.13-euckr.patch b/a2ps-4.13-euckr.patch index 639ab77..40df372 100644 --- a/a2ps-4.13-euckr.patch +++ b/a2ps-4.13-euckr.patch @@ -1,27 +1,22 @@ ---- a2ps-4.13/encoding/Makefile.am.orig 2003-01-09 17:45:41.000000000 +0900 -+++ a2ps-4.13/encoding/Makefile.am 2003-01-09 17:45:50.000000000 +0900 -@@ -16,7 +16,7 @@ - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf -+iso15.edf koi8.edf euc-jp.edf euc-kr.edf +diff -up a2ps-4.14/encoding/encoding.map.euckr a2ps-4.14/encoding/encoding.map +--- a2ps-4.14/encoding/encoding.map.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/encoding.map 2008-04-27 01:46:59.000000000 +0200 +@@ -100,6 +100,12 @@ japanese euc-jp + ja euc-jp + jp euc-jp - if EXTENSIONS - encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) ---- a2ps-4.13/encoding/Makefile.in.orig 2003-01-09 17:46:09.000000000 +0900 -+++ a2ps-4.13/encoding/Makefile.in 2003-01-09 17:46:14.000000000 +0900 -@@ -141,7 +141,7 @@ - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf -+iso15.edf koi8.edf euc-jp.edf euc-kr.edf - - @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings) - @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings) ---- a2ps-4.13/encoding/euc-kr.edf.orig 2003-01-09 17:46:22.000000000 +0900 -+++ a2ps-4.13/encoding/euc-kr.edf 2003-01-09 17:47:34.000000000 +0900 ++euc-kr euc-kr ++euc-kr euc-kr ++korean euc-kr ++ko euc-kr ++kr euc-kr ++ + ######################################################################## + # Some architectures specific char sets + ######################################################################## +diff -up /dev/null a2ps-4.14/encoding/euc-kr.edf +--- /dev/null 2008-04-26 20:48:40.298012400 +0200 ++++ a2ps-4.14/encoding/euc-kr.edf 2008-04-27 01:46:59.000000000 +0200 @@ -0,0 +1,104 @@ +# Description of the EUC-KR encoding +# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana @@ -127,18 +122,27 @@ +egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis +eth ntilde ograve oacute ocircumflex otilde odieresis divide +oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis ---- a2ps-4.13/encoding/encoding.map.orig 2003-01-09 17:46:50.000000000 +0900 -+++ a2ps-4.13/encoding/encoding.map 2003-01-09 17:46:57.000000000 +0900 -@@ -100,6 +100,12 @@ - ja euc-jp - jp euc-jp +diff -up a2ps-4.14/encoding/Makefile.am.euckr a2ps-4.14/encoding/Makefile.am +--- a2ps-4.14/encoding/Makefile.am.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.am 2008-04-27 01:47:58.000000000 +0200 +@@ -16,7 +16,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf -+euc-kr euc-kr -+euc-kr euc-kr -+korean euc-kr -+ko euc-kr -+kr euc-kr -+ - ######################################################################## - # Some architectures specific char sets - ######################################################################## + if EXTENSIONS + encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) +diff -up a2ps-4.14/encoding/Makefile.in.euckr a2ps-4.14/encoding/Makefile.in +--- a2ps-4.14/encoding/Makefile.in.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.in 2008-04-27 01:48:09.000000000 +0200 +@@ -270,7 +270,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf + + @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) + @EXTENSIONS_TRUE@encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) diff --git a/a2ps-4.13-flex.patch b/a2ps-4.13-flex.patch deleted file mode 100644 index 26fcbf4..0000000 --- a/a2ps-4.13-flex.patch +++ /dev/null @@ -1,73 +0,0 @@ ---- a2ps-4.13/lib/Makefile.in.flex Wed Feb 9 09:33:01 2000 -+++ a2ps-4.13/lib/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ ---- a2ps-4.13/lib/fonts.l.flex Wed Dec 15 18:27:01 1999 -+++ a2ps-4.13/lib/fonts.l Thu Apr 27 19:00:20 2000 -@@ -178,7 +178,7 @@ - - %} - --%option yylineno -+/* %option yylineno */ - %option prefix="afm" - %option outfile="lex.yy.c" - -@@ -524,7 +524,7 @@ - const char * filename; - FILE * stream; - -- yylineno = 0; -+ /* yylineno = 0; */ - - /* Find its AFM file: first resolve its font file name */ - filename = fonts_map_resolve_alias (job->fonts_map, font->key); ---- a2ps-4.13/src/Makefile.in.flex Wed Feb 9 09:34:18 2000 -+++ a2ps-4.13/src/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ -@@ -154,7 +154,7 @@ - BUILT_SOURCES = parsessh.h - - YFLAGS = -dtv --LEX = @LEX@ -+LEX = @LEX@ -CFe - # I don't really understand why I have to put srcdir here, but - # it is needed for yacc and lex files (seems related to #line, but - # I really don't understand why)... ---- a2ps-4.13/src/lexps.l.flex Mon Feb 7 17:05:43 2000 -+++ a2ps-4.13/src/lexps.l Thu Apr 27 19:00:20 2000 -@@ -35,7 +35,7 @@ - void pslex_initialize PARAMS ((void)); - %} - --%option yylineno -+/* %option yylineno */ - %option prefix="ps" - %option outfile="lex.yy.c" - ---- a2ps-4.13/Makefile.in.flex Wed Feb 9 09:32:25 2000 -+++ a2ps-4.13/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ diff --git a/a2ps-4.13-glibcpaper.patch b/a2ps-4.13-glibcpaper.patch index 23ab881..7030b73 100644 --- a/a2ps-4.13-glibcpaper.patch +++ b/a2ps-4.13-glibcpaper.patch @@ -1,25 +1,43 @@ ---- a2ps-4.13/lib/jobs.c.glibcpaper Sat Jan 15 18:15:07 2000 -+++ a2ps-4.13/lib/jobs.c Tue Feb 20 18:44:48 2001 -@@ -138,6 +138,7 @@ +diff -up a2ps-4.15.3/doc/a2ps.texi.glibcpaper a2ps-4.15.3/doc/a2ps.texi +--- a2ps-4.15.3/doc/a2ps.texi.glibcpaper 2023-04-25 15:55:46.783621115 +0200 ++++ a2ps-4.15.3/doc/a2ps.texi 2023-04-25 16:01:07.004225790 +0200 +@@ -1359,6 +1359,12 @@ use output medium @var{medium}. See the + default; see the man page of @code{paper} for how this is configured. + The default paper size may also be requested explicitly with the name + @samp{libpaper}. ++ ++The special @var{medium} @samp{_glibc} (which, in this Red Hat Linux ++version of @samp{a2ps}, is the default) means that you want the medium ++to be determined by the locale category @samp{LC_PAPER}. Note that this ++information is obtained from environment variables which may not be set ++up in non-interactive environments (such as in a cron job). + @end defvr + + @defvr {Option} -r +diff -up a2ps-4.15.3/liba2ps/jobs.c.glibcpaper a2ps-4.15.3/liba2ps/jobs.c +--- a2ps-4.15.3/liba2ps/jobs.c.glibcpaper 2023-04-25 15:55:46.781621105 +0200 ++++ a2ps-4.15.3/liba2ps/jobs.c 2023-04-25 15:56:51.340944620 +0200 +@@ -119,6 +119,7 @@ a2ps_job_new (void) + setlocale (LC_TIME, ""); setlocale (LC_MESSAGES, ""); - #endif setlocale (LC_CTYPE, ""); + setlocale (LC_PAPER, ""); bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); ---- a2ps-4.13/lib/options.c.glibcpaper Tue Aug 31 13:42:41 1999 -+++ a2ps-4.13/lib/options.c Tue Feb 20 18:44:48 2001 -@@ -54,6 +54,8 @@ - #include "argv.h" + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); +diff -up a2ps-4.15.3/liba2ps/options.c.glibcpaper a2ps-4.15.3/liba2ps/options.c +--- a2ps-4.15.3/liba2ps/options.c.glibcpaper 2023-03-19 18:22:01.000000000 +0100 ++++ a2ps-4.15.3/liba2ps/options.c 2023-04-25 15:57:18.942082933 +0200 +@@ -41,6 +41,8 @@ #include "quotearg.h" #include "filalign.h" + #include "version-etc.h" +#include +#include #define MAN_LINES 66 /* no lines for a man */ extern char *program_name; -@@ -281,7 +283,8 @@ +@@ -267,7 +269,8 @@ a2ps_handle_options (a2ps_job * job, int struct opt_optarg *opt_optarg_head = NULL; struct opt_optarg *opt_optarg = NULL; int res; @@ -29,7 +47,7 @@ /* Reset optind so that getopt is reinitialized. */ optind = 0; -@@ -545,7 +548,14 @@ +@@ -515,7 +518,14 @@ a2ps_handle_options (a2ps_job * job, int break; case 'M': /* select a medium */ @@ -45,36 +63,12 @@ break; case 'n': /* n copies */ ---- a2ps-4.13/src/main.c.glibcpaper Wed Jan 26 19:29:15 2000 -+++ a2ps-4.13/src/main.c Tue Feb 20 18:45:18 2001 -@@ -945,6 +945,7 @@ - setlocale (LC_MESSAGES, ""); - #endif - setlocale (LC_CTYPE, ""); -+ setlocale (LC_PAPER, ""); - - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); ---- a2ps-4.13/doc/a2ps.texi.glibcpaper Wed Jan 23 12:36:30 2002 -+++ a2ps-4.13/doc/a2ps.texi Wed Jan 23 12:40:08 2002 -@@ -1363,6 +1363,12 @@ - ask the library @code{libpaper} for the medium to use. This choice is - valid only if @code{libpaper} was available when @pack{} was configured. - See the man page of @code{paperconf} for more information. -+ -+The special @var{medium} @samp{_glibc} (which, in this Red Hat Linux -+version of @samp{a2ps}, is the default) means that you want the medium -+to be determined by the locale category @samp{LC_PAPER}. Note that this -+information is obtained from environment variables which may not be set -+up in non-interactive environments (such as in a cron job). - @end defvr - - @defvr {Option} -r ---- a2ps-4.13/man/a2ps.1.glibcpaper Wed Jan 23 12:42:36 2002 -+++ a2ps-4.13/man/a2ps.1 Wed Jan 23 12:45:05 2002 -@@ -60,6 +60,11 @@ +diff -up a2ps-4.15.3/man/a2ps.1.glibcpaper a2ps-4.15.3/man/a2ps.1 +--- a2ps-4.15.3/man/a2ps.1.glibcpaper 2023-04-25 15:55:46.783621115 +0200 ++++ a2ps-4.15.3/man/a2ps.1 2023-04-25 16:01:48.946435970 +0200 +@@ -67,6 +67,11 @@ Sheets: .TP - \fB\-M\fR, \fB\-\-medium\fR=\fINAME\fR + \fB\-M\fR, \fB\-\-medium\fR=\fI\,NAME\/\fR use output medium NAME + +The default behaviour is to use the locale category @@ -84,3 +78,14 @@ .TP \fB\-r\fR, \fB\-\-landscape\fR print in landscape mode +diff -up a2ps-4.15.3/src/main.c.glibcpaper a2ps-4.15.3/src/main.c +--- a2ps-4.15.3/src/main.c.glibcpaper 2023-04-25 15:55:46.782621110 +0200 ++++ a2ps-4.15.3/src/main.c 2023-04-25 15:57:45.302215028 +0200 +@@ -933,6 +933,7 @@ main (int argc, char *argv[]) + setlocale (LC_TIME, ""); + setlocale (LC_MESSAGES, ""); + setlocale (LC_CTYPE, ""); ++ setlocale (LC_PAPER, ""); + + bindtextdomain (PACKAGE, LOCALEDIR); + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); diff --git a/a2ps-4.13-gnusource.patch b/a2ps-4.13-gnusource.patch deleted file mode 100644 index 5e75fbb..0000000 --- a/a2ps-4.13-gnusource.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a2ps-4.13/src/main.c.gnusource 2003-10-17 17:07:05.000000000 +0100 -+++ a2ps-4.13/src/main.c 2003-10-17 17:07:17.000000000 +0100 -@@ -30,6 +30,7 @@ - /* I n c l u d e f i l e s */ - /* */ - /************************************************************************/ -+#define _GNU_SOURCE - #include - #include - #include -@@ -105,7 +106,6 @@ - defined twice, see lib/confg.gperf, handling of `Options:'. */ - - char *program_name; --const char *program_invocation_name; - - /* Stores the data of liba2ps. */ - diff --git a/a2ps-4.13-hebrew.patch b/a2ps-4.13-hebrew.patch index 0246fd6..b8fbd6e 100644 --- a/a2ps-4.13-hebrew.patch +++ b/a2ps-4.13-hebrew.patch @@ -1,18 +1,19 @@ ---- a2ps-4.13/configure.hebrew 2004-01-09 15:29:44.000000000 +0200 -+++ a2ps-4.13/configure 2004-01-09 15:44:14.000000000 +0200 -@@ -8454,7 +8454,9 @@ - for ac_dir in /usr/share/fonts/default/Type1 \ - /usr/share/fonts/default/ghostscript \ - /usr/share/fonts/afms/adobe \ -- /usr/X11R6/lib/X11/fonts/latin2/Type1/afm ; -+ /usr/X11R6/lib/X11/fonts/latin2/Type1/afm \ -+ /usr/share/fonts/hebrew \ -+ /usr/share/fonts/he/Type1 ; - do - if test "cd $ac_dir 2>/dev/null && echo *.afm"; then - ac_psfont_path="$ac_psfont_path:$ac_dir"; ---- a2ps-4.13/encoding/iso8.edf.hebrew 2004-01-09 15:44:03.000000000 +0200 -+++ a2ps-4.13/encoding/iso8.edf 2004-01-09 15:44:03.000000000 +0200 +diff -up a2ps-4.14/encoding/encoding.map.hebrew a2ps-4.14/encoding/encoding.map +--- a2ps-4.14/encoding/encoding.map.hebrew 2008-04-27 01:50:14.000000000 +0200 ++++ a2ps-4.14/encoding/encoding.map 2008-04-27 01:50:14.000000000 +0200 +@@ -65,6 +65,9 @@ iso-8859-5 iso5 + iso7 iso7 + iso-8859-7 iso7 + ++iso8 iso8 ++iso-8859-8 iso8 ++ + # The following lines _are_not_an_error_. + # This is the right correspondance between ISO-8859 names + # and the Latin n nick name. +diff -up /dev/null a2ps-4.14/encoding/iso8.edf +--- /dev/null 2008-04-26 20:48:40.298012400 +0200 ++++ a2ps-4.14/encoding/iso8.edf 2008-04-27 01:50:14.000000000 +0200 @@ -0,0 +1,77 @@ +# Description of the ISO-8859-8 encoding +# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana @@ -49,14 +50,14 @@ +# This file has been specifically adapted for use with Hebrew Culmus fonts + +# If there is an unknown font requested, use Courier -+Default: MiriamMono-Book ++Default: MiriamMonoCLM-Book + +# Automatic spell checking :) -+Substitute: Times David -+Substitute: Helvetica Nachlieli-Light -+Substitute: Helvetica-Bold Nachlieli-Bold -+Substitute: Courier MiriamMono-Book -+Substitute: Courier-Bold MiriamMono-Bold ++Substitute: Times DavidCLM-Medium ++Substitute: Helvetica NachlieliCLM-Light ++Substitute: Helvetica-Bold NachlieliCLM-Bold ++Substitute: Courier MiriamMonoCLM-Book ++Substitute: Courier-Bold MiriamMonoCLM-Bold + +Vector: +notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef @@ -91,28 +92,27 @@ +afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 +afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 +afii57688 afii57689 afii57690 .notdef .notdef .notdef .notdef .notdef ---- a2ps-4.13/encoding/encoding.map.hebrew -+++ a2ps-4.13/encoding/encoding.map -@@ -65,6 +65,9 @@ - iso7 iso7 - iso-8859-7 iso7 - -+iso8 iso8 -+iso-8859-8 iso8 -+ - # The following lines _are_not_an_error_. - # This is the right correspondance between ISO-8859 names - # and the Latin n nick name. ---- a2ps-4.13/encoding/Makefile.in.hebrew -+++ a2ps-4.13/encoding/Makefile.in -@@ -140,8 +140,8 @@ +diff -up a2ps-4.14/encoding/Makefile.am.hebrew a2ps-4.14/encoding/Makefile.am +--- a2ps-4.14/encoding/Makefile.am.hebrew 2008-04-27 01:51:14.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.am 2008-04-27 01:52:11.000000000 +0200 +@@ -15,7 +15,7 @@ encodingsdir = $(pkgdatadir)/encoding major_encodings = ascii.edf iso1.edf minor_encodings = \ ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ -iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf euc-kr.edf -+iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf \ -+iso13.edf iso15.edf koi8.edf euc-jp.edf euc-kr.edf ++iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf iso13.edf \ + iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf - @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings) - @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings) + if EXTENSIONS +diff -up a2ps-4.14/encoding/Makefile.in.hebrew a2ps-4.14/encoding/Makefile.in +--- a2ps-4.14/encoding/Makefile.in.hebrew 2008-04-27 01:50:14.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.in 2008-04-27 01:52:01.000000000 +0200 +@@ -269,7 +269,7 @@ encodingsdir = $(pkgdatadir)/encoding + major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ +-iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ ++iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf iso13.edf \ + iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf + + @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) diff --git a/a2ps-4.13-malloc.patch b/a2ps-4.13-malloc.patch deleted file mode 100644 index bdfa01c..0000000 --- a/a2ps-4.13-malloc.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a2ps-4.13/lib/path-concat.c.malloc 2004-03-02 11:27:49.000000000 +0000 -+++ a2ps-4.13/lib/path-concat.c 2004-03-02 11:28:14.000000000 +0000 -@@ -31,7 +31,7 @@ - #endif - #include - --char *malloc (); -+#include - - #ifndef DIRECTORY_SEPARATOR - # define DIRECTORY_SEPARATOR '/' diff --git a/a2ps-4.13-security.patch b/a2ps-4.13-security.patch deleted file mode 100644 index cff6225..0000000 --- a/a2ps-4.13-security.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a2ps-4.13/lib/routines.c.security Sat Oct 16 05:46:37 1999 -+++ a2ps-4.13/lib/routines.c Mon Feb 12 17:45:15 2001 -@@ -242,3 +242,50 @@ - /* Don't complain if you can't unlink. Who cares of a tmp file? */ - unlink (filename); - } -+ -+/* -+ * Securely generate a temp file, and make sure it gets -+ * deleted upon exit. -+ */ -+static char ** tempfiles; -+static unsigned ntempfiles; -+ -+static void -+cleanup_tempfiles() -+{ -+ while (ntempfiles--) -+ unlink(tempfiles[ntempfiles]); -+} -+ -+char * -+safe_tempnam(const char *pfx) -+{ -+ char *dirname, *filename; -+ int fd; -+ -+ if (!(dirname = getenv("TMPDIR"))) -+ dirname = "/tmp"; -+ -+ tempfiles = (char **) realloc(tempfiles, -+ (ntempfiles+1) * sizeof(char *)); -+ if (tempfiles == NULL) -+ return NULL; -+ -+ filename = malloc(strlen(dirname) + strlen(pfx) + sizeof("/XXXXXX")); -+ if (!filename) -+ return NULL; -+ -+ sprintf(filename, "%s/%sXXXXXX", dirname, pfx); -+ -+ if ((fd = mkstemp(filename)) < 0) { -+ free(filename); -+ return NULL; -+ } -+ close(fd); -+ -+ if (ntempfiles == 0) -+ atexit(cleanup_tempfiles); -+ tempfiles[ntempfiles++] = filename; -+ -+ return filename; -+} ---- a2ps-4.13/lib/routines.h.security Mon Oct 18 21:24:41 1999 -+++ a2ps-4.13/lib/routines.h Mon Feb 12 17:39:30 2001 -@@ -255,7 +255,8 @@ - /* If _STR_ is not defined, give it a tempname in _TMPDIR_ */ - #define tempname_ensure(Str) \ - do { \ -- (Str) = (Str) ? (Str) : tempnam (NULL, "a2_"); \ -+ (Str) = (Str) ? (Str) : safe_tempnam("a2_"); \ - } while (0) -+char * safe_tempnam(const char *); - - #endif diff --git a/a2ps-4.13-varargs.patch b/a2ps-4.13-varargs.patch deleted file mode 100644 index 7339376..0000000 --- a/a2ps-4.13-varargs.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- a2ps-4.13/lib/printlen.c.orig Fri Jun 1 16:38:21 2001 -+++ a2ps-4.13/lib/printlen.c Fri Jun 1 16:38:28 2001 -@@ -28,14 +28,15 @@ - unsigned long strtoul (); - - static int --int_printflen (const char *format, va_list *args) -+int_printflen (const char *format, va_list args) - { - const char *cp; - int total_width = 0; - int width = 0; - va_list ap; - -- memcpy (&ap, args, sizeof (va_list)); -+ __va_copy(ap, args); -+ /* memcpy (&ap, args, sizeof (va_list)); */ - - for (cp = format ; *cp ; cp++) - { -@@ -99,7 +100,7 @@ - int - vprintflen (const char *format, va_list args) - { -- return int_printflen (format, &args); -+ return int_printflen (format, args); - } - - int ---- a2ps-4.13/lib/title.c.orig Fri Jun 1 16:19:04 2001 -+++ a2ps-4.13/lib/title.c Fri Jun 1 16:20:16 2001 -@@ -83,11 +83,13 @@ - VA_START (args, format); - - len = vprintflen (format, args); -+ va_end(args); - if (format [strlen (format) - 1] == '\n') - len --; - if (center_p) - for (padding = 0 ; padding < 79 - len ; padding += 2) - putc (' ', stream); -+ VA_START (args, format); - # if HAVE_VPRINTF || _LIBC - vfprintf (stream, format, args); - # else diff --git a/a2ps-4.13b-attr.patch b/a2ps-4.13b-attr.patch deleted file mode 100644 index c157604..0000000 --- a/a2ps-4.13b-attr.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- a2ps-4.13/lib/fonts.c.attr Wed Jan 9 14:41:27 2002 -+++ a2ps-4.13/lib/fonts.c Wed Jan 9 14:42:01 2002 -@@ -2173,7 +2173,7 @@ - * in the encoding specific dictionary - */ - int --font_is_to_reencode (PARAM_UNUSED struct a2ps_job * job, const char * key) -+font_is_to_reencode (struct a2ps_job * job PARAM_UNUSED, const char * key) - { - return !strequ (key, "Symbol"); - } ---- a2ps-4.13/lib/lister.c.attr Wed Jan 9 14:41:30 2002 -+++ a2ps-4.13/lib/lister.c Wed Jan 9 14:42:28 2002 -@@ -333,7 +333,7 @@ - } - - void --lister_fprint_vertical (struct lister * lister, PARAM_UNUSED FILE *unused, -+lister_fprint_vertical (struct lister * lister, FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) -@@ -483,7 +483,7 @@ - /* FIXME: document */ - - void --lister_fprint_horizontal (struct lister * lister, PARAM_UNUSED FILE *unused, -+lister_fprint_horizontal (struct lister * lister, FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) -@@ -577,7 +577,7 @@ - */ - - void --lister_fprint_separated (struct lister * lister,PARAM_UNUSED FILE *unused, -+lister_fprint_separated (struct lister * lister,FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) ---- a2ps-4.13/lib/media.c.attr Wed Jan 9 14:41:33 2002 -+++ a2ps-4.13/lib/media.c Wed Jan 9 14:42:35 2002 -@@ -190,7 +190,7 @@ - - /* Is libpaper used? */ - bool --a2ps_medium_libpaper_p (PARAM_UNUSED a2ps_job * job, const char * name) -+a2ps_medium_libpaper_p (a2ps_job * job PARAM_UNUSED, const char * name) - { - return strequ (name, LIBPAPER_MEDIUM) ? true : false; - } ---- a2ps-4.13/lib/pathwalk.c.attr Wed Jan 9 14:41:38 2002 -+++ a2ps-4.13/lib/pathwalk.c Wed Jan 9 14:42:47 2002 -@@ -425,14 +425,14 @@ - /* Helping functions for pw_glob. */ - - static bool --pw_filter_fnmatch (PARAM_UNUSED const char * dir, const char *file, -+pw_filter_fnmatch (const char * dir PARAM_UNUSED, const char *file, - const char *pattern) - { - return !fnmatch (pattern, file, 0); - } - - static void --pw_filter_da_append (PARAM_UNUSED const char * dir, const char *file, -+pw_filter_da_append (const char * dir PARAM_UNUSED, const char *file, - struct darray *da) - { - da_append (da, xstrdup (file)); ---- a2ps-4.13/lib/routines.c.attr Wed Jan 9 14:41:42 2002 -+++ a2ps-4.13/lib/routines.c Wed Jan 9 14:42:54 2002 -@@ -235,7 +235,7 @@ - * Unlink the file FILENAME. - */ - void --unlink2 (PARAM_UNUSED void * dummy, const char * filename) -+unlink2 (void * dummy PARAM_UNUSED, const char * filename) - { - message (msg_tool | msg_file, (stderr, "Unlinking file `%s'\n", filename)); - ---- a2ps-4.13/lib/fonts.l.attr Wed Jan 9 14:58:38 2002 -+++ a2ps-4.13/lib/fonts.l Wed Jan 9 14:58:52 2002 -@@ -585,7 +585,7 @@ - * in the encoding specific dictionary - */ - int --font_is_to_reencode (PARAM_UNUSED struct a2ps_job * job, const char * key) -+font_is_to_reencode (struct a2ps_job * job PARAM_UNUSED, const char * key) - { - return !strequ (key, "Symbol"); - } diff --git a/a2ps-4.13b-encoding.patch b/a2ps-4.13b-encoding.patch index d4337b6..0b26e4a 100644 --- a/a2ps-4.13b-encoding.patch +++ b/a2ps-4.13b-encoding.patch @@ -1,39 +1,8 @@ ---- a2ps-4.13/etc/a2ps-site.cfg.in.encoding 2000-01-15 23:39:36.000000000 +0000 -+++ a2ps-4.13/etc/a2ps-site.cfg.in 2002-08-05 10:22:20.000000000 +0100 -@@ -11,7 +11,7 @@ - ################################################################# - - # Default encoding --Options: --encoding=@ENCODING@ -+#Options: --encoding=@ENCODING@ - - # Default medium - Options: --medium=@MEDIUM@ ---- a2ps-4.13/src/main.c.encoding 2002-08-05 10:22:20.000000000 +0100 -+++ a2ps-4.13/src/main.c 2002-08-05 10:22:20.000000000 +0100 -@@ -32,6 +32,7 @@ - /************************************************************************/ - #include - #include -+#include - #include - - #include "a2ps.h" -@@ -1021,9 +1022,8 @@ - sheets_map = sheets_map_new (); - style_sheets = new_style_sheets (); - -- /* Process special case: Japanese Document */ -- if (! strncmp (locale, "ja", 2) ) -- job->requested_encoding_name = xstrdup ("euc-jp"); -+ /* Use locale to set default encoding. */ -+ job->requested_encoding_name = xstrdup (nl_langinfo (CODESET)); - - /* Process the command line options. */ - argn = a2ps_handle_options (job, argc, argv); ---- a2ps-4.13/encoding/encoding.map.encoding 2002-08-05 10:22:20.000000000 +0100 -+++ a2ps-4.13/encoding/encoding.map 2002-08-05 10:38:55.000000000 +0100 -@@ -45,6 +45,7 @@ +diff --git a/encoding/encoding.map b/encoding/encoding.map +index 926749e..7eb3873 100644 +--- a/encoding/encoding.map ++++ b/encoding/encoding.map +@@ -45,6 +45,7 @@ us-ascii ascii latin1 iso1 iso1 iso1 iso-8859-1 iso1 @@ -41,10 +10,45 @@ latin2 iso2 iso2 iso2 -@@ -128,3 +129,6 @@ +@@ -142,3 +143,6 @@ hp8 hp # Apple' Macintosh mac mac macintosh mac + +# We don't handle UTF-8 at all yet. Sometimes latin1 will work... +utf-8 iso1 +diff --git a/etc/a2ps-site.cfg.in b/etc/a2ps-site.cfg.in +index 2bbcddd..f9f699d 100644 +--- a/etc/a2ps-site.cfg.in ++++ b/etc/a2ps-site.cfg.in +@@ -11,7 +11,7 @@ + ################################################################# + + # Default encoding +-Options: --encoding=@ENCODING@ ++#Options: --encoding=@ENCODING@ + + ################################################################# + # 2) Your printers # +diff --git a/src/main.c b/src/main.c +index 32699ce..b015fb0 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -25,6 +25,7 @@ + #include + + #include ++#include + #include + + #include "a2ps.h" +@@ -989,6 +990,9 @@ main (int argc, char *argv[]) + sheets_map = sheets_map_new (); + style_sheets = new_style_sheets (); + ++ /* Use locale to set default encoding. */ ++ job->requested_encoding_name = xstrdup (nl_langinfo (CODESET)); ++ + /* Process the command line options. */ + argn = a2ps_handle_options (job, argc, argv); + switch (behavior) { diff --git a/a2ps-4.13b-numeric.patch b/a2ps-4.13b-numeric.patch index b7d0990..e6dbe77 100644 --- a/a2ps-4.13b-numeric.patch +++ b/a2ps-4.13b-numeric.patch @@ -1,10 +1,11 @@ ---- a2ps-4.13/src/main.c.numeric Wed Jan 9 14:59:46 2002 -+++ a2ps-4.13/src/main.c Wed Jan 9 15:03:52 2002 -@@ -951,6 +951,7 @@ +diff -up a2ps-4.15.5/src/main.c.numeric a2ps-4.15.5/src/main.c +--- a2ps-4.15.5/src/main.c.numeric 2023-07-25 13:51:15.682949214 +0200 ++++ a2ps-4.15.5/src/main.c 2023-07-25 13:56:01.934924976 +0200 +@@ -927,6 +927,7 @@ main (int argc, char *argv[]) + setlocale (LC_MESSAGES, ""); + setlocale (LC_CTYPE, ""); setlocale (LC_PAPER, ""); - - locale = setlocale (LC_ALL, ""); + setlocale (LC_NUMERIC, "C"); - /* fprintf(stderr, "locale : %s\n", locale); */ bindtextdomain (PACKAGE, LOCALEDIR); + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); diff --git a/a2ps-4.14-texinfo-nodes.patch b/a2ps-4.14-texinfo-nodes.patch new file mode 100644 index 0000000..a06fb2d --- /dev/null +++ b/a2ps-4.14-texinfo-nodes.patch @@ -0,0 +1,128 @@ +diff -up a2ps-4.15.5/doc/a2ps.texi.nodes a2ps-4.15.5/doc/a2ps.texi +--- a2ps-4.15.5/doc/a2ps.texi.nodes 2023-07-25 18:04:09.076935779 +0200 ++++ a2ps-4.15.5/doc/a2ps.texi 2023-07-25 18:11:46.197081542 +0200 +@@ -342,11 +342,11 @@ Contributions + + Frequently asked questions + +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + +-Why Does...? ++Why Does? + + * It Prints Nothing:: The printer issues nothing + * It Prints in Simplex:: While I asked for Duplex +@@ -356,7 +356,7 @@ Why Does...? + * It Says my File is Binary:: And refuses to print it + * It Refuses to Change the Font Size:: + +-How Can I ...? ++How Can I? + + * Leave Room for Binding:: Specifying Margins + * Print stdin:: Using a2ps in a pipe chain +@@ -365,7 +365,7 @@ How Can I ...? + * Pass Options to lpr:: Disable the banner + * Man Pages with Underlines:: Now it Prints With Italics + +-Please tell me... ++Please tell me + + * Is a2ps Y2K compliant?:: Printing dates in short format + * Why not using yacc:: Why Using Style Sheets +@@ -5841,13 +5841,13 @@ question about the options, etc. It has + suggestions, not to contact the authors. + + @menu +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + @end menu + +-@node Why Does ...? +-@section Why Does...? ++@node Why Does? ++@section Why Does? + + Error related questions. + +@@ -6069,8 +6069,8 @@ Note that the `pure' options (no side-ef + virtual pages are @samp{--columns} and @samp{--rows}. + + @c -----------------------------How can I ? ------------------------------ +-@node How Can I ...? +-@section How Can I ...? ++@node How Can I? ++@section How Can I? + + A mini how-to on @pack{}. + +@@ -6152,8 +6152,8 @@ Use @samp{a2ps --pro=ul}. + + + @c -------------------------- Please Tell me ? ------------------------------ +-@node Please tell me... +-@section Please tell me... ++@node Please tell me ++@section Please tell me + + Wondering something? + +diff -up a2ps-4.15.5/doc/regex.texi.nodes a2ps-4.15.5/doc/regex.texi +--- a2ps-4.15.5/doc/regex.texi.nodes 2022-05-01 14:00:35.000000000 +0200 ++++ a2ps-4.15.5/doc/regex.texi 2023-07-25 18:04:09.094935900 +0200 +@@ -121,7 +121,7 @@ Regular Expression Syntax + + * Syntax Bits:: + * Predefined Syntaxes:: +-* Collating Elements vs. Characters:: ++* Collating Elements vs Characters:: + * The Backslash Character:: + + Common Operators +@@ -305,7 +305,7 @@ In the following sections, we describe t + @menu + * Syntax Bits:: + * Predefined Syntaxes:: +-* Collating Elements vs. Characters:: ++* Collating Elements vs Characters:: + * The Backslash Character:: + @end menu + +@@ -470,7 +470,7 @@ operator (based on how @code{RE_NO_BK_PA + @end table + + +-@node Predefined Syntaxes, Collating Elements vs. Characters, Syntax Bits, Regular Expression Syntax ++@node Predefined Syntaxes, Collating Elements vs Characters, Syntax Bits, Regular Expression Syntax + @section Predefined Syntaxes + + If you're programming with Regex, you can set a pattern buffer's +@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly + | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) + @end example + +-@node Collating Elements vs. Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax +-@section Collating Elements vs.@: Characters ++@node Collating Elements vs Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax ++@section Collating Elements vs@: Characters + + @sc{posix} generalizes the notion of a character to that of a + collating element. It defines a @dfn{collating element} to be ``a +@@ -577,7 +577,7 @@ collating element. For example, the Spa + Since @sc{posix}'s ``collating element'' preserves the essential idea of + a ``character,'' we use the latter, more familiar, term in this document. + +-@node The Backslash Character, , Collating Elements vs. Characters, Regular Expression Syntax ++@node The Backslash Character, , Collating Elements vs Characters, Regular Expression Syntax + @section The Backslash Character + + @cindex @samp{\} diff --git a/a2ps-U.patch b/a2ps-U.patch new file mode 100644 index 0000000..eff7118 --- /dev/null +++ b/a2ps-U.patch @@ -0,0 +1,11 @@ +--- a2ps-4.13/contrib/pdiff.in.U 2005-05-05 12:46:05.000000000 +0100 ++++ a2ps-4.13/contrib/pdiff.in 2005-05-05 12:47:34.000000000 +0100 +@@ -182,7 +182,7 @@ + # We need the total number of lines + lines=`wc -l $file1 $file2 | sed -n 3p` + lines=`set -- $lines && echo $1` +- $diff_prog $diff_options -$lines $file1 $file2 \ ++ $diff_prog $diff_options -U$lines $file1 $file2 \ + | $a2ps -gEudiff $a2ps_options || exit 1 + ;; + esac diff --git a/a2ps-forward-null.patch b/a2ps-forward-null.patch new file mode 100644 index 0000000..6aa308e --- /dev/null +++ b/a2ps-forward-null.patch @@ -0,0 +1,19 @@ +diff -up a2ps-4.15.5/liba2ps/pathwalk.c.forward-null a2ps-4.15.5/liba2ps/pathwalk.c +--- a2ps-4.15.5/liba2ps/pathwalk.c.forward-null 2023-07-25 18:17:35.906486748 +0200 ++++ a2ps-4.15.5/liba2ps/pathwalk.c 2023-07-25 18:18:16.767767587 +0200 +@@ -335,12 +335,12 @@ xpw_find_included_file (char * const *pa + /* Relative. Give its root. */ + dir = dir_name (including_file); + +- res = ALLOCA (char, (strlen (dir) ++ res = ALLOCA (char, ((dir ? strlen (dir) : 0) + + strlen (name) + + (suffix ? strlen (suffix) : 0) + + 2)); +- sprintf (res, "%s%c%s%s", dir, DIRECTORY_SEPARATOR, +- name, suffix ? suffix : ""); ++ sprintf (res, "%s%c%s%s", dir ? dir : "", DIRECTORY_SEPARATOR, ++ dir ? name : name + 1, suffix ? suffix : ""); + if (stat (res, &statbuf) == 0) + return xstrdup (res); + diff --git a/a2ps-iso5-minus.patch b/a2ps-iso5-minus.patch new file mode 100644 index 0000000..5da644b --- /dev/null +++ b/a2ps-iso5-minus.patch @@ -0,0 +1,12 @@ +diff -up a2ps-4.13/encoding/iso5.edf.iso5-minus a2ps-4.13/encoding/iso5.edf +--- a2ps-4.13/encoding/iso5.edf.iso5-minus 2007-09-25 17:57:32.000000000 +0100 ++++ a2ps-4.13/encoding/iso5.edf 2007-09-25 17:57:55.000000000 +0100 +@@ -69,7 +69,7 @@ Vector: + .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef + .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef space + exclam quotedbl numbersign dollar percent ampersand quoteright +-parenleft parenright asterisk plus comma minus period slash zero one ++parenleft parenright asterisk plus comma hyphen period slash zero one + two three four five six seven eight nine colon semicolon less equal + greater question at A B C D E F G H I J K L M N O P Q R S T U V W X Y + Z bracketleft backslash bracketright asciicircum underscore quoteleft diff --git a/a2ps-make-fonts-map.patch b/a2ps-make-fonts-map.patch new file mode 100644 index 0000000..e029b4b --- /dev/null +++ b/a2ps-make-fonts-map.patch @@ -0,0 +1,29 @@ +--- a2ps-4.13/afm/make_fonts_map.sh.make-fonts-map 1999-01-20 14:28:27.000000000 +0000 ++++ a2ps-4.13/afm/make_fonts_map.sh 2004-12-09 12:34:45.517150083 +0000 +@@ -58,23 +58,15 @@ + do + # Extract the font name. + name=`sed -n -e '/^FontName/{ +-s/FontName[ ]*\([-a-zA-Z]*\).*/\1/p ++s/FontName[ ]*\([-a-zA-Z0-9]*\).*/\1/p + q + }' $file` + shortname=`basename $file | sed -e 's/\.[^\.]*$//g'` + if test x$name = x; then :; else +- # This is probably not a correct AFM file. ++ # If name was empty this is probably not a correct AFM file. + # (For instance Ogonkify's pseudo AFMs that define the encodings) + # Forget it. +- col1=`echo "$name$many_spaces" | sed -e 's/^\('$many_dots'\).*$/\1/g'` +- # Make sure the name has not been cut +- case "$col1" in +- $name*) ;; +- *) echo "A name has been cut ($name -> $col1)." 1>&2 +- exit 1 ;; +- esac +- col2="$shortname" +- echo "$col1$col2" >> fonts.map.new ++ printf "%-30s %s\n" $name $shortname >> fonts.map.new + fi + done + diff --git a/a2ps-mb.patch b/a2ps-mb.patch new file mode 100644 index 0000000..b331f52 --- /dev/null +++ b/a2ps-mb.patch @@ -0,0 +1,14 @@ +diff -up a2ps-4.15.5/liba2ps/psgen.c.mb a2ps-4.15.5/liba2ps/psgen.c +--- a2ps-4.15.5/liba2ps/psgen.c.mb 2023-07-25 18:01:44.062963119 +0200 ++++ a2ps-4.15.5/liba2ps/psgen.c 2023-07-25 18:03:37.883726559 +0200 +@@ -854,8 +854,8 @@ ps_print_char (a2ps_job * job, char c, e + if ((unsigned char) c > 127 && encoding_get_composite_flag (job->encoding) && + job->status->face != Symbol) { + if (mb_flag) { +- nchars = ps_escape_char (job, mb_flag, buf) + +- ps_escape_char (job, (unsigned char) c, buf); ++ nchars = ps_escape_char (job, mb_flag, buf); ++ nchars += ps_escape_char (job, (unsigned char)c, buf); + job->status->wx += char_composite_WX(job); + job->status->column += nchars; + if (line_full) { diff --git a/a2ps-overrun-dynamic.patch b/a2ps-overrun-dynamic.patch new file mode 100644 index 0000000..d58bed3 --- /dev/null +++ b/a2ps-overrun-dynamic.patch @@ -0,0 +1,21 @@ +diff -up a2ps-4.15.5/liba2ps/darray.c.overrun-dynamic a2ps-4.15.5/liba2ps/darray.c +--- a2ps-4.15.5/liba2ps/darray.c.overrun-dynamic 2022-06-11 22:16:14.000000000 +0200 ++++ a2ps-4.15.5/liba2ps/darray.c 2023-07-25 18:23:24.509882456 +0200 +@@ -383,7 +383,7 @@ da_qsort (struct darray * arr) + jstack += 2; + /* Push pointers to larger subarry on stack. + * Process smaller subarrays now */ +- if (jstack > QSORT_STACK) ++ if (jstack >= QSORT_STACK) + error (da_exit_error, 0, "da_qsort: QSORT_STACK too small (%d)", + QSORT_STACK); + if (ir - i + 1 >= j - l) { +@@ -461,7 +461,7 @@ da_qsort_with_arg (struct darray * arr, + jstack += 2; + /* Push pointers to larger subarry on stack. + * Process smaller subarrays now */ +- if (jstack > QSORT_STACK) ++ if (jstack >= QSORT_STACK) + error (da_exit_error, 0, "da_qsort: QSORT_STACK too small (%d)", + QSORT_STACK); + if (ir - i + 1 >= j - l) { diff --git a/a2ps-overrun-static.patch b/a2ps-overrun-static.patch new file mode 100644 index 0000000..e3585fe --- /dev/null +++ b/a2ps-overrun-static.patch @@ -0,0 +1,12 @@ +diff -up a2ps-4.14/liba2ps/metaseq.c.overrun-static a2ps-4.14/liba2ps/metaseq.c +--- a2ps-4.14/liba2ps/metaseq.c.overrun-static 2011-08-10 16:18:44.924915695 +0100 ++++ a2ps-4.14/liba2ps/metaseq.c 2011-08-10 16:19:04.739555258 +0100 +@@ -334,7 +334,7 @@ grow_user_string_obstack (struct obstack + { + /* `%D{}' format run date with strftime() */ + for (j = 0, i += 2; +- j < sizeof (buf2) && str[i] && str[i] != '}'; ++ j < sizeof (buf2) - 1 && str[i] && str[i] != '}'; + i++, j++) + buf2[j] = str[i]; + if (str[i] != '}') diff --git a/a2ps-perl.patch b/a2ps-perl.patch new file mode 100644 index 0000000..0b9bc97 --- /dev/null +++ b/a2ps-perl.patch @@ -0,0 +1,15 @@ +diff -up a2ps-4.13/sheets/perl.ssh.perl a2ps-4.13/sheets/perl.ssh +--- a2ps-4.13/sheets/perl.ssh.perl 2007-09-26 10:30:43.000000000 +0100 ++++ a2ps-4.13/sheets/perl.ssh 2007-09-26 10:47:47.000000000 +0100 +@@ -106,9 +106,9 @@ operators are + (/(s|tr)/ # 1. The command: `tr' or `s' + /(([[:punct:]])/ # 2. The delimiter + /(/ # 3. The *two* regexps +- /(.|\\\\.)*/ # First regexp ++ /(\\\\.)*/ # First regexp + /\\3/ # Separator +- /(.|\\\\.)*/ # Second Regexp ++ /(\\\\.)*/ # Second Regexp + /)/ # + /\\3)/ # Closer + \1 Keyword_strong, \2 Plain), diff --git a/a2ps-resource-leak.patch b/a2ps-resource-leak.patch new file mode 100644 index 0000000..ab1830c --- /dev/null +++ b/a2ps-resource-leak.patch @@ -0,0 +1,45 @@ +diff -up a2ps-4.15.5/liba2ps/encoding.c.resource-leak a2ps-4.15.5/liba2ps/encoding.c +--- a2ps-4.15.5/liba2ps/encoding.c.resource-leak 2023-07-25 18:30:14.422699484 +0200 ++++ a2ps-4.15.5/liba2ps/encoding.c 2023-07-25 18:34:22.033401969 +0200 +@@ -479,7 +479,7 @@ encoding_resolve_font_substitute (struct + if (!res) + { + if (encoding->default_font) +- res = encoding->default_font; ++ res = xstrdup (encoding->default_font); + else + error (1, 0, "cannot find font %s, nor any substitute", + last_font_name); +@@ -895,6 +895,7 @@ dump_encoding_setup (FILE * stream, + font_names [i]); + if (!font_is_to_reencode (job, real_font_name)) + da_remove_at (encoding->font_names_used, i); ++ free (real_font_name); + } + + /* The number of fonts that, finally, have to be encoded +@@ -911,10 +912,15 @@ dump_encoding_setup (FILE * stream, + fprintf (stream, "/%sdict %zu dict begin\n", encoding->key, + (encoding->composite_flag == true)? nb+nb+ns:nb+ns); + for (i = 0 ; i < nb ; i++) ++ { ++ char *real_font = encoding_resolve_font_substitute (job, encoding, ++ font_names [i]); + fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", + font_names [i], + encoding->name, +- encoding_resolve_font_substitute (job, encoding, font_names [i])); ++ real_font); ++ free (real_font); ++ } + + /* Slant font setting */ + for (i = 0 ; encoding->slantfont[i].name ; i++ ) +@@ -1075,6 +1081,7 @@ encoding_build_faces_wx (a2ps_job * job, + encoding->vector, + encoding->faces_wx [face]); + ++ free (true_font_name); + if (encoding->composite_flag) + { + encoding->composite_ratio[i] = diff --git a/a2ps-shell.patch b/a2ps-shell.patch deleted file mode 100644 index b26f648..0000000 --- a/a2ps-shell.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a2ps-4.13/src/select.c.shell 2004-07-29 16:43:08.178940204 +0100 -+++ a2ps-4.13/src/select.c 2004-07-29 16:43:09.328722698 +0100 -@@ -148,8 +148,10 @@ - command = ALLOCA (char, (2 - + strlen (job->file_command) - + ustrlen (filename))); -- sprintf (command, "%s %s", job->file_command, (const char *) filename); -- message (msg_tool, (stderr, "Reading pipe: `%s'\n", command)); -+ setenv ("filename", (const char *) filename, 1); -+ sprintf (command, "%s \"${filename}\"", job->file_command); -+ message (msg_tool, (stderr, "Reading pipe: `%s' [filename=%s]\n", command, -+ (const char *) filename)); - file_out = popen (command, "r"); - - /* Check for failure */ diff --git a/a2ps-sort.patch b/a2ps-sort.patch new file mode 100644 index 0000000..ea0c305 --- /dev/null +++ b/a2ps-sort.patch @@ -0,0 +1,22 @@ +--- a2ps-4.13/i18n-fonts-0.1/make_fonts_map.sh.sort 2006-04-04 13:49:44.000000000 +0100 ++++ a2ps-4.13/i18n-fonts-0.1/make_fonts_map.sh 2006-04-04 13:52:00.000000000 +0100 +@@ -80,7 +80,7 @@ + + # Sort them by name, and keep a unique file for each font + echo "Sorting entries..." 1>&2 +-sort -u -t' ' +0 -1 fonts.map.new > fonts.map.tmp ++sort -u -t' ' -k1,2 fonts.map.new > fonts.map.tmp + + echo "Finishing." 1>&2 + cat > fonts.map.new <&2 +-sort -u -t' ' +0 -1 fonts.map.new > fonts.map.tmp ++sort -u -t' ' -k1,2 fonts.map.new > fonts.map.tmp + + echo "Finishing." 1>&2 + cat > fonts.map.new </dev/null) + +# used during runtime for delegation +Recommends: bzip2 +# Perl parts of groff text processor - ROFF delegation for man pages +Recommends: groff-perl +# for compressed delegations +Recommends: gzip +# makeinfo for info documentation +Recommends: texinfo +# for DVI files support, it's DVI driver for tex +Recommends: texlive-dvips +# latex for LaTeX file support +Recommends: texlive-latex +# tex for Tex File support +Recommends: texinfo-tex + +# a2ps-lpr-wrapper uses lp/lpr +Requires: cups-client +# for hebrew support, path set. +# culmus-fonts +# And certainly other font sets for other languages may be needed +Requires: emacs-filesystem +Requires: file +# for ps2pdf - PDF output, pdf2ps - PDF delegation +Requires: ghostscript +# postscript delegation Requires: psutils -PreReq: sed, coreutils -Obsoletes: a2ps-i18n -Provides: a2ps-i18n +Requires: psutils-perl +# set of recommended fonts, looks to be for postscript as well +Requires: texlive-collection-fontsrecommended + +Requires(post): coreutils + +%if 0%{?rhel} <= 8 || 0%{?fedora} +# image delegations +Requires: ImageMagick +# html delegations +Recommends: html2ps +%endif + +# for emacs support +Suggests: emacs %description -The a2ps filter converts text and other types of files to PostScript(TM). +The a2ps filter converts text and other types of files to PostScript. A2ps has pretty-printing capabilities and includes support for a wide number of programming languages, encodings (ISO Latins, Cyrillic, etc.), and medias. + %prep -%setup -q -n %{name}-4.13 -a 1 -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -b .security -%patch4 -p1 -b .glibcpaper -%patch5 -p1 - -%patch10 -p1 -b .euc -%patch11 -p1 -b .ae -%patch12 -p1 -b .attr +%setup -q -a 1 +# use fedora postscript font paths +%patch -P 01 -p1 -b .conf +# add /etc/a2ps in directories searched for config files +%patch -P 02 -p1 -b .etc +%patch -P 03 -p1 -b .glibcpaper +%patch -P 04 -p1 -b .sort +%patch -P 05 -p1 -b .iso5-minus +%patch -P 06 -p1 -b .perl # Use C locale's decimal point style (bug #53715). -%patch13 -p1 -b .numeric - +%patch -P 07 -p1 -b .numeric # Use locale to determine a sensible default encoding (bug #64584). -%patch14 -p1 -b .encoding - +%patch -P 08 -p1 -b .encoding # Fix koi8 tilde (bug #66393). -%patch15 -p1 -b .tilde - -# Prevent configure from going interactive (bug #70333). -%patch16 -p1 -b .rm - +%patch -P 09 -p1 -b .tilde # Add Korean resource file (bug #81421). -%patch17 -p1 -b .euckr - -# Prevent strsignal segfaulting (bug #104970). -%patch18 -p1 -b .gnusource - -# Fix problems in .y file spotted by stricter bison. -%patch19 -p1 -b .bison - +%patch -P 10 -p1 -b .euckr # Hebrew support (bug #113191). -%patch20 -p1 -b .hebrew +%patch -P 11 -p1 -b .hebrew +# Fix problems in make_fonts_map script (bug #142299). Patch from +# Michal Jaegermann. +%patch -P 12 -p1 -b .make-fonts-map +# Make pdiff default to not requiring wdiff (bug #68537). +%patch -P 13 -p1 -b .wdiff +# Make pdiff use diff(1) properly (bug #156916). +%patch -P 14 -p1 -b .U +# Fixed multibyte handling (bug #212154). +%patch -P 15 -p1 -b .mb +# Remove dots in node names, patch from Vitezslav Crhonek (Bug #445971) +%patch -P 16 -p1 -b .nodes +# Coverity fix (forward-null). +%patch -P 17 -p1 -b .forward-null +# Coverity fix (overrun-dynamic). +%patch -P 18 -p1 -b .overrun-dynamic +# Coverity fix (overrun-static). +%patch -P 19 -p1 -b .overrun-static +# Coverity fix (resource-leak). +%patch -P 20 -p1 -b .resource-leak -# Prevent "error: conflicting types for 'malloc'". -%patch21 -p1 -b .malloc +for file in AUTHORS ChangeLog; do + iconv -f latin1 -t UTF-8 < $file > $file.utf8 + touch -c -r $file $file.utf8 + mv $file.utf8 $file +done -# Use environment variable to pass filenames to shell (bug #128647). -%patch22 -p1 -b .shell +autoreconf -fi + +mv doc/encoding.texi doc/encoding.texi.utf8 +iconv -f KOI-8 -t UTF-8 doc/encoding.texi.utf8 -o doc/encoding.texi # Fix reference to a2ps binary (bug #112930). -perl -pi -e "s,/usr/local/bin,%{_bindir}," contrib/emacs/a2ps.el -libtoolize --copy --force +sed -i -e "s,/usr/local/bin,%{_bindir}," contrib/emacs/a2ps.el + +chmod 644 encoding/iso8.edf.hebrew +chmod 644 encoding/euc-kr.edf.euckr + %build -chmod 644 {po/ja.po,encoding/euc-jp.edf,README.eucJP}.euc -chmod 644 encoding/euc-kr.edf.euckr -touch `find $PWD` -EMACS=emacs ./configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --sysconfdir=%{_sysconfdir} \ - --infodir=%{_infodir} \ - --mandir=%{_mandir} \ - --datadir=%{_datadir} \ +# preset the date in README.in to avoid the timestamp of the build time +sed -e "s!@date@!`date -r NEWS`!" etc/README.in > etc/README.in.tmp +touch -c -r etc/README.in etc/README.in.tmp +mv etc/README.in.tmp etc/README.in + +EMACS=emacs %configure \ --with-medium=_glibc \ - --enable-kanji + --enable-kanji \ + --with-lispdir=%{_emacs_sitelispdir}/%{name} # Remove prebuilt info files to force regeneration at build time find . -name "*.info*" -exec rm -f {} \; # force rebuilding scanners by flex - patched or not find src lib -name '*.l' -exec touch {} \; # these scanners use 'lineno' - incompatible with -CFe flex flags -( - cd src - /bin/sh ../auxdir/ylwrap "flex" sheets-map.l lex.yy.c sheets-map.c -- - /bin/sh ../auxdir/ylwrap "flex" lexssh.l lex.yy.c lexssh.c -- - cd ../lib - /bin/sh ../auxdir/ylwrap "flex" lexppd.l lex.yy.c lexppd.c -- -) +#( +# cd src +# /bin/sh ../auxdir/ylwrap "flex" sheets-map.l lex.yy.c sheets-map.c -- +# /bin/sh ../auxdir/ylwrap "flex" lexssh.l lex.yy.c lexssh.c -- +# cd ../lib +# /bin/sh ../auxdir/ylwrap "flex" lexppd.l lex.yy.c lexppd.c -- +#) + +make %{?_smp_mflags} -make CFLAGS="$RPM_OPT_FLAGS" %install -rm -rf $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT install +make DESTDIR=%{buildroot} install INSTALL='install -p' + +# reset the timestamp for the generated etc/README file +touch -r etc/README.in %{buildroot}%{_datadir}/a2ps/README + +mkdir -p %{buildroot}%{_sysconfdir}/a2ps mkdir -p %{buildroot}%{_datadir}/a2ps/{afm,fonts} pushd i18n-fonts-0.1/afm -install -m 0644 *.afm %{buildroot}%{_datadir}/a2ps/afm +install -p -m 0644 *.afm %{buildroot}%{_datadir}/a2ps/afm pushd ../fonts -install -m 0644 *.pfb %{buildroot}%{_datadir}/a2ps/fonts +install -p -m 0644 *.pfb %{buildroot}%{_datadir}/a2ps/fonts popd popd -### FIXME ### -inst() -{ -mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/ -for f in contrib/emacs/*.el; do \ - install -m 0644 $f %{buildroot}%{_datadir}/emacs/site-lisp/ ; done -} +rm -f %{buildroot}%{_infodir}/dir -rm -f $RPM_BUILD_ROOT%{_infodir}/dir -gzip $RPM_BUILD_ROOT%{_infodir}/* || : +mkdir -p %{buildroot}%{_defaultlicensedir}/%{name} +install -p -m 644 %{SOURCE2} %{buildroot}%{_defaultlicensedir}/%{name}/COPYING + +for lang in af be bg ca cs da de el eo es et eu fi fr ga gl hu it ja ka ko ms nb nl pl pt pt_BR ro ru rw sk sl sr sv tr uk vi zh_CN zh_TW +do + mv %{buildroot}/usr/share/locale/$lang/LC_MESSAGES/a2ps{-gnulib,}.mo +done %find_lang %name -%clean -rm -rf $RPM_BUILD_ROOT %post -/sbin/install-info %{_infodir}/a2ps.info.gz %{_infodir}/dir -/sbin/install-info %{_infodir}/ogonkify.info.gz %{_infodir}/dir -/sbin/install-info %{_infodir}/regex.info.gz %{_infodir}/dir +%{?ldconfig} (cd %{_datadir}/a2ps/afm; - ./make_fonts_map.sh > /dev/null 2>&1 || /bin/true - if [ -f fonts.map.new ]; then - mv fonts.map.new fonts.map - fi + ./make_fonts_map.sh > /dev/null 2>&1 || /bin/true + if [ -f fonts.map.new ]; then + mv fonts.map.new fonts.map + fi ) +exit 0 + +%ldconfig_postun -%preun -if [ $1 = 0 ]; then - /sbin/install-info --delete %{_infodir}/a2ps.info.gz %{_infodir}/dir - /sbin/install-info --delete %{_infodir}/ogonkify.info.gz %{_infodir}/dir - /sbin/install-info --delete %{_infodir}/regex.info.gz %{_infodir}/dir -fi %files -f %{name}.lang -%defattr(-,root,root) -%config (noreplace) %{_sysconfdir}/a2ps.cfg +%license COPYING +%doc AUTHORS ChangeLog NEWS README TODO THANKS +%dir %{_sysconfdir}/a2ps +%config %{_sysconfdir}/a2ps.cfg %config(noreplace) %{_sysconfdir}/a2ps-site.cfg -%doc AUTHORS ChangeLog COPYING NEWS README TODO THANKS -%{_bindir}/* -%{_libdir}/*.a -%{_libdir}/*.la -%{_includedir}/* -%{_infodir}/a2ps.info* -%{_infodir}/ogonkify.info* -%{_infodir}/regex.info* -%{_mandir}/*/* -%config %{_datadir}/a2ps/afm/fonts.map +%{_bindir}/a2ps +%{_bindir}/a2ps-lpr-wrapper +%{_bindir}/card +%{_bindir}/composeglyphs +%{_bindir}/fixps +%{_bindir}/lp2 +%{_bindir}/ogonkify +%{_bindir}/pdiff +%dir %{_datadir}/a2ps +%dir %{_datadir}/a2ps/afm %{_datadir}/a2ps/afm/*.afm +# automatically regenerated at install and update time +%verify(not size mtime md5) %{_datadir}/a2ps/afm/fonts.map %{_datadir}/a2ps/afm/make_fonts_map.sh %{_datadir}/a2ps/README %{_datadir}/a2ps/encoding @@ -189,11 +304,368 @@ fi %{_datadir}/a2ps/ps %{_datadir}/a2ps/sheets %{_datadir}/ogonkify/ -%{_datadir}/emacs/site-lisp/* -%dir %{_datadir}/a2ps/afm -%dir %{_datadir}/a2ps +%{_emacs_sitelispdir}/%{name} +%{_infodir}/a2ps.info* +%{_infodir}/ogonkify.info* +%{_infodir}/regex.info* +%{_mandir}/man1/a2ps-lpr-wrapper.1.gz +%{_mandir}/man1/a2ps.1.gz +%{_mandir}/man1/card.1.gz +%{_mandir}/man1/fixps.1.gz +%{_mandir}/man1/lp2.1.gz +%{_mandir}/man1/ogonkify.1.gz +%{_mandir}/man1/pdiff.1.gz %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 4.15.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Dec 12 2025 Zdenek Dohnal - 4.15.8-1 +- a2ps-4.15.8 is available (fedora#2418953) + +* Wed Jul 23 2025 Fedora Release Engineering - 4.15.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jul 14 2025 Zdenek Dohnal - 4.15.7-1 +- 4.15.7 (fedora#2379508) + +* Fri Jan 17 2025 Zdenek Dohnal - 4.15.6-3 +- fix build with GCC 15 (fedora#2336012) + +* Thu Jan 16 2025 Fedora Release Engineering - 4.15.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 4.15.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Mar 14 2024 Zdenek Dohnal - 4.15.6-1 +- 2269423 - a2ps-4.15.6 is available + +* Mon Jan 22 2024 Fedora Release Engineering - 4.15.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 4.15.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 27 2023 Zdenek Dohnal - 4.15.5-1 +- 2225694 - a2ps: FTBFS in Fedora rawhide/f39 +- 2189133 - a2ps: FTBFS in rawhide, 64-bit and C99 compatibility issues +- 2176254 - a2ps-4.15.5 is available +- SPDX migration done + +* Wed Jul 19 2023 Fedora Release Engineering - 4.14-53 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 4.14-52 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 4.14-51 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 4.14-50 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 4.14-49 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jan 25 2021 Fedora Release Engineering - 4.14-48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 18 2021 Zdenek Dohnal - 4.14-47 +- make eln changes - remove dependency on ImageMagick and html2ps + +* Thu Nov 05 2020 Zdenek Dohnal - 4.14-46 +- make nor gcc are in buildroot anymore + +* Fri Jul 31 2020 Fedora Release Engineering - 4.14-45 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 4.14-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 4.14-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 06 2020 Zdenek Dohnal - 4.14-42 +- a2ps: new texinfo needs to have documentencoding defined + +* Wed Jul 24 2019 Fedora Release Engineering - 4.14-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 4.14-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 4.14-39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jun 18 2018 Zdenek Dohnal - 4.14-38 +- removing install-info, because now it is done automatically + +* Mon Feb 19 2018 Zdenek Dohnal - 4.14-37 +- fix tetex-fonts dependency - now provided by texlive-collections-fontsrecommended + +* Fri Feb 16 2018 Zdenek Dohnal - 4.14-36 +- remove tetex dependency + +* Thu Feb 08 2018 Zdenek Dohnal - 4.14-35 +- remove old stuff https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/MRWOMRZ6KPCV25EFHJ2O67BCCP3L4Y6N/ + +* Wed Feb 07 2018 Fedora Release Engineering - 4.14-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Nov 07 2017 Igor Gnatenko - 4.14-33 +- Remove old crufty coreutils requires + +* Wed Aug 02 2017 Fedora Release Engineering - 4.14-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 4.14-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 4.14-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 4.14-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jun 23 2015 Tim Waugh - 4.14-28 +- Moved emacs sub-packages into main package (bug #1234582). + +* Tue Jun 16 2015 Fedora Release Engineering - 4.14-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Aug 15 2014 Fedora Release Engineering - 4.14-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 06 2014 Fedora Release Engineering - 4.14-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Apr 3 2014 Tim Waugh - 4.14-24 +- Prevent another build failure with -Werror=format-security. + +* Tue Apr 1 2014 Tim Waugh - 4.14-23 +- Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). + +* Tue Dec 3 2013 Tim Waugh - 4.14-22 +- Prevent build failure with -Werror=format-security (bug #1036979). + +* Sat Aug 03 2013 Fedora Release Engineering - 4.14-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Apr 30 2013 Tim Waugh - 4.14-20 +- Avoid a bad free in the encoding handling logic (bug #954104). + +* Mon Apr 29 2013 Tim Waugh - 4.14-19 +- Support for building on aarch64 (bug #924962). + +* Tue Mar 26 2013 Tim Waugh - 4.14-18 +- Fixed texi build failure (bug #927633). + +* Wed Feb 13 2013 Fedora Release Engineering - 4.14-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 4.14-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Apr 4 2012 Tim Waugh - 4.14-15 +- Link to libm in liba2ps (bug #809673). + +* Thu Jan 12 2012 Fedora Release Engineering - 4.14-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Aug 10 2011 Tim Waugh - 4.14-13 +- Coverity fixes (resource-leak, overrun-static, overrun-dynamic, + forward-null). + +* Mon Feb 07 2011 Fedora Release Engineering - 4.14-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Mar 14 2010 Jonathan G. Underwood - 4.14-11 +- Spec file fixes for Emacs add-on guideline compliance +- Move *.el(c) files to their own directory +- Use Emacs packaging macros +- Remove unneeded pkgconfig macros + +* Fri Jul 24 2009 Fedora Release Engineering - 4.14-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 22 2009 Adam Jackson 4.14-9 +- Requires: psutils-perl for fixps + +* Mon Feb 23 2009 Fedora Release Engineering - 4.14-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Jan 30 2009 Tim Waugh 4.14-7 +- Removed trade marks to avoid potential confusion. + +* Wed Sep 24 2008 Tim Waugh 4.14-6 +- Removed patch fuzz. + +* Thu May 29 2008 Tim Waugh 4.14-5 +- Removed old patches. + +* Sun May 18 2008 Patrice Dumas 4.14-4 +- remove dots in node names, patch from Vitezslav Crhonek (bug #445971) + +* Wed May 14 2008 Patrice Dumas 4.14-3 +- %%{_datadir}/a2ps/afm/fonts.map is dynamically generated, mark it + as such in %%files (bug #70919) + +* Sun Apr 27 2008 Patrice Dumas 4.14-2 +- update to 4.14 +- don't obsolete the provided version of a2ps-i18n +- use html2ps for the html delegation +- BuildRequires gperf + +* Tue Feb 12 2008 Patrice Dumas 4.13b-71 +- use a predictable stamp inside the etc/README file +- follow emacs packaging guidelines + +* Tue Feb 12 2008 Tim Waugh 4.13b-70 +- Separate out libs sub-package for multilib (bug #340571). + +* Wed Sep 26 2007 Tim Waugh 4.13b-69 +- Try out a perl stylesheet speed improvement (bug #252183). + +* Tue Sep 25 2007 Tim Waugh 4.13b-68 +- Make minus sign work in ISO-8859-5 (bug #252314). + +* Thu Aug 23 2007 Tim Waugh 4.13b-67 +- More specific license tag. + +* Fri Jul 13 2007 Tim Waugh 4.13b-66 +- Change build requirement from /usr/bin/emacs to emacs to fix build. +- Hebrew fix (bug #247999). + +* Wed Mar 14 2007 Tim Waugh 4.13b-65 +- Fix encoding of encoding.texi (bug #225235). +- Make a2ps.cfg %%config again, but not noreplace (bug #225235). +- Added post/postun ldconfig (bug #225235). + +* Mon Mar 12 2007 Tim Waugh 4.13b-64 +- Renamed tarball generation script (bug #225235). + +* Fri Mar 9 2007 Tim Waugh 4.13b-63 +- Removed bad files (bug #225235). +- Add sysconfdir/a2ps to search path (bug #225235). +- Build does not require gperf after all (bug #225235). +- Don't remove needed library (bug #225235). + +* Thu Mar 8 2007 Tim Waugh 4.13b-62 +- Build requires bison. +- Use sed instead of perl for string replacement (bug #225235). +- Better install-info scriptlets (bug #225235). +- Added BuildRequires and Requires for more packages (bug #225235). +- a2ps.cfg needn't be %%config (bug #225235). +- No need to gzip the info files (bug #225235). +- Use external libtool and don't run the autotools (bug #225235). + +* Wed Feb 28 2007 Tim Waugh 4.13b-61 +- Clean up tmpdir in pdiff (bug #214400). +- Fixed permissions on C source files (bug #225235). +- Use %%configure (bug #225235). +- Preserve timestamps (bug #225235). +- Use smp_mflags (bug #225235). +- Requires install-info for post and preun scriptlets (bug #225235). +- Avoid tabs (bug #225235). +- Explicity versioning for obsoletes/provides (bug #225235). +- PreReq->Requires(post) (bug #225235). +- Fixed macros in changelog (bug #225235). +- Fixed summary (bug #225235). +- Converted spec file to UTF-8 (bug #225235). +- Fixed build root (bug #225235). +- Remove ExcludeArch (bug #225235). +- Use buildroot macro consistently (bug #225235). +- Don't ship the library file or header (bug #203536). + +* Tue Jan 23 2007 Tim Waugh 4.13b-60 +- Force it to build by hacking the configure script. +- Don't need rm patch. +- Make scriptlets unconditionally succeed (bug #223674). + +* Fri Oct 27 2006 Tim Waugh +- Build requires cups (bug #204119). + +* Wed Oct 25 2006 Tim Waugh +- Make ogonkify build. + +* Wed Oct 25 2006 Tim Waugh 4.13b-59 +- Fixed multibyte handling (bug #212154). + +* Tue Oct 17 2006 Tim Waugh 4.13b-58 +- Fixed psset sed expression (bug #209613). + +* Mon Oct 9 2006 Tim Waugh +- Build requires ImageMagick for a2ps.cfg to use convert(1). +- Build requires groff-perl for a2ps.cfg to use grog(1). + +* Sun Oct 01 2006 Jesse Keating - 4.13b-57 +- rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Tue Sep 26 2006 Tim Waugh 4.13b-56 +- Fixed build (bug #188156). + +* Fri Aug 25 2006 Tim Waugh +- Build requires groff. + +* Fri Aug 25 2006 Tim Waugh 4.13b-55 +- Use better manifest flags for fonts.map. + +* Tue Aug 8 2006 Tim Waugh 4.13b-54 +- Prevent fixps tmpdir problem (bug #188156). + +* Fri Jul 14 2006 Tim Waugh 4.13b-53 +- Fixed Hebrew font names (bug #174304). + +* Wed Jul 12 2006 Jesse Keating - 4.13b-52 +- rebuild +- exclude ppc64 as no emacs there right now. +- get rid of stupid ver and rel defines. + +* Tue May 30 2006 Tim Waugh 4.13b-51 +- Build requires gettext (bug #193346). + +* Tue Apr 4 2006 Tim Waugh 4.13b-50 +- Use sort correctly in make_font_map.sh (bug #187884). + +* Wed Feb 15 2006 Tim Waugh 4.13b-49 +- Use mktemp in scripts. + +* Fri Feb 10 2006 Jesse Keating - 4.13b-48.3 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 4.13b-48.2.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Nov 18 2005 Bill Nottingham 4.13b-48 +- Migrate font paths from /usr/X11R6 to /usr/share/X11 + +* Thu May 5 2005 Tim Waugh 4.13b-47 +- Make pdiff use diff(1) properly (bug #156916). + +* Wed Mar 23 2005 Tim Waugh 4.13b-46 +- Make pdiff default to not requiring wdiff (bug #68537). + +* Wed Mar 2 2005 Tim Waugh 4.13b-45 +- Rebuild for new GCC. + +* Wed Feb 2 2005 Tim Waugh 4.13b-44 +- Don't try to run netscape. Run mozilla instead (bug #121393). + +* Thu Dec 9 2004 Tim Waugh 4.13b-43 +- Fixed font path (bug #142294). +- Fixed problems in make_fonts_map script (bug #142299). Patch from + Michal Jaegermann. + +* Tue Dec 7 2004 Tim Waugh 4.13b-42 +- Fixed configure.in. +- Fixed m4 files. +- Apply patch from bug #122699 to fix "too many includes" error. + * Tue Oct 5 2004 Tim Waugh 4.13b-41 - Build requires texinfo (bug #134663). @@ -292,7 +764,7 @@ fi * Thu Apr 26 2001 Florian La Roche - call libtoolize to allow easy porting to new archs -* Thu Feb 28 2001 SATO Satoru +* Wed Feb 28 2001 SATO Satoru - bunzip2-ed all patches except eucjp * Thu Feb 22 2001 SATO Satoru @@ -301,7 +773,7 @@ fi - replace macros (%%makeinstall, %%configure) with traditional commands to avoid some troubles those macros caused. -* Tue Feb 20 2001 Trond Eivind Glomsrød +* Tue Feb 20 2001 Trond Eivind Glomsrød - Using letter is as weird as oz, fl. oz, Fahrenheit, lb etc. Add a patch for using the glibc media type for giving US letter for en_US (only locale with this paper), and A4 @@ -310,7 +782,7 @@ fi * Tue Feb 20 2001 Tim Powers - changed default medium back to letter (bug 27794) -* Mon Feb 19 2001 Trond Eivind Glomsrød +* Mon Feb 19 2001 Trond Eivind Glomsrød - langify - use %%{_tmppath} @@ -322,7 +794,7 @@ fi - %%post script requires fileutils (mv) and sh-utils (true). This should fix bug #24251). -* Mon Jan 08 2001 Trond Eivind Glomsrød +* Mon Jan 08 2001 Trond Eivind Glomsrød - Add /usr/bin/emacs to BuildRequires - A4 - specify use of GNU Emacs for building @@ -375,9 +847,9 @@ fi * Mon Jan 24 2000 Tim Powers - had to be more specific since the i18n stuff was removed from the package. - There is a new a2ps-i18n package which treats the - /usr/share/a2ps/afm/fonts.map file as a config file - + There is a new a2ps-i18n package which treats the + /usr/share/a2ps/afm/fonts.map file as a config file + * Wed Oct 27 1999 Tim Powers - added the --with-medium=Letter option to the configure process @@ -395,7 +867,7 @@ fi - update to 4.12 for Powertools 6.0 * Sat Oct 24 1998 Jeff Johnson -- narrower range of %files splats. +- narrower range of %%files splats. - install info correctly. - new description/summary text. diff --git a/sources b/sources index 110c4d4..6e71d18 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -8e6a684611da92c9de2a42e7803aa8f0 a2ps-4.13-eucjp.patch.bz2 -0c8e0c31b08c14f7a7198ce967eb3281 a2ps-4.13b.tar.gz -fee1456d0e6e94af4fc5b5a1bb9687b7 i18n-fonts-0.1.tar.gz +SHA512 (a2ps-4.15.8.tar.gz) = b6c66c32f7b499fee19d0f6b4b3eed2ba5a5d6dcc74f99ac3434fa261d11b24c755345afc95b3839b1f21425d0aea17ccea5e13fda37f77e0f17da3f8e3ef786 +SHA512 (i18n-fonts-0.1.tar.gz) = 670853cd0acc5feca572c1b0969d8fd506d2cdee0114d41d0a615f994455bd8ce122bfb02d92b85d18ddd9daa7174b86ccb3fdab92c1769aab066cbc62811fde