Commit 8a4d9f5607875ba24f6405744d13b8c89fb6cfb4

Authored by David Röthlisberger
1 parent 6e35b6c1

Move "extractfw" utility under firmware/

...and simplify the build system. Now that this is a maintainer-only
tool, it doesn't need autotools. You just need to type "make".

I'll deal with the udev rules file in a future commit.
openhantek-extractfw/90-hantek.rules.in renamed to firmware/90-hantek.rules.in
firmware/extractfw/.gitignore 0 → 100644
  1 +extractfw
  2 +*.o
... ...
firmware/extractfw/Makefile 0 → 100644
  1 +CFLAGS=-g -O2
  2 +LDLIBS=-lbfd -liberty -lz -ldl
  3 +
  4 +extractfw: extractfw.o
  5 +
  6 +clean:
  7 + rm -f extractfw extractfw.o
... ...
openhantek-extractfw/extractfw.c renamed to firmware/extractfw/extractfw.c
firmware/fwget.sh
... ... @@ -14,7 +14,7 @@ done
14 14 cd ..
15 15  
16 16 for f in tmp/**/*.sys; do
17   - ./openhantek-extractfw $f
  17 + extractfw/extractfw $f
18 18 done
19 19 mv tmp/**/*.hex .
20 20 rm -rf tmp
... ...
openhantek-extractfw/AUTHORS deleted
1   -Oliver Haag <oliver.haag@gmail.com>
2 0 \ No newline at end of file
openhantek-extractfw/COPYING deleted
1   - GNU GENERAL PUBLIC LICENSE
2   - Version 3, 29 June 2007
3   -
4   - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5   - Everyone is permitted to copy and distribute verbatim copies
6   - of this license document, but changing it is not allowed.
7   -
8   - Preamble
9   -
10   - The GNU General Public License is a free, copyleft license for
11   -software and other kinds of works.
12   -
13   - The licenses for most software and other practical works are designed
14   -to take away your freedom to share and change the works. By contrast,
15   -the GNU General Public License is intended to guarantee your freedom to
16   -share and change all versions of a program--to make sure it remains free
17   -software for all its users. We, the Free Software Foundation, use the
18   -GNU General Public License for most of our software; it applies also to
19   -any other work released this way by its authors. You can apply it to
20   -your programs, too.
21   -
22   - When we speak of free software, we are referring to freedom, not
23   -price. Our General Public Licenses are designed to make sure that you
24   -have the freedom to distribute copies of free software (and charge for
25   -them if you wish), that you receive source code or can get it if you
26   -want it, that you can change the software or use pieces of it in new
27   -free programs, and that you know you can do these things.
28   -
29   - To protect your rights, we need to prevent others from denying you
30   -these rights or asking you to surrender the rights. Therefore, you have
31   -certain responsibilities if you distribute copies of the software, or if
32   -you modify it: responsibilities to respect the freedom of others.
33   -
34   - For example, if you distribute copies of such a program, whether
35   -gratis or for a fee, you must pass on to the recipients the same
36   -freedoms that you received. You must make sure that they, too, receive
37   -or can get the source code. And you must show them these terms so they
38   -know their rights.
39   -
40   - Developers that use the GNU GPL protect your rights with two steps:
41   -(1) assert copyright on the software, and (2) offer you this License
42   -giving you legal permission to copy, distribute and/or modify it.
43   -
44   - For the developers' and authors' protection, the GPL clearly explains
45   -that there is no warranty for this free software. For both users' and
46   -authors' sake, the GPL requires that modified versions be marked as
47   -changed, so that their problems will not be attributed erroneously to
48   -authors of previous versions.
49   -
50   - Some devices are designed to deny users access to install or run
51   -modified versions of the software inside them, although the manufacturer
52   -can do so. This is fundamentally incompatible with the aim of
53   -protecting users' freedom to change the software. The systematic
54   -pattern of such abuse occurs in the area of products for individuals to
55   -use, which is precisely where it is most unacceptable. Therefore, we
56   -have designed this version of the GPL to prohibit the practice for those
57   -products. If such problems arise substantially in other domains, we
58   -stand ready to extend this provision to those domains in future versions
59   -of the GPL, as needed to protect the freedom of users.
60   -
61   - Finally, every program is threatened constantly by software patents.
62   -States should not allow patents to restrict development and use of
63   -software on general-purpose computers, but in those that do, we wish to
64   -avoid the special danger that patents applied to a free program could
65   -make it effectively proprietary. To prevent this, the GPL assures that
66   -patents cannot be used to render the program non-free.
67   -
68   - The precise terms and conditions for copying, distribution and
69   -modification follow.
70   -
71   - TERMS AND CONDITIONS
72   -
73   - 0. Definitions.
74   -
75   - "This License" refers to version 3 of the GNU General Public License.
76   -
77   - "Copyright" also means copyright-like laws that apply to other kinds of
78   -works, such as semiconductor masks.
79   -
80   - "The Program" refers to any copyrightable work licensed under this
81   -License. Each licensee is addressed as "you". "Licensees" and
82   -"recipients" may be individuals or organizations.
83   -
84   - To "modify" a work means to copy from or adapt all or part of the work
85   -in a fashion requiring copyright permission, other than the making of an
86   -exact copy. The resulting work is called a "modified version" of the
87   -earlier work or a work "based on" the earlier work.
88   -
89   - A "covered work" means either the unmodified Program or a work based
90   -on the Program.
91   -
92   - To "propagate" a work means to do anything with it that, without
93   -permission, would make you directly or secondarily liable for
94   -infringement under applicable copyright law, except executing it on a
95   -computer or modifying a private copy. Propagation includes copying,
96   -distribution (with or without modification), making available to the
97   -public, and in some countries other activities as well.
98   -
99   - To "convey" a work means any kind of propagation that enables other
100   -parties to make or receive copies. Mere interaction with a user through
101   -a computer network, with no transfer of a copy, is not conveying.
102   -
103   - An interactive user interface displays "Appropriate Legal Notices"
104   -to the extent that it includes a convenient and prominently visible
105   -feature that (1) displays an appropriate copyright notice, and (2)
106   -tells the user that there is no warranty for the work (except to the
107   -extent that warranties are provided), that licensees may convey the
108   -work under this License, and how to view a copy of this License. If
109   -the interface presents a list of user commands or options, such as a
110   -menu, a prominent item in the list meets this criterion.
111   -
112   - 1. Source Code.
113   -
114   - The "source code" for a work means the preferred form of the work
115   -for making modifications to it. "Object code" means any non-source
116   -form of a work.
117   -
118   - A "Standard Interface" means an interface that either is an official
119   -standard defined by a recognized standards body, or, in the case of
120   -interfaces specified for a particular programming language, one that
121   -is widely used among developers working in that language.
122   -
123   - The "System Libraries" of an executable work include anything, other
124   -than the work as a whole, that (a) is included in the normal form of
125   -packaging a Major Component, but which is not part of that Major
126   -Component, and (b) serves only to enable use of the work with that
127   -Major Component, or to implement a Standard Interface for which an
128   -implementation is available to the public in source code form. A
129   -"Major Component", in this context, means a major essential component
130   -(kernel, window system, and so on) of the specific operating system
131   -(if any) on which the executable work runs, or a compiler used to
132   -produce the work, or an object code interpreter used to run it.
133   -
134   - The "Corresponding Source" for a work in object code form means all
135   -the source code needed to generate, install, and (for an executable
136   -work) run the object code and to modify the work, including scripts to
137   -control those activities. However, it does not include the work's
138   -System Libraries, or general-purpose tools or generally available free
139   -programs which are used unmodified in performing those activities but
140   -which are not part of the work. For example, Corresponding Source
141   -includes interface definition files associated with source files for
142   -the work, and the source code for shared libraries and dynamically
143   -linked subprograms that the work is specifically designed to require,
144   -such as by intimate data communication or control flow between those
145   -subprograms and other parts of the work.
146   -
147   - The Corresponding Source need not include anything that users
148   -can regenerate automatically from other parts of the Corresponding
149   -Source.
150   -
151   - The Corresponding Source for a work in source code form is that
152   -same work.
153   -
154   - 2. Basic Permissions.
155   -
156   - All rights granted under this License are granted for the term of
157   -copyright on the Program, and are irrevocable provided the stated
158   -conditions are met. This License explicitly affirms your unlimited
159   -permission to run the unmodified Program. The output from running a
160   -covered work is covered by this License only if the output, given its
161   -content, constitutes a covered work. This License acknowledges your
162   -rights of fair use or other equivalent, as provided by copyright law.
163   -
164   - You may make, run and propagate covered works that you do not
165   -convey, without conditions so long as your license otherwise remains
166   -in force. You may convey covered works to others for the sole purpose
167   -of having them make modifications exclusively for you, or provide you
168   -with facilities for running those works, provided that you comply with
169   -the terms of this License in conveying all material for which you do
170   -not control copyright. Those thus making or running the covered works
171   -for you must do so exclusively on your behalf, under your direction
172   -and control, on terms that prohibit them from making any copies of
173   -your copyrighted material outside their relationship with you.
174   -
175   - Conveying under any other circumstances is permitted solely under
176   -the conditions stated below. Sublicensing is not allowed; section 10
177   -makes it unnecessary.
178   -
179   - 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180   -
181   - No covered work shall be deemed part of an effective technological
182   -measure under any applicable law fulfilling obligations under article
183   -11 of the WIPO copyright treaty adopted on 20 December 1996, or
184   -similar laws prohibiting or restricting circumvention of such
185   -measures.
186   -
187   - When you convey a covered work, you waive any legal power to forbid
188   -circumvention of technological measures to the extent such circumvention
189   -is effected by exercising rights under this License with respect to
190   -the covered work, and you disclaim any intention to limit operation or
191   -modification of the work as a means of enforcing, against the work's
192   -users, your or third parties' legal rights to forbid circumvention of
193   -technological measures.
194   -
195   - 4. Conveying Verbatim Copies.
196   -
197   - You may convey verbatim copies of the Program's source code as you
198   -receive it, in any medium, provided that you conspicuously and
199   -appropriately publish on each copy an appropriate copyright notice;
200   -keep intact all notices stating that this License and any
201   -non-permissive terms added in accord with section 7 apply to the code;
202   -keep intact all notices of the absence of any warranty; and give all
203   -recipients a copy of this License along with the Program.
204   -
205   - You may charge any price or no price for each copy that you convey,
206   -and you may offer support or warranty protection for a fee.
207   -
208   - 5. Conveying Modified Source Versions.
209   -
210   - You may convey a work based on the Program, or the modifications to
211   -produce it from the Program, in the form of source code under the
212   -terms of section 4, provided that you also meet all of these conditions:
213   -
214   - a) The work must carry prominent notices stating that you modified
215   - it, and giving a relevant date.
216   -
217   - b) The work must carry prominent notices stating that it is
218   - released under this License and any conditions added under section
219   - 7. This requirement modifies the requirement in section 4 to
220   - "keep intact all notices".
221   -
222   - c) You must license the entire work, as a whole, under this
223   - License to anyone who comes into possession of a copy. This
224   - License will therefore apply, along with any applicable section 7
225   - additional terms, to the whole of the work, and all its parts,
226   - regardless of how they are packaged. This License gives no
227   - permission to license the work in any other way, but it does not
228   - invalidate such permission if you have separately received it.
229   -
230   - d) If the work has interactive user interfaces, each must display
231   - Appropriate Legal Notices; however, if the Program has interactive
232   - interfaces that do not display Appropriate Legal Notices, your
233   - work need not make them do so.
234   -
235   - A compilation of a covered work with other separate and independent
236   -works, which are not by their nature extensions of the covered work,
237   -and which are not combined with it such as to form a larger program,
238   -in or on a volume of a storage or distribution medium, is called an
239   -"aggregate" if the compilation and its resulting copyright are not
240   -used to limit the access or legal rights of the compilation's users
241   -beyond what the individual works permit. Inclusion of a covered work
242   -in an aggregate does not cause this License to apply to the other
243   -parts of the aggregate.
244   -
245   - 6. Conveying Non-Source Forms.
246   -
247   - You may convey a covered work in object code form under the terms
248   -of sections 4 and 5, provided that you also convey the
249   -machine-readable Corresponding Source under the terms of this License,
250   -in one of these ways:
251   -
252   - a) Convey the object code in, or embodied in, a physical product
253   - (including a physical distribution medium), accompanied by the
254   - Corresponding Source fixed on a durable physical medium
255   - customarily used for software interchange.
256   -
257   - b) Convey the object code in, or embodied in, a physical product
258   - (including a physical distribution medium), accompanied by a
259   - written offer, valid for at least three years and valid for as
260   - long as you offer spare parts or customer support for that product
261   - model, to give anyone who possesses the object code either (1) a
262   - copy of the Corresponding Source for all the software in the
263   - product that is covered by this License, on a durable physical
264   - medium customarily used for software interchange, for a price no
265   - more than your reasonable cost of physically performing this
266   - conveying of source, or (2) access to copy the
267   - Corresponding Source from a network server at no charge.
268   -
269   - c) Convey individual copies of the object code with a copy of the
270   - written offer to provide the Corresponding Source. This
271   - alternative is allowed only occasionally and noncommercially, and
272   - only if you received the object code with such an offer, in accord
273   - with subsection 6b.
274   -
275   - d) Convey the object code by offering access from a designated
276   - place (gratis or for a charge), and offer equivalent access to the
277   - Corresponding Source in the same way through the same place at no
278   - further charge. You need not require recipients to copy the
279   - Corresponding Source along with the object code. If the place to
280   - copy the object code is a network server, the Corresponding Source
281   - may be on a different server (operated by you or a third party)
282   - that supports equivalent copying facilities, provided you maintain
283   - clear directions next to the object code saying where to find the
284   - Corresponding Source. Regardless of what server hosts the
285   - Corresponding Source, you remain obligated to ensure that it is
286   - available for as long as needed to satisfy these requirements.
287   -
288   - e) Convey the object code using peer-to-peer transmission, provided
289   - you inform other peers where the object code and Corresponding
290   - Source of the work are being offered to the general public at no
291   - charge under subsection 6d.
292   -
293   - A separable portion of the object code, whose source code is excluded
294   -from the Corresponding Source as a System Library, need not be
295   -included in conveying the object code work.
296   -
297   - A "User Product" is either (1) a "consumer product", which means any
298   -tangible personal property which is normally used for personal, family,
299   -or household purposes, or (2) anything designed or sold for incorporation
300   -into a dwelling. In determining whether a product is a consumer product,
301   -doubtful cases shall be resolved in favor of coverage. For a particular
302   -product received by a particular user, "normally used" refers to a
303   -typical or common use of that class of product, regardless of the status
304   -of the particular user or of the way in which the particular user
305   -actually uses, or expects or is expected to use, the product. A product
306   -is a consumer product regardless of whether the product has substantial
307   -commercial, industrial or non-consumer uses, unless such uses represent
308   -the only significant mode of use of the product.
309   -
310   - "Installation Information" for a User Product means any methods,
311   -procedures, authorization keys, or other information required to install
312   -and execute modified versions of a covered work in that User Product from
313   -a modified version of its Corresponding Source. The information must
314   -suffice to ensure that the continued functioning of the modified object
315   -code is in no case prevented or interfered with solely because
316   -modification has been made.
317   -
318   - If you convey an object code work under this section in, or with, or
319   -specifically for use in, a User Product, and the conveying occurs as
320   -part of a transaction in which the right of possession and use of the
321   -User Product is transferred to the recipient in perpetuity or for a
322   -fixed term (regardless of how the transaction is characterized), the
323   -Corresponding Source conveyed under this section must be accompanied
324   -by the Installation Information. But this requirement does not apply
325   -if neither you nor any third party retains the ability to install
326   -modified object code on the User Product (for example, the work has
327   -been installed in ROM).
328   -
329   - The requirement to provide Installation Information does not include a
330   -requirement to continue to provide support service, warranty, or updates
331   -for a work that has been modified or installed by the recipient, or for
332   -the User Product in which it has been modified or installed. Access to a
333   -network may be denied when the modification itself materially and
334   -adversely affects the operation of the network or violates the rules and
335   -protocols for communication across the network.
336   -
337   - Corresponding Source conveyed, and Installation Information provided,
338   -in accord with this section must be in a format that is publicly
339   -documented (and with an implementation available to the public in
340   -source code form), and must require no special password or key for
341   -unpacking, reading or copying.
342   -
343   - 7. Additional Terms.
344   -
345   - "Additional permissions" are terms that supplement the terms of this
346   -License by making exceptions from one or more of its conditions.
347   -Additional permissions that are applicable to the entire Program shall
348   -be treated as though they were included in this License, to the extent
349   -that they are valid under applicable law. If additional permissions
350   -apply only to part of the Program, that part may be used separately
351   -under those permissions, but the entire Program remains governed by
352   -this License without regard to the additional permissions.
353   -
354   - When you convey a copy of a covered work, you may at your option
355   -remove any additional permissions from that copy, or from any part of
356   -it. (Additional permissions may be written to require their own
357   -removal in certain cases when you modify the work.) You may place
358   -additional permissions on material, added by you to a covered work,
359   -for which you have or can give appropriate copyright permission.
360   -
361   - Notwithstanding any other provision of this License, for material you
362   -add to a covered work, you may (if authorized by the copyright holders of
363   -that material) supplement the terms of this License with terms:
364   -
365   - a) Disclaiming warranty or limiting liability differently from the
366   - terms of sections 15 and 16 of this License; or
367   -
368   - b) Requiring preservation of specified reasonable legal notices or
369   - author attributions in that material or in the Appropriate Legal
370   - Notices displayed by works containing it; or
371   -
372   - c) Prohibiting misrepresentation of the origin of that material, or
373   - requiring that modified versions of such material be marked in
374   - reasonable ways as different from the original version; or
375   -
376   - d) Limiting the use for publicity purposes of names of licensors or
377   - authors of the material; or
378   -
379   - e) Declining to grant rights under trademark law for use of some
380   - trade names, trademarks, or service marks; or
381   -
382   - f) Requiring indemnification of licensors and authors of that
383   - material by anyone who conveys the material (or modified versions of
384   - it) with contractual assumptions of liability to the recipient, for
385   - any liability that these contractual assumptions directly impose on
386   - those licensors and authors.
387   -
388   - All other non-permissive additional terms are considered "further
389   -restrictions" within the meaning of section 10. If the Program as you
390   -received it, or any part of it, contains a notice stating that it is
391   -governed by this License along with a term that is a further
392   -restriction, you may remove that term. If a license document contains
393   -a further restriction but permits relicensing or conveying under this
394   -License, you may add to a covered work material governed by the terms
395   -of that license document, provided that the further restriction does
396   -not survive such relicensing or conveying.
397   -
398   - If you add terms to a covered work in accord with this section, you
399   -must place, in the relevant source files, a statement of the
400   -additional terms that apply to those files, or a notice indicating
401   -where to find the applicable terms.
402   -
403   - Additional terms, permissive or non-permissive, may be stated in the
404   -form of a separately written license, or stated as exceptions;
405   -the above requirements apply either way.
406   -
407   - 8. Termination.
408   -
409   - You may not propagate or modify a covered work except as expressly
410   -provided under this License. Any attempt otherwise to propagate or
411   -modify it is void, and will automatically terminate your rights under
412   -this License (including any patent licenses granted under the third
413   -paragraph of section 11).
414   -
415   - However, if you cease all violation of this License, then your
416   -license from a particular copyright holder is reinstated (a)
417   -provisionally, unless and until the copyright holder explicitly and
418   -finally terminates your license, and (b) permanently, if the copyright
419   -holder fails to notify you of the violation by some reasonable means
420   -prior to 60 days after the cessation.
421   -
422   - Moreover, your license from a particular copyright holder is
423   -reinstated permanently if the copyright holder notifies you of the
424   -violation by some reasonable means, this is the first time you have
425   -received notice of violation of this License (for any work) from that
426   -copyright holder, and you cure the violation prior to 30 days after
427   -your receipt of the notice.
428   -
429   - Termination of your rights under this section does not terminate the
430   -licenses of parties who have received copies or rights from you under
431   -this License. If your rights have been terminated and not permanently
432   -reinstated, you do not qualify to receive new licenses for the same
433   -material under section 10.
434   -
435   - 9. Acceptance Not Required for Having Copies.
436   -
437   - You are not required to accept this License in order to receive or
438   -run a copy of the Program. Ancillary propagation of a covered work
439   -occurring solely as a consequence of using peer-to-peer transmission
440   -to receive a copy likewise does not require acceptance. However,
441   -nothing other than this License grants you permission to propagate or
442   -modify any covered work. These actions infringe copyright if you do
443   -not accept this License. Therefore, by modifying or propagating a
444   -covered work, you indicate your acceptance of this License to do so.
445   -
446   - 10. Automatic Licensing of Downstream Recipients.
447   -
448   - Each time you convey a covered work, the recipient automatically
449   -receives a license from the original licensors, to run, modify and
450   -propagate that work, subject to this License. You are not responsible
451   -for enforcing compliance by third parties with this License.
452   -
453   - An "entity transaction" is a transaction transferring control of an
454   -organization, or substantially all assets of one, or subdividing an
455   -organization, or merging organizations. If propagation of a covered
456   -work results from an entity transaction, each party to that
457   -transaction who receives a copy of the work also receives whatever
458   -licenses to the work the party's predecessor in interest had or could
459   -give under the previous paragraph, plus a right to possession of the
460   -Corresponding Source of the work from the predecessor in interest, if
461   -the predecessor has it or can get it with reasonable efforts.
462   -
463   - You may not impose any further restrictions on the exercise of the
464   -rights granted or affirmed under this License. For example, you may
465   -not impose a license fee, royalty, or other charge for exercise of
466   -rights granted under this License, and you may not initiate litigation
467   -(including a cross-claim or counterclaim in a lawsuit) alleging that
468   -any patent claim is infringed by making, using, selling, offering for
469   -sale, or importing the Program or any portion of it.
470   -
471   - 11. Patents.
472   -
473   - A "contributor" is a copyright holder who authorizes use under this
474   -License of the Program or a work on which the Program is based. The
475   -work thus licensed is called the contributor's "contributor version".
476   -
477   - A contributor's "essential patent claims" are all patent claims
478   -owned or controlled by the contributor, whether already acquired or
479   -hereafter acquired, that would be infringed by some manner, permitted
480   -by this License, of making, using, or selling its contributor version,
481   -but do not include claims that would be infringed only as a
482   -consequence of further modification of the contributor version. For
483   -purposes of this definition, "control" includes the right to grant
484   -patent sublicenses in a manner consistent with the requirements of
485   -this License.
486   -
487   - Each contributor grants you a non-exclusive, worldwide, royalty-free
488   -patent license under the contributor's essential patent claims, to
489   -make, use, sell, offer for sale, import and otherwise run, modify and
490   -propagate the contents of its contributor version.
491   -
492   - In the following three paragraphs, a "patent license" is any express
493   -agreement or commitment, however denominated, not to enforce a patent
494   -(such as an express permission to practice a patent or covenant not to
495   -sue for patent infringement). To "grant" such a patent license to a
496   -party means to make such an agreement or commitment not to enforce a
497   -patent against the party.
498   -
499   - If you convey a covered work, knowingly relying on a patent license,
500   -and the Corresponding Source of the work is not available for anyone
501   -to copy, free of charge and under the terms of this License, through a
502   -publicly available network server or other readily accessible means,
503   -then you must either (1) cause the Corresponding Source to be so
504   -available, or (2) arrange to deprive yourself of the benefit of the
505   -patent license for this particular work, or (3) arrange, in a manner
506   -consistent with the requirements of this License, to extend the patent
507   -license to downstream recipients. "Knowingly relying" means you have
508   -actual knowledge that, but for the patent license, your conveying the
509   -covered work in a country, or your recipient's use of the covered work
510   -in a country, would infringe one or more identifiable patents in that
511   -country that you have reason to believe are valid.
512   -
513   - If, pursuant to or in connection with a single transaction or
514   -arrangement, you convey, or propagate by procuring conveyance of, a
515   -covered work, and grant a patent license to some of the parties
516   -receiving the covered work authorizing them to use, propagate, modify
517   -or convey a specific copy of the covered work, then the patent license
518   -you grant is automatically extended to all recipients of the covered
519   -work and works based on it.
520   -
521   - A patent license is "discriminatory" if it does not include within
522   -the scope of its coverage, prohibits the exercise of, or is
523   -conditioned on the non-exercise of one or more of the rights that are
524   -specifically granted under this License. You may not convey a covered
525   -work if you are a party to an arrangement with a third party that is
526   -in the business of distributing software, under which you make payment
527   -to the third party based on the extent of your activity of conveying
528   -the work, and under which the third party grants, to any of the
529   -parties who would receive the covered work from you, a discriminatory
530   -patent license (a) in connection with copies of the covered work
531   -conveyed by you (or copies made from those copies), or (b) primarily
532   -for and in connection with specific products or compilations that
533   -contain the covered work, unless you entered into that arrangement,
534   -or that patent license was granted, prior to 28 March 2007.
535   -
536   - Nothing in this License shall be construed as excluding or limiting
537   -any implied license or other defenses to infringement that may
538   -otherwise be available to you under applicable patent law.
539   -
540   - 12. No Surrender of Others' Freedom.
541   -
542   - If conditions are imposed on you (whether by court order, agreement or
543   -otherwise) that contradict the conditions of this License, they do not
544   -excuse you from the conditions of this License. If you cannot convey a
545   -covered work so as to satisfy simultaneously your obligations under this
546   -License and any other pertinent obligations, then as a consequence you may
547   -not convey it at all. For example, if you agree to terms that obligate you
548   -to collect a royalty for further conveying from those to whom you convey
549   -the Program, the only way you could satisfy both those terms and this
550   -License would be to refrain entirely from conveying the Program.
551   -
552   - 13. Use with the GNU Affero General Public License.
553   -
554   - Notwithstanding any other provision of this License, you have
555   -permission to link or combine any covered work with a work licensed
556   -under version 3 of the GNU Affero General Public License into a single
557   -combined work, and to convey the resulting work. The terms of this
558   -License will continue to apply to the part which is the covered work,
559   -but the special requirements of the GNU Affero General Public License,
560   -section 13, concerning interaction through a network will apply to the
561   -combination as such.
562   -
563   - 14. Revised Versions of this License.
564   -
565   - The Free Software Foundation may publish revised and/or new versions of
566   -the GNU General Public License from time to time. Such new versions will
567   -be similar in spirit to the present version, but may differ in detail to
568   -address new problems or concerns.
569   -
570   - Each version is given a distinguishing version number. If the
571   -Program specifies that a certain numbered version of the GNU General
572   -Public License "or any later version" applies to it, you have the
573   -option of following the terms and conditions either of that numbered
574   -version or of any later version published by the Free Software
575   -Foundation. If the Program does not specify a version number of the
576   -GNU General Public License, you may choose any version ever published
577   -by the Free Software Foundation.
578   -
579   - If the Program specifies that a proxy can decide which future
580   -versions of the GNU General Public License can be used, that proxy's
581   -public statement of acceptance of a version permanently authorizes you
582   -to choose that version for the Program.
583   -
584   - Later license versions may give you additional or different
585   -permissions. However, no additional obligations are imposed on any
586   -author or copyright holder as a result of your choosing to follow a
587   -later version.
588   -
589   - 15. Disclaimer of Warranty.
590   -
591   - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592   -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593   -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594   -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595   -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596   -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597   -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598   -ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599   -
600   - 16. Limitation of Liability.
601   -
602   - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603   -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604   -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605   -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606   -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607   -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608   -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609   -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610   -SUCH DAMAGES.
611   -
612   - 17. Interpretation of Sections 15 and 16.
613   -
614   - If the disclaimer of warranty and limitation of liability provided
615   -above cannot be given local legal effect according to their terms,
616   -reviewing courts shall apply local law that most closely approximates
617   -an absolute waiver of all civil liability in connection with the
618   -Program, unless a warranty or assumption of liability accompanies a
619   -copy of the Program in return for a fee.
620   -
621   - END OF TERMS AND CONDITIONS
622   -
623   - How to Apply These Terms to Your New Programs
624   -
625   - If you develop a new program, and you want it to be of the greatest
626   -possible use to the public, the best way to achieve this is to make it
627   -free software which everyone can redistribute and change under these terms.
628   -
629   - To do so, attach the following notices to the program. It is safest
630   -to attach them to the start of each source file to most effectively
631   -state the exclusion of warranty; and each file should have at least
632   -the "copyright" line and a pointer to where the full notice is found.
633   -
634   - <one line to give the program's name and a brief idea of what it does.>
635   - Copyright (C) <year> <name of author>
636   -
637   - This program is free software: you can redistribute it and/or modify
638   - it under the terms of the GNU General Public License as published by
639   - the Free Software Foundation, either version 3 of the License, or
640   - (at your option) any later version.
641   -
642   - This program is distributed in the hope that it will be useful,
643   - but WITHOUT ANY WARRANTY; without even the implied warranty of
644   - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645   - GNU General Public License for more details.
646   -
647   - You should have received a copy of the GNU General Public License
648   - along with this program. If not, see <http://www.gnu.org/licenses/>.
649   -
650   -Also add information on how to contact you by electronic and paper mail.
651   -
652   - If the program does terminal interaction, make it output a short
653   -notice like this when it starts in an interactive mode:
654   -
655   - <program> Copyright (C) <year> <name of author>
656   - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657   - This is free software, and you are welcome to redistribute it
658   - under certain conditions; type `show c' for details.
659   -
660   -The hypothetical commands `show w' and `show c' should show the appropriate
661   -parts of the General Public License. Of course, your program's commands
662   -might be different; for a GUI interface, you would use an "about box".
663   -
664   - You should also get your employer (if you work as a programmer) or school,
665   -if any, to sign a "copyright disclaimer" for the program, if necessary.
666   -For more information on this, and how to apply and follow the GNU GPL, see
667   -<http://www.gnu.org/licenses/>.
668   -
669   - The GNU General Public License does not permit incorporating your program
670   -into proprietary programs. If your program is a subroutine library, you
671   -may consider it more useful to permit linking proprietary applications with
672   -the library. If this is what you want to do, use the GNU Lesser General
673   -Public License instead of this License. But first, please read
674   -<http://www.gnu.org/philosophy/why-not-lgpl.html>.
openhantek-extractfw/ChangeLog deleted
1   -2010-05-29 Oliver Haag <oliver.haag@gmail.com>
2   -* Version 0.6.0:
3   -* Fixed bug on 64-bit architectures
4   -* Added files needed for building
5   -
6   -2010-08-16 Oliver Haag <oliver.haag@gmail.com>
7   -* Version 0.6.1:
8   -* USB-devices can be used by any user in the plugdev group now
9   -
10   -2010-08-20 Oliver Haag <oliver.haag@gmail.com>
11   -* Added checking for End of File Record to the hex-writing routine
12   -
13   -2010-08-26 Oliver Haag <oliver.haag@gmail.com>
14   -* Version 0.6.2:
15   -* Removed Oleg from AUTHORS
16   -* Renamed writeSRecords to writeIntelHex
17   -
18   -2010-11-17 Oliver Haag <oliver.haag@gmail.com>
19   -* Patches by Romuald Conty <neomilium@gmail.com>:
20   -* Updated configure.in
21   -* Removed "warning: "PACKAGE_NAME" redefined" during make
22   -* Error if bfd (libbfd) is not usable
23   -* Silent make if available
24   -* Fixed DSO-2100 USB vid/pid
25   -* Added --with-firmware-dir configure option and udev-rules file generation
26   -
27   -2011-02-03 Oliver Haag <oliver.haag@gmail.com>
28   -* Input files are given as commandline parameters (Not hardcoded anymore)
29   -* Cleaned up the code
30   -
31   -2011-02-08 Oliver Haag <oliver.haag@gmail.com>
32   -* Version 0.7.0:
33   -* Renamed this extraction tool to openhantek-extractfw
34   -* Added fwget.sh for automatic driver download and firmware extraction
35   -
36   -2011-11-20 Oliver Haag <oliver.haag@gmail.com>
37   -* Updated deprecated used rules
38   -
39   -2012-11-25 Oliver Haag <oliver.haag@gmail.com>
40   -* Added additional DSO-2090 product ID
41   -
42   -2013-03-13 Oliver Haag <oliver.haag@gmail.com>
43   -* Link libbfd dependencies explicitly (Required by recent gcc/libbfd)
44   -
45   -2013-03-13 Oliver Haag <oliver.haag@gmail.com>
46   -* INSTALL documentation fix (Wrong path)
47 0 \ No newline at end of file
openhantek-extractfw/INSTALL deleted
1   -To build dsoextractfw from source, you need bfd. Under Debian or Ubuntu you can just install the package libbfd-dev. I don't know the package names for other distributions but they may be similar.
2   -
3   -After you've installed the requirements run the following commands inside the directory of this package:
4   -$ autoreconf -vi
5   -$ ./configure
6   -$ make
7   -
8   -Now place the DSO*1.SYS file that came with the windows driver for your oscilloscope into the same directory and run:
9   -$ ./dsoextractfw <driver file>
10   -
11   -This should create two .hex files. Copy them to /usr/local/share/hantek/ and copy the 90-hantek-dso.rules file to /etc/udev/rules.d/. To load the firmware you have to install fxload.
12   -After restarting udev your oscilloscope should be initialized automatically after connecting it to the computer (You have to reconnect it after installing this package).
13   -
14   -If you can't run OpenHantek as normal user, you have too add your user to the plugdev group.
openhantek-extractfw/Makefile.am deleted
1   -METASOURCES = AUTO
2   -bin_PROGRAMS = openhantek-extractfw
3   -openhantek_extractfw_LDFLAGS = $(all_libraries)
4   -openhantek_extractfw_LDADD = -lbfd -liberty -lz -ldl
5   -openhantek_extractfw_SOURCES = extractfw.c
6   -noinst_DATA = 90-hantek.rules
openhantek-extractfw/NEWS deleted
openhantek-extractfw/README deleted
1   -This utility allows the extraction of the firmware for Hantek USB DSOs from the .SYS-file that comes with the windows-driver.
2 0 \ No newline at end of file
openhantek-extractfw/configure.in deleted
1   -AC_INIT([openhantek-extractfw], [0.7.0], [oliver.haag@gmail.com])
2   -AC_CONFIG_SRCDIR([extractfw.c])
3   -
4   -# Generates a config.h
5   -#AC_CONFIG_HEADERS([config.h])
6   -
7   -# Silent make output if available
8   -m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
9   -
10   -AM_INIT_AUTOMAKE
11   -
12   -# Checks for programs.
13   -AC_PROG_CC
14   -
15   -# Checks for libraries.
16   -AC_CHECK_LIB([dl], [dlopen], [], AC_MSG_ERROR([libdl is missing]))
17   -AC_CHECK_LIB([z], [deflate], [], AC_MSG_ERROR([libz is missing]))
18   -AC_CHECK_LIB([iberty], [objalloc_create], [], AC_MSG_ERROR([libiberty is missing]))
19   -AC_CHECK_LIB([bfd], [bfd_openr], [], AC_MSG_ERROR([libbfd is missing]))
20   -
21   -# Checks for header files.
22   -AC_CHECK_HEADERS([malloc.h string.h])
23   -
24   -# Checks for typedefs, structures, and compiler characteristics.
25   -
26   -# Checks for library functions.
27   -AC_FUNC_MALLOC
28   -
29   -# Add --with-firmware-dir= option
30   -# FIXME According to Autoconf manual, we shouldn't do substitution that way but I'm not able to expand ${prefix} even using Makefile...
31   -# SEE http://www.gnu.org/software/hello/manual/autoconf/External-Software.html
32   -AC_ARG_WITH( [firmware-dir],
33   - [AC_HELP_STRING([--with-firmware-dir=DIR], [directory to install hantek firmwares [/usr/local/share]])],
34   - [with_firmware_dir=$(echo "$withval" | sed -e 's!/$!!')],
35   - [with_firmware_dir="/usr/local/share"],
36   -)
37   -
38   -hantekfirmwaredir="$with_firmware_dir/hantek"
39   -AC_SUBST(hantekfirmwaredir)
40   -
41   -AC_CONFIG_FILES(
42   - [Makefile]
43   - [90-hantek.rules]
44   -)
45   -
46   -AC_OUTPUT
openhantek-extractfw/depcomp deleted
1   -#! /bin/sh
2   -# depcomp - compile a program generating dependencies as side-effects
3   -
4   -scriptversion=2009-04-28.21; # UTC
5   -
6   -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
7   -# Software Foundation, Inc.
8   -
9   -# This program is free software; you can redistribute it and/or modify
10   -# it under the terms of the GNU General Public License as published by
11   -# the Free Software Foundation; either version 2, or (at your option)
12   -# any later version.
13   -
14   -# This program is distributed in the hope that it will be useful,
15   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
16   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17   -# GNU General Public License for more details.
18   -
19   -# You should have received a copy of the GNU General Public License
20   -# along with this program. If not, see <http://www.gnu.org/licenses/>.
21   -
22   -# As a special exception to the GNU General Public License, if you
23   -# distribute this file as part of a program that contains a
24   -# configuration script generated by Autoconf, you may include it under
25   -# the same distribution terms that you use for the rest of that program.
26   -
27   -# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
28   -
29   -case $1 in
30   - '')
31   - echo "$0: No command. Try \`$0 --help' for more information." 1>&2
32   - exit 1;
33   - ;;
34   - -h | --h*)
35   - cat <<\EOF
36   -Usage: depcomp [--help] [--version] PROGRAM [ARGS]
37   -
38   -Run PROGRAMS ARGS to compile a file, generating dependencies
39   -as side-effects.
40   -
41   -Environment variables:
42   - depmode Dependency tracking mode.
43   - source Source file read by `PROGRAMS ARGS'.
44   - object Object file output by `PROGRAMS ARGS'.
45   - DEPDIR directory where to store dependencies.
46   - depfile Dependency file to output.
47   - tmpdepfile Temporary file to use when outputing dependencies.
48   - libtool Whether libtool is used (yes/no).
49   -
50   -Report bugs to <bug-automake@gnu.org>.
51   -EOF
52   - exit $?
53   - ;;
54   - -v | --v*)
55   - echo "depcomp $scriptversion"
56   - exit $?
57   - ;;
58   -esac
59   -
60   -if test -z "$depmode" || test -z "$source" || test -z "$object"; then
61   - echo "depcomp: Variables source, object and depmode must be set" 1>&2
62   - exit 1
63   -fi
64   -
65   -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
66   -depfile=${depfile-`echo "$object" |
67   - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
68   -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
69   -
70   -rm -f "$tmpdepfile"
71   -
72   -# Some modes work just like other modes, but use different flags. We
73   -# parameterize here, but still list the modes in the big case below,
74   -# to make depend.m4 easier to write. Note that we *cannot* use a case
75   -# here, because this file can only contain one case statement.
76   -if test "$depmode" = hp; then
77   - # HP compiler uses -M and no extra arg.
78   - gccflag=-M
79   - depmode=gcc
80   -fi
81   -
82   -if test "$depmode" = dashXmstdout; then
83   - # This is just like dashmstdout with a different argument.
84   - dashmflag=-xM
85   - depmode=dashmstdout
86   -fi
87   -
88   -cygpath_u="cygpath -u -f -"
89   -if test "$depmode" = msvcmsys; then
90   - # This is just like msvisualcpp but w/o cygpath translation.
91   - # Just convert the backslash-escaped backslashes to single forward
92   - # slashes to satisfy depend.m4
93   - cygpath_u="sed s,\\\\\\\\,/,g"
94   - depmode=msvisualcpp
95   -fi
96   -
97   -case "$depmode" in
98   -gcc3)
99   -## gcc 3 implements dependency tracking that does exactly what
100   -## we want. Yay! Note: for some reason libtool 1.4 doesn't like
101   -## it if -MD -MP comes after the -MF stuff. Hmm.
102   -## Unfortunately, FreeBSD c89 acceptance of flags depends upon
103   -## the command line argument order; so add the flags where they
104   -## appear in depend2.am. Note that the slowdown incurred here
105   -## affects only configure: in makefiles, %FASTDEP% shortcuts this.
106   - for arg
107   - do
108   - case $arg in
109   - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
110   - *) set fnord "$@" "$arg" ;;
111   - esac
112   - shift # fnord
113   - shift # $arg
114   - done
115   - "$@"
116   - stat=$?
117   - if test $stat -eq 0; then :
118   - else
119   - rm -f "$tmpdepfile"
120   - exit $stat
121   - fi
122   - mv "$tmpdepfile" "$depfile"
123   - ;;
124   -
125   -gcc)
126   -## There are various ways to get dependency output from gcc. Here's
127   -## why we pick this rather obscure method:
128   -## - Don't want to use -MD because we'd like the dependencies to end
129   -## up in a subdir. Having to rename by hand is ugly.
130   -## (We might end up doing this anyway to support other compilers.)
131   -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
132   -## -MM, not -M (despite what the docs say).
133   -## - Using -M directly means running the compiler twice (even worse
134   -## than renaming).
135   - if test -z "$gccflag"; then
136   - gccflag=-MD,
137   - fi
138   - "$@" -Wp,"$gccflag$tmpdepfile"
139   - stat=$?
140   - if test $stat -eq 0; then :
141   - else
142   - rm -f "$tmpdepfile"
143   - exit $stat
144   - fi
145   - rm -f "$depfile"
146   - echo "$object : \\" > "$depfile"
147   - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
148   -## The second -e expression handles DOS-style file names with drive letters.
149   - sed -e 's/^[^:]*: / /' \
150   - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
151   -## This next piece of magic avoids the `deleted header file' problem.
152   -## The problem is that when a header file which appears in a .P file
153   -## is deleted, the dependency causes make to die (because there is
154   -## typically no way to rebuild the header). We avoid this by adding
155   -## dummy dependencies for each header file. Too bad gcc doesn't do
156   -## this for us directly.
157   - tr ' ' '
158   -' < "$tmpdepfile" |
159   -## Some versions of gcc put a space before the `:'. On the theory
160   -## that the space means something, we add a space to the output as
161   -## well.
162   -## Some versions of the HPUX 10.20 sed can't process this invocation
163   -## correctly. Breaking it into two sed invocations is a workaround.
164   - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
165   - rm -f "$tmpdepfile"
166   - ;;
167   -
168   -hp)
169   - # This case exists only to let depend.m4 do its work. It works by
170   - # looking at the text of this script. This case will never be run,
171   - # since it is checked for above.
172   - exit 1
173   - ;;
174   -
175   -sgi)
176   - if test "$libtool" = yes; then
177   - "$@" "-Wp,-MDupdate,$tmpdepfile"
178   - else
179   - "$@" -MDupdate "$tmpdepfile"
180   - fi
181   - stat=$?
182   - if test $stat -eq 0; then :
183   - else
184   - rm -f "$tmpdepfile"
185   - exit $stat
186   - fi
187   - rm -f "$depfile"
188   -
189   - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
190   - echo "$object : \\" > "$depfile"
191   -
192   - # Clip off the initial element (the dependent). Don't try to be
193   - # clever and replace this with sed code, as IRIX sed won't handle
194   - # lines with more than a fixed number of characters (4096 in
195   - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
196   - # the IRIX cc adds comments like `#:fec' to the end of the
197   - # dependency line.
198   - tr ' ' '
199   -' < "$tmpdepfile" \
200   - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
201   - tr '
202   -' ' ' >> "$depfile"
203   - echo >> "$depfile"
204   -
205   - # The second pass generates a dummy entry for each header file.
206   - tr ' ' '
207   -' < "$tmpdepfile" \
208   - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
209   - >> "$depfile"
210   - else
211   - # The sourcefile does not contain any dependencies, so just
212   - # store a dummy comment line, to avoid errors with the Makefile
213   - # "include basename.Plo" scheme.
214   - echo "#dummy" > "$depfile"
215   - fi
216   - rm -f "$tmpdepfile"
217   - ;;
218   -
219   -aix)
220   - # The C for AIX Compiler uses -M and outputs the dependencies
221   - # in a .u file. In older versions, this file always lives in the
222   - # current directory. Also, the AIX compiler puts `$object:' at the
223   - # start of each line; $object doesn't have directory information.
224   - # Version 6 uses the directory in both cases.
225   - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
226   - test "x$dir" = "x$object" && dir=
227   - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
228   - if test "$libtool" = yes; then
229   - tmpdepfile1=$dir$base.u
230   - tmpdepfile2=$base.u
231   - tmpdepfile3=$dir.libs/$base.u
232   - "$@" -Wc,-M
233   - else
234   - tmpdepfile1=$dir$base.u
235   - tmpdepfile2=$dir$base.u
236   - tmpdepfile3=$dir$base.u
237   - "$@" -M
238   - fi
239   - stat=$?
240   -
241   - if test $stat -eq 0; then :
242   - else
243   - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
244   - exit $stat
245   - fi
246   -
247   - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
248   - do
249   - test -f "$tmpdepfile" && break
250   - done
251   - if test -f "$tmpdepfile"; then
252   - # Each line is of the form `foo.o: dependent.h'.
253   - # Do two passes, one to just change these to
254   - # `$object: dependent.h' and one to simply `dependent.h:'.
255   - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
256   - # That's a tab and a space in the [].
257   - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
258   - else
259   - # The sourcefile does not contain any dependencies, so just
260   - # store a dummy comment line, to avoid errors with the Makefile
261   - # "include basename.Plo" scheme.
262   - echo "#dummy" > "$depfile"
263   - fi
264   - rm -f "$tmpdepfile"
265   - ;;
266   -
267   -icc)
268   - # Intel's C compiler understands `-MD -MF file'. However on
269   - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
270   - # ICC 7.0 will fill foo.d with something like
271   - # foo.o: sub/foo.c
272   - # foo.o: sub/foo.h
273   - # which is wrong. We want:
274   - # sub/foo.o: sub/foo.c
275   - # sub/foo.o: sub/foo.h
276   - # sub/foo.c:
277   - # sub/foo.h:
278   - # ICC 7.1 will output
279   - # foo.o: sub/foo.c sub/foo.h
280   - # and will wrap long lines using \ :
281   - # foo.o: sub/foo.c ... \
282   - # sub/foo.h ... \
283   - # ...
284   -
285   - "$@" -MD -MF "$tmpdepfile"
286   - stat=$?
287   - if test $stat -eq 0; then :
288   - else
289   - rm -f "$tmpdepfile"
290   - exit $stat
291   - fi
292   - rm -f "$depfile"
293   - # Each line is of the form `foo.o: dependent.h',
294   - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
295   - # Do two passes, one to just change these to
296   - # `$object: dependent.h' and one to simply `dependent.h:'.
297   - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
298   - # Some versions of the HPUX 10.20 sed can't process this invocation
299   - # correctly. Breaking it into two sed invocations is a workaround.
300   - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
301   - sed -e 's/$/ :/' >> "$depfile"
302   - rm -f "$tmpdepfile"
303   - ;;
304   -
305   -hp2)
306   - # The "hp" stanza above does not work with aCC (C++) and HP's ia64
307   - # compilers, which have integrated preprocessors. The correct option
308   - # to use with these is +Maked; it writes dependencies to a file named
309   - # 'foo.d', which lands next to the object file, wherever that
310   - # happens to be.
311   - # Much of this is similar to the tru64 case; see comments there.
312   - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
313   - test "x$dir" = "x$object" && dir=
314   - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
315   - if test "$libtool" = yes; then
316   - tmpdepfile1=$dir$base.d
317   - tmpdepfile2=$dir.libs/$base.d
318   - "$@" -Wc,+Maked
319   - else
320   - tmpdepfile1=$dir$base.d
321   - tmpdepfile2=$dir$base.d
322   - "$@" +Maked
323   - fi
324   - stat=$?
325   - if test $stat -eq 0; then :
326   - else
327   - rm -f "$tmpdepfile1" "$tmpdepfile2"
328   - exit $stat
329   - fi
330   -
331   - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
332   - do
333   - test -f "$tmpdepfile" && break
334   - done
335   - if test -f "$tmpdepfile"; then
336   - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
337   - # Add `dependent.h:' lines.
338   - sed -ne '2,${
339   - s/^ *//
340   - s/ \\*$//
341   - s/$/:/
342   - p
343   - }' "$tmpdepfile" >> "$depfile"
344   - else
345   - echo "#dummy" > "$depfile"
346   - fi
347   - rm -f "$tmpdepfile" "$tmpdepfile2"
348   - ;;
349   -
350   -tru64)
351   - # The Tru64 compiler uses -MD to generate dependencies as a side
352   - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
353   - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
354   - # dependencies in `foo.d' instead, so we check for that too.
355   - # Subdirectories are respected.
356   - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
357   - test "x$dir" = "x$object" && dir=
358   - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
359   -
360   - if test "$libtool" = yes; then
361   - # With Tru64 cc, shared objects can also be used to make a
362   - # static library. This mechanism is used in libtool 1.4 series to
363   - # handle both shared and static libraries in a single compilation.
364   - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
365   - #
366   - # With libtool 1.5 this exception was removed, and libtool now
367   - # generates 2 separate objects for the 2 libraries. These two
368   - # compilations output dependencies in $dir.libs/$base.o.d and
369   - # in $dir$base.o.d. We have to check for both files, because
370   - # one of the two compilations can be disabled. We should prefer
371   - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
372   - # automatically cleaned when .libs/ is deleted, while ignoring
373   - # the former would cause a distcleancheck panic.
374   - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
375   - tmpdepfile2=$dir$base.o.d # libtool 1.5
376   - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
377   - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
378   - "$@" -Wc,-MD
379   - else
380   - tmpdepfile1=$dir$base.o.d
381   - tmpdepfile2=$dir$base.d
382   - tmpdepfile3=$dir$base.d
383   - tmpdepfile4=$dir$base.d
384   - "$@" -MD
385   - fi
386   -
387   - stat=$?
388   - if test $stat -eq 0; then :
389   - else
390   - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
391   - exit $stat
392   - fi
393   -
394   - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
395   - do
396   - test -f "$tmpdepfile" && break
397   - done
398   - if test -f "$tmpdepfile"; then
399   - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
400   - # That's a tab and a space in the [].
401   - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
402   - else
403   - echo "#dummy" > "$depfile"
404   - fi
405   - rm -f "$tmpdepfile"
406   - ;;
407   -
408   -#nosideeffect)
409   - # This comment above is used by automake to tell side-effect
410   - # dependency tracking mechanisms from slower ones.
411   -
412   -dashmstdout)
413   - # Important note: in order to support this mode, a compiler *must*
414   - # always write the preprocessed file to stdout, regardless of -o.
415   - "$@" || exit $?
416   -
417   - # Remove the call to Libtool.
418   - if test "$libtool" = yes; then
419   - while test "X$1" != 'X--mode=compile'; do
420   - shift
421   - done
422   - shift
423   - fi
424   -
425   - # Remove `-o $object'.
426   - IFS=" "
427   - for arg
428   - do
429   - case $arg in
430   - -o)
431   - shift
432   - ;;
433   - $object)
434   - shift
435   - ;;
436   - *)
437   - set fnord "$@" "$arg"
438   - shift # fnord
439   - shift # $arg
440   - ;;
441   - esac
442   - done
443   -
444   - test -z "$dashmflag" && dashmflag=-M
445   - # Require at least two characters before searching for `:'
446   - # in the target name. This is to cope with DOS-style filenames:
447   - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
448   - "$@" $dashmflag |
449   - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
450   - rm -f "$depfile"
451   - cat < "$tmpdepfile" > "$depfile"
452   - tr ' ' '
453   -' < "$tmpdepfile" | \
454   -## Some versions of the HPUX 10.20 sed can't process this invocation
455   -## correctly. Breaking it into two sed invocations is a workaround.
456   - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
457   - rm -f "$tmpdepfile"
458   - ;;
459   -
460   -dashXmstdout)
461   - # This case only exists to satisfy depend.m4. It is never actually
462   - # run, as this mode is specially recognized in the preamble.
463   - exit 1
464   - ;;
465   -
466   -makedepend)
467   - "$@" || exit $?
468   - # Remove any Libtool call
469   - if test "$libtool" = yes; then
470   - while test "X$1" != 'X--mode=compile'; do
471   - shift
472   - done
473   - shift
474   - fi
475   - # X makedepend
476   - shift
477   - cleared=no eat=no
478   - for arg
479   - do
480   - case $cleared in
481   - no)
482   - set ""; shift
483   - cleared=yes ;;
484   - esac
485   - if test $eat = yes; then
486   - eat=no
487   - continue
488   - fi
489   - case "$arg" in
490   - -D*|-I*)
491   - set fnord "$@" "$arg"; shift ;;
492   - # Strip any option that makedepend may not understand. Remove
493   - # the object too, otherwise makedepend will parse it as a source file.
494   - -arch)
495   - eat=yes ;;
496   - -*|$object)
497   - ;;
498   - *)
499   - set fnord "$@" "$arg"; shift ;;
500   - esac
501   - done
502   - obj_suffix=`echo "$object" | sed 's/^.*\././'`
503   - touch "$tmpdepfile"
504   - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
505   - rm -f "$depfile"
506   - cat < "$tmpdepfile" > "$depfile"
507   - sed '1,2d' "$tmpdepfile" | tr ' ' '
508   -' | \
509   -## Some versions of the HPUX 10.20 sed can't process this invocation
510   -## correctly. Breaking it into two sed invocations is a workaround.
511   - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
512   - rm -f "$tmpdepfile" "$tmpdepfile".bak
513   - ;;
514   -
515   -cpp)
516   - # Important note: in order to support this mode, a compiler *must*
517   - # always write the preprocessed file to stdout.
518   - "$@" || exit $?
519   -
520   - # Remove the call to Libtool.
521   - if test "$libtool" = yes; then
522   - while test "X$1" != 'X--mode=compile'; do
523   - shift
524   - done
525   - shift
526   - fi
527   -
528   - # Remove `-o $object'.
529   - IFS=" "
530   - for arg
531   - do
532   - case $arg in
533   - -o)
534   - shift
535   - ;;
536   - $object)
537   - shift
538   - ;;
539   - *)
540   - set fnord "$@" "$arg"
541   - shift # fnord
542   - shift # $arg
543   - ;;
544   - esac
545   - done
546   -
547   - "$@" -E |
548   - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
549   - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
550   - sed '$ s: \\$::' > "$tmpdepfile"
551   - rm -f "$depfile"
552   - echo "$object : \\" > "$depfile"
553   - cat < "$tmpdepfile" >> "$depfile"
554   - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
555   - rm -f "$tmpdepfile"
556   - ;;
557   -
558   -msvisualcpp)
559   - # Important note: in order to support this mode, a compiler *must*
560   - # always write the preprocessed file to stdout.
561   - "$@" || exit $?
562   -
563   - # Remove the call to Libtool.
564   - if test "$libtool" = yes; then
565   - while test "X$1" != 'X--mode=compile'; do
566   - shift
567   - done
568   - shift
569   - fi
570   -
571   - IFS=" "
572   - for arg
573   - do
574   - case "$arg" in
575   - -o)
576   - shift
577   - ;;
578   - $object)
579   - shift
580   - ;;
581   - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
582   - set fnord "$@"
583   - shift
584   - shift
585   - ;;
586   - *)
587   - set fnord "$@" "$arg"
588   - shift
589   - shift
590   - ;;
591   - esac
592   - done
593   - "$@" -E 2>/dev/null |
594   - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
595   - rm -f "$depfile"
596   - echo "$object : \\" > "$depfile"
597   - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
598   - echo " " >> "$depfile"
599   - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
600   - rm -f "$tmpdepfile"
601   - ;;
602   -
603   -msvcmsys)
604   - # This case exists only to let depend.m4 do its work. It works by
605   - # looking at the text of this script. This case will never be run,
606   - # since it is checked for above.
607   - exit 1
608   - ;;
609   -
610   -none)
611   - exec "$@"
612   - ;;
613   -
614   -*)
615   - echo "Unknown depmode $depmode" 1>&2
616   - exit 1
617   - ;;
618   -esac
619   -
620   -exit 0
621   -
622   -# Local Variables:
623   -# mode: shell-script
624   -# sh-indentation: 2
625   -# eval: (add-hook 'write-file-hooks 'time-stamp)
626   -# time-stamp-start: "scriptversion="
627   -# time-stamp-format: "%:y-%02m-%02d.%02H"
628   -# time-stamp-time-zone: "UTC"
629   -# time-stamp-end: "; # UTC"
630   -# End:
openhantek-extractfw/fwget.sh deleted
1   -#!/bin/bash
2   -
3   -BASEURL="http://www.hantek.com.cn/Product/32Driver"
4   -TARGETDIR="./firmware"
5   -ARCHIVE="Driver.rar"
6   -EXTRACTFW="openhantek-extractfw"
7   -
8   -if [ -x "./$EXTRACTFW" ]; then
9   - EXTRACTFW="./$EXTRACTFW"
10   -fi
11   -
12   -if [ $# -ge 1 ]; then
13   - TARGETDIR="$1"
14   -fi
15   -
16   -if [ ! -d "$TARGETDIR" ]; then
17   - mkdir -p "$TARGETDIR"
18   -fi
19   -
20   -for MODEL in "2090" "2150" "2250" "5200" "5200A"; do
21   - echo "Downloading official drivers for DSO$MODEL..."
22   - wget -O "$ARCHIVE" -q "$BASEURL/$MODEL/$ARCHIVE"
23   -
24   - echo "Extracting useful parts from driver archive..."
25   - unrar e -inul -n"Driver/*1.*" -y "Driver.rar" "$TARGETDIR"
26   -done
27   -
28   -if [ -e "$ARCHIVE" ]; then
29   - rm "$ARCHIVE"
30   -fi
31   -
32   -ORIGINALIFS="$IFS"
33   -IFS="
34   -"
35   -for FILENAME in $(find "$TARGETDIR" -iname "*.sys"); do
36   - echo ""
37   - echo "Extracting firmware from $FILENAME..."
38   - "$EXTRACTFW" "$FILENAME" 2>&1 | grep -v "^BFD:.*IMAGE_SCN_MEM_NOT_PAGED"
39   - rm "$FILENAME"
40   -done
41   -IFS="$ORIGINALIFS"
openhantek-extractfw/install-sh deleted
1   -#!/bin/sh
2   -# install - install a program, script, or datafile
3   -
4   -scriptversion=2009-04-28.21; # UTC
5   -
6   -# This originates from X11R5 (mit/util/scripts/install.sh), which was
7   -# later released in X11R6 (xc/config/util/install.sh) with the
8   -# following copyright and license.
9   -#
10   -# Copyright (C) 1994 X Consortium
11   -#
12   -# Permission is hereby granted, free of charge, to any person obtaining a copy
13   -# of this software and associated documentation files (the "Software"), to
14   -# deal in the Software without restriction, including without limitation the
15   -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
16   -# sell copies of the Software, and to permit persons to whom the Software is
17   -# furnished to do so, subject to the following conditions:
18   -#
19   -# The above copyright notice and this permission notice shall be included in
20   -# all copies or substantial portions of the Software.
21   -#
22   -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23   -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24   -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25   -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
26   -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
27   -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28   -#
29   -# Except as contained in this notice, the name of the X Consortium shall not
30   -# be used in advertising or otherwise to promote the sale, use or other deal-
31   -# ings in this Software without prior written authorization from the X Consor-
32   -# tium.
33   -#
34   -#
35   -# FSF changes to this file are in the public domain.
36   -#
37   -# Calling this script install-sh is preferred over install.sh, to prevent
38   -# `make' implicit rules from creating a file called install from it
39   -# when there is no Makefile.
40   -#
41   -# This script is compatible with the BSD install script, but was written
42   -# from scratch.
43   -
44   -nl='
45   -'
46   -IFS=" "" $nl"
47   -
48   -# set DOITPROG to echo to test this script
49   -
50   -# Don't use :- since 4.3BSD and earlier shells don't like it.
51   -doit=${DOITPROG-}
52   -if test -z "$doit"; then
53   - doit_exec=exec
54   -else
55   - doit_exec=$doit
56   -fi
57   -
58   -# Put in absolute file names if you don't have them in your path;
59   -# or use environment vars.
60   -
61   -chgrpprog=${CHGRPPROG-chgrp}
62   -chmodprog=${CHMODPROG-chmod}
63   -chownprog=${CHOWNPROG-chown}
64   -cmpprog=${CMPPROG-cmp}
65   -cpprog=${CPPROG-cp}
66   -mkdirprog=${MKDIRPROG-mkdir}
67   -mvprog=${MVPROG-mv}
68   -rmprog=${RMPROG-rm}
69   -stripprog=${STRIPPROG-strip}
70   -
71   -posix_glob='?'
72   -initialize_posix_glob='
73   - test "$posix_glob" != "?" || {
74   - if (set -f) 2>/dev/null; then
75   - posix_glob=
76   - else
77   - posix_glob=:
78   - fi
79   - }
80   -'
81   -
82   -posix_mkdir=
83   -
84   -# Desired mode of installed file.
85   -mode=0755
86   -
87   -chgrpcmd=
88   -chmodcmd=$chmodprog
89   -chowncmd=
90   -mvcmd=$mvprog
91   -rmcmd="$rmprog -f"
92   -stripcmd=
93   -
94   -src=
95   -dst=
96   -dir_arg=
97   -dst_arg=
98   -
99   -copy_on_change=false
100   -no_target_directory=
101   -
102   -usage="\
103   -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
104   - or: $0 [OPTION]... SRCFILES... DIRECTORY
105   - or: $0 [OPTION]... -t DIRECTORY SRCFILES...
106   - or: $0 [OPTION]... -d DIRECTORIES...
107   -
108   -In the 1st form, copy SRCFILE to DSTFILE.
109   -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
110   -In the 4th, create DIRECTORIES.
111   -
112   -Options:
113   - --help display this help and exit.
114   - --version display version info and exit.
115   -
116   - -c (ignored)
117   - -C install only if different (preserve the last data modification time)
118   - -d create directories instead of installing files.
119   - -g GROUP $chgrpprog installed files to GROUP.
120   - -m MODE $chmodprog installed files to MODE.
121   - -o USER $chownprog installed files to USER.
122   - -s $stripprog installed files.
123   - -t DIRECTORY install into DIRECTORY.
124   - -T report an error if DSTFILE is a directory.
125   -
126   -Environment variables override the default commands:
127   - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
128   - RMPROG STRIPPROG
129   -"
130   -
131   -while test $# -ne 0; do
132   - case $1 in
133   - -c) ;;
134   -
135   - -C) copy_on_change=true;;
136   -
137   - -d) dir_arg=true;;
138   -
139   - -g) chgrpcmd="$chgrpprog $2"
140   - shift;;
141   -
142   - --help) echo "$usage"; exit $?;;
143   -
144   - -m) mode=$2
145   - case $mode in
146   - *' '* | *' '* | *'
147   -'* | *'*'* | *'?'* | *'['*)
148   - echo "$0: invalid mode: $mode" >&2
149   - exit 1;;
150   - esac
151   - shift;;
152   -
153   - -o) chowncmd="$chownprog $2"
154   - shift;;
155   -
156   - -s) stripcmd=$stripprog;;
157   -
158   - -t) dst_arg=$2
159   - shift;;
160   -
161   - -T) no_target_directory=true;;
162   -
163   - --version) echo "$0 $scriptversion"; exit $?;;
164   -
165   - --) shift
166   - break;;
167   -
168   - -*) echo "$0: invalid option: $1" >&2
169   - exit 1;;
170   -
171   - *) break;;
172   - esac
173   - shift
174   -done
175   -
176   -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
177   - # When -d is used, all remaining arguments are directories to create.
178   - # When -t is used, the destination is already specified.
179   - # Otherwise, the last argument is the destination. Remove it from $@.
180   - for arg
181   - do
182   - if test -n "$dst_arg"; then
183   - # $@ is not empty: it contains at least $arg.
184   - set fnord "$@" "$dst_arg"
185   - shift # fnord
186   - fi
187   - shift # arg
188   - dst_arg=$arg
189   - done
190   -fi
191   -
192   -if test $# -eq 0; then
193   - if test -z "$dir_arg"; then
194   - echo "$0: no input file specified." >&2
195   - exit 1
196   - fi
197   - # It's OK to call `install-sh -d' without argument.
198   - # This can happen when creating conditional directories.
199   - exit 0
200   -fi
201   -
202   -if test -z "$dir_arg"; then
203   - trap '(exit $?); exit' 1 2 13 15
204   -
205   - # Set umask so as not to create temps with too-generous modes.
206   - # However, 'strip' requires both read and write access to temps.
207   - case $mode in
208   - # Optimize common cases.
209   - *644) cp_umask=133;;
210   - *755) cp_umask=22;;
211   -
212   - *[0-7])
213   - if test -z "$stripcmd"; then
214   - u_plus_rw=
215   - else
216   - u_plus_rw='% 200'
217   - fi
218   - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
219   - *)
220   - if test -z "$stripcmd"; then
221   - u_plus_rw=
222   - else
223   - u_plus_rw=,u+rw
224   - fi
225   - cp_umask=$mode$u_plus_rw;;
226   - esac
227   -fi
228   -
229   -for src
230   -do
231   - # Protect names starting with `-'.
232   - case $src in
233   - -*) src=./$src;;
234   - esac
235   -
236   - if test -n "$dir_arg"; then
237   - dst=$src
238   - dstdir=$dst
239   - test -d "$dstdir"
240   - dstdir_status=$?
241   - else
242   -
243   - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
244   - # might cause directories to be created, which would be especially bad
245   - # if $src (and thus $dsttmp) contains '*'.
246   - if test ! -f "$src" && test ! -d "$src"; then
247   - echo "$0: $src does not exist." >&2
248   - exit 1
249   - fi
250   -
251   - if test -z "$dst_arg"; then
252   - echo "$0: no destination specified." >&2
253   - exit 1
254   - fi
255   -
256   - dst=$dst_arg
257   - # Protect names starting with `-'.
258   - case $dst in
259   - -*) dst=./$dst;;
260   - esac
261   -
262   - # If destination is a directory, append the input filename; won't work
263   - # if double slashes aren't ignored.
264   - if test -d "$dst"; then
265   - if test -n "$no_target_directory"; then
266   - echo "$0: $dst_arg: Is a directory" >&2
267   - exit 1
268   - fi
269   - dstdir=$dst
270   - dst=$dstdir/`basename "$src"`
271   - dstdir_status=0
272   - else
273   - # Prefer dirname, but fall back on a substitute if dirname fails.
274   - dstdir=`
275   - (dirname "$dst") 2>/dev/null ||
276   - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
277   - X"$dst" : 'X\(//\)[^/]' \| \
278   - X"$dst" : 'X\(//\)$' \| \
279   - X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
280   - echo X"$dst" |
281   - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
282   - s//\1/
283   - q
284   - }
285   - /^X\(\/\/\)[^/].*/{
286   - s//\1/
287   - q
288   - }
289   - /^X\(\/\/\)$/{
290   - s//\1/
291   - q
292   - }
293   - /^X\(\/\).*/{
294   - s//\1/
295   - q
296   - }
297   - s/.*/./; q'
298   - `
299   -
300   - test -d "$dstdir"
301   - dstdir_status=$?
302   - fi
303   - fi
304   -
305   - obsolete_mkdir_used=false
306   -
307   - if test $dstdir_status != 0; then
308   - case $posix_mkdir in
309   - '')
310   - # Create intermediate dirs using mode 755 as modified by the umask.
311   - # This is like FreeBSD 'install' as of 1997-10-28.
312   - umask=`umask`
313   - case $stripcmd.$umask in
314   - # Optimize common cases.
315   - *[2367][2367]) mkdir_umask=$umask;;
316   - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
317   -
318   - *[0-7])
319   - mkdir_umask=`expr $umask + 22 \
320   - - $umask % 100 % 40 + $umask % 20 \
321   - - $umask % 10 % 4 + $umask % 2
322   - `;;
323   - *) mkdir_umask=$umask,go-w;;
324   - esac
325   -
326   - # With -d, create the new directory with the user-specified mode.
327   - # Otherwise, rely on $mkdir_umask.
328   - if test -n "$dir_arg"; then
329   - mkdir_mode=-m$mode
330   - else
331   - mkdir_mode=
332   - fi
333   -
334   - posix_mkdir=false
335   - case $umask in
336   - *[123567][0-7][0-7])
337   - # POSIX mkdir -p sets u+wx bits regardless of umask, which
338   - # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
339   - ;;
340   - *)
341   - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
342   - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
343   -
344   - if (umask $mkdir_umask &&
345   - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
346   - then
347   - if test -z "$dir_arg" || {
348   - # Check for POSIX incompatibilities with -m.
349   - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
350   - # other-writeable bit of parent directory when it shouldn't.
351   - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
352   - ls_ld_tmpdir=`ls -ld "$tmpdir"`
353   - case $ls_ld_tmpdir in
354   - d????-?r-*) different_mode=700;;
355   - d????-?--*) different_mode=755;;
356   - *) false;;
357   - esac &&
358   - $mkdirprog -m$different_mode -p -- "$tmpdir" && {
359   - ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
360   - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
361   - }
362   - }
363   - then posix_mkdir=:
364   - fi
365   - rmdir "$tmpdir/d" "$tmpdir"
366   - else
367   - # Remove any dirs left behind by ancient mkdir implementations.
368   - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
369   - fi
370   - trap '' 0;;
371   - esac;;
372   - esac
373   -
374   - if
375   - $posix_mkdir && (
376   - umask $mkdir_umask &&
377   - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
378   - )
379   - then :
380   - else
381   -
382   - # The umask is ridiculous, or mkdir does not conform to POSIX,
383   - # or it failed possibly due to a race condition. Create the
384   - # directory the slow way, step by step, checking for races as we go.
385   -
386   - case $dstdir in
387   - /*) prefix='/';;
388   - -*) prefix='./';;
389   - *) prefix='';;
390   - esac
391   -
392   - eval "$initialize_posix_glob"
393   -
394   - oIFS=$IFS
395   - IFS=/
396   - $posix_glob set -f
397   - set fnord $dstdir
398   - shift
399   - $posix_glob set +f
400   - IFS=$oIFS
401   -
402   - prefixes=
403   -
404   - for d
405   - do
406   - test -z "$d" && continue
407   -
408   - prefix=$prefix$d
409   - if test -d "$prefix"; then
410   - prefixes=
411   - else
412   - if $posix_mkdir; then
413   - (umask=$mkdir_umask &&
414   - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
415   - # Don't fail if two instances are running concurrently.
416   - test -d "$prefix" || exit 1
417   - else
418   - case $prefix in
419   - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
420   - *) qprefix=$prefix;;
421   - esac
422   - prefixes="$prefixes '$qprefix'"
423   - fi
424   - fi
425   - prefix=$prefix/
426   - done
427   -
428   - if test -n "$prefixes"; then
429   - # Don't fail if two instances are running concurrently.
430   - (umask $mkdir_umask &&
431   - eval "\$doit_exec \$mkdirprog $prefixes") ||
432   - test -d "$dstdir" || exit 1
433   - obsolete_mkdir_used=true
434   - fi
435   - fi
436   - fi
437   -
438   - if test -n "$dir_arg"; then
439   - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
440   - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
441   - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
442   - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
443   - else
444   -
445   - # Make a couple of temp file names in the proper directory.
446   - dsttmp=$dstdir/_inst.$$_
447   - rmtmp=$dstdir/_rm.$$_
448   -
449   - # Trap to clean up those temp files at exit.
450   - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
451   -
452   - # Copy the file name to the temp name.
453   - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
454   -
455   - # and set any options; do chmod last to preserve setuid bits.
456   - #
457   - # If any of these fail, we abort the whole thing. If we want to
458   - # ignore errors from any of these, just make sure not to ignore
459   - # errors from the above "$doit $cpprog $src $dsttmp" command.
460   - #
461   - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
462   - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
463   - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
464   - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
465   -
466   - # If -C, don't bother to copy if it wouldn't change the file.
467   - if $copy_on_change &&
468   - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
469   - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
470   -
471   - eval "$initialize_posix_glob" &&
472   - $posix_glob set -f &&
473   - set X $old && old=:$2:$4:$5:$6 &&
474   - set X $new && new=:$2:$4:$5:$6 &&
475   - $posix_glob set +f &&
476   -
477   - test "$old" = "$new" &&
478   - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
479   - then
480   - rm -f "$dsttmp"
481   - else
482   - # Rename the file to the real destination.
483   - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
484   -
485   - # The rename failed, perhaps because mv can't rename something else
486   - # to itself, or perhaps because mv is so ancient that it does not
487   - # support -f.
488   - {
489   - # Now remove or move aside any old file at destination location.
490   - # We try this two ways since rm can't unlink itself on some
491   - # systems and the destination file might be busy for other
492   - # reasons. In this case, the final cleanup might fail but the new
493   - # file should still install successfully.
494   - {
495   - test ! -f "$dst" ||
496   - $doit $rmcmd -f "$dst" 2>/dev/null ||
497   - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
498   - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
499   - } ||
500   - { echo "$0: cannot unlink or rename $dst" >&2
501   - (exit 1); exit 1
502   - }
503   - } &&
504   -
505   - # Now rename the file to the real destination.
506   - $doit $mvcmd "$dsttmp" "$dst"
507   - }
508   - fi || exit 1
509   -
510   - trap '' 0
511   - fi
512   -done
513   -
514   -# Local variables:
515   -# eval: (add-hook 'write-file-hooks 'time-stamp)
516   -# time-stamp-start: "scriptversion="
517   -# time-stamp-format: "%:y-%02m-%02d.%02H"
518   -# time-stamp-time-zone: "UTC"
519   -# time-stamp-end: "; # UTC"
520   -# End:
openhantek-extractfw/missing deleted
1   -#! /bin/sh
2   -# Common stub for a few missing GNU programs while installing.
3   -
4   -scriptversion=2009-04-28.21; # UTC
5   -
6   -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
7   -# 2008, 2009 Free Software Foundation, Inc.
8   -# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
9   -
10   -# This program is free software; you can redistribute it and/or modify
11   -# it under the terms of the GNU General Public License as published by
12   -# the Free Software Foundation; either version 2, or (at your option)
13   -# any later version.
14   -
15   -# This program is distributed in the hope that it will be useful,
16   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
17   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18   -# GNU General Public License for more details.
19   -
20   -# You should have received a copy of the GNU General Public License
21   -# along with this program. If not, see <http://www.gnu.org/licenses/>.
22   -
23   -# As a special exception to the GNU General Public License, if you
24   -# distribute this file as part of a program that contains a
25   -# configuration script generated by Autoconf, you may include it under
26   -# the same distribution terms that you use for the rest of that program.
27   -
28   -if test $# -eq 0; then
29   - echo 1>&2 "Try \`$0 --help' for more information"
30   - exit 1
31   -fi
32   -
33   -run=:
34   -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
35   -sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
36   -
37   -# In the cases where this matters, `missing' is being run in the
38   -# srcdir already.
39   -if test -f configure.ac; then
40   - configure_ac=configure.ac
41   -else
42   - configure_ac=configure.in
43   -fi
44   -
45   -msg="missing on your system"
46   -
47   -case $1 in
48   ---run)
49   - # Try to run requested program, and just exit if it succeeds.
50   - run=
51   - shift
52   - "$@" && exit 0
53   - # Exit code 63 means version mismatch. This often happens
54   - # when the user try to use an ancient version of a tool on
55   - # a file that requires a minimum version. In this case we
56   - # we should proceed has if the program had been absent, or
57   - # if --run hadn't been passed.
58   - if test $? = 63; then
59   - run=:
60   - msg="probably too old"
61   - fi
62   - ;;
63   -
64   - -h|--h|--he|--hel|--help)
65   - echo "\
66   -$0 [OPTION]... PROGRAM [ARGUMENT]...
67   -
68   -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
69   -error status if there is no known handling for PROGRAM.
70   -
71   -Options:
72   - -h, --help display this help and exit
73   - -v, --version output version information and exit
74   - --run try to run the given command, and emulate it if it fails
75   -
76   -Supported PROGRAM values:
77   - aclocal touch file \`aclocal.m4'
78   - autoconf touch file \`configure'
79   - autoheader touch file \`config.h.in'
80   - autom4te touch the output file, or create a stub one
81   - automake touch all \`Makefile.in' files
82   - bison create \`y.tab.[ch]', if possible, from existing .[ch]
83   - flex create \`lex.yy.c', if possible, from existing .c
84   - help2man touch the output file
85   - lex create \`lex.yy.c', if possible, from existing .c
86   - makeinfo touch the output file
87   - tar try tar, gnutar, gtar, then tar without non-portable flags
88   - yacc create \`y.tab.[ch]', if possible, from existing .[ch]
89   -
90   -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
91   -\`g' are ignored when checking the name.
92   -
93   -Send bug reports to <bug-automake@gnu.org>."
94   - exit $?
95   - ;;
96   -
97   - -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
98   - echo "missing $scriptversion (GNU Automake)"
99   - exit $?
100   - ;;
101   -
102   - -*)
103   - echo 1>&2 "$0: Unknown \`$1' option"
104   - echo 1>&2 "Try \`$0 --help' for more information"
105   - exit 1
106   - ;;
107   -
108   -esac
109   -
110   -# normalize program name to check for.
111   -program=`echo "$1" | sed '
112   - s/^gnu-//; t
113   - s/^gnu//; t
114   - s/^g//; t'`
115   -
116   -# Now exit if we have it, but it failed. Also exit now if we
117   -# don't have it and --version was passed (most likely to detect
118   -# the program). This is about non-GNU programs, so use $1 not
119   -# $program.
120   -case $1 in
121   - lex*|yacc*)
122   - # Not GNU programs, they don't have --version.
123   - ;;
124   -
125   - tar*)
126   - if test -n "$run"; then
127   - echo 1>&2 "ERROR: \`tar' requires --run"
128   - exit 1
129   - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
130   - exit 1
131   - fi
132   - ;;
133   -
134   - *)
135   - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
136   - # We have it, but it failed.
137   - exit 1
138   - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
139   - # Could not run --version or --help. This is probably someone
140   - # running `$TOOL --version' or `$TOOL --help' to check whether
141   - # $TOOL exists and not knowing $TOOL uses missing.
142   - exit 1
143   - fi
144   - ;;
145   -esac
146   -
147   -# If it does not exist, or fails to run (possibly an outdated version),
148   -# try to emulate it.
149   -case $program in
150   - aclocal*)
151   - echo 1>&2 "\
152   -WARNING: \`$1' is $msg. You should only need it if
153   - you modified \`acinclude.m4' or \`${configure_ac}'. You might want
154   - to install the \`Automake' and \`Perl' packages. Grab them from
155   - any GNU archive site."
156   - touch aclocal.m4
157   - ;;
158   -
159   - autoconf*)
160   - echo 1>&2 "\
161   -WARNING: \`$1' is $msg. You should only need it if
162   - you modified \`${configure_ac}'. You might want to install the
163   - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
164   - archive site."
165   - touch configure
166   - ;;
167   -
168   - autoheader*)
169   - echo 1>&2 "\
170   -WARNING: \`$1' is $msg. You should only need it if
171   - you modified \`acconfig.h' or \`${configure_ac}'. You might want
172   - to install the \`Autoconf' and \`GNU m4' packages. Grab them
173   - from any GNU archive site."
174   - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
175   - test -z "$files" && files="config.h"
176   - touch_files=
177   - for f in $files; do
178   - case $f in
179   - *:*) touch_files="$touch_files "`echo "$f" |
180   - sed -e 's/^[^:]*://' -e 's/:.*//'`;;
181   - *) touch_files="$touch_files $f.in";;
182   - esac
183   - done
184   - touch $touch_files
185   - ;;
186   -
187   - automake*)
188   - echo 1>&2 "\
189   -WARNING: \`$1' is $msg. You should only need it if
190   - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
191   - You might want to install the \`Automake' and \`Perl' packages.
192   - Grab them from any GNU archive site."
193   - find . -type f -name Makefile.am -print |
194   - sed 's/\.am$/.in/' |
195   - while read f; do touch "$f"; done
196   - ;;
197   -
198   - autom4te*)
199   - echo 1>&2 "\
200   -WARNING: \`$1' is needed, but is $msg.
201   - You might have modified some files without having the
202   - proper tools for further handling them.
203   - You can get \`$1' as part of \`Autoconf' from any GNU
204   - archive site."
205   -
206   - file=`echo "$*" | sed -n "$sed_output"`
207   - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
208   - if test -f "$file"; then
209   - touch $file
210   - else
211   - test -z "$file" || exec >$file
212   - echo "#! /bin/sh"
213   - echo "# Created by GNU Automake missing as a replacement of"
214   - echo "# $ $@"
215   - echo "exit 0"
216   - chmod +x $file
217   - exit 1
218   - fi
219   - ;;
220   -
221   - bison*|yacc*)
222   - echo 1>&2 "\
223   -WARNING: \`$1' $msg. You should only need it if
224   - you modified a \`.y' file. You may need the \`Bison' package
225   - in order for those modifications to take effect. You can get
226   - \`Bison' from any GNU archive site."
227   - rm -f y.tab.c y.tab.h
228   - if test $# -ne 1; then
229   - eval LASTARG="\${$#}"
230   - case $LASTARG in
231   - *.y)
232   - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
233   - if test -f "$SRCFILE"; then
234   - cp "$SRCFILE" y.tab.c
235   - fi
236   - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
237   - if test -f "$SRCFILE"; then
238   - cp "$SRCFILE" y.tab.h
239   - fi
240   - ;;
241   - esac
242   - fi
243   - if test ! -f y.tab.h; then
244   - echo >y.tab.h
245   - fi
246   - if test ! -f y.tab.c; then
247   - echo 'main() { return 0; }' >y.tab.c
248   - fi
249   - ;;
250   -
251   - lex*|flex*)
252   - echo 1>&2 "\
253   -WARNING: \`$1' is $msg. You should only need it if
254   - you modified a \`.l' file. You may need the \`Flex' package
255   - in order for those modifications to take effect. You can get
256   - \`Flex' from any GNU archive site."
257   - rm -f lex.yy.c
258   - if test $# -ne 1; then
259   - eval LASTARG="\${$#}"
260   - case $LASTARG in
261   - *.l)
262   - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
263   - if test -f "$SRCFILE"; then
264   - cp "$SRCFILE" lex.yy.c
265   - fi
266   - ;;
267   - esac
268   - fi
269   - if test ! -f lex.yy.c; then
270   - echo 'main() { return 0; }' >lex.yy.c
271   - fi
272   - ;;
273   -
274   - help2man*)
275   - echo 1>&2 "\
276   -WARNING: \`$1' is $msg. You should only need it if
277   - you modified a dependency of a manual page. You may need the
278   - \`Help2man' package in order for those modifications to take
279   - effect. You can get \`Help2man' from any GNU archive site."
280   -
281   - file=`echo "$*" | sed -n "$sed_output"`
282   - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
283   - if test -f "$file"; then
284   - touch $file
285   - else
286   - test -z "$file" || exec >$file
287   - echo ".ab help2man is required to generate this page"
288   - exit $?
289   - fi
290   - ;;
291   -
292   - makeinfo*)
293   - echo 1>&2 "\
294   -WARNING: \`$1' is $msg. You should only need it if
295   - you modified a \`.texi' or \`.texinfo' file, or any other file
296   - indirectly affecting the aspect of the manual. The spurious
297   - call might also be the consequence of using a buggy \`make' (AIX,
298   - DU, IRIX). You might want to install the \`Texinfo' package or
299   - the \`GNU make' package. Grab either from any GNU archive site."
300   - # The file to touch is that specified with -o ...
301   - file=`echo "$*" | sed -n "$sed_output"`
302   - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
303   - if test -z "$file"; then
304   - # ... or it is the one specified with @setfilename ...
305   - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
306   - file=`sed -n '
307   - /^@setfilename/{
308   - s/.* \([^ ]*\) *$/\1/
309   - p
310   - q
311   - }' $infile`
312   - # ... or it is derived from the source name (dir/f.texi becomes f.info)
313   - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
314   - fi
315   - # If the file does not exist, the user really needs makeinfo;
316   - # let's fail without touching anything.
317   - test -f $file || exit 1
318   - touch $file
319   - ;;
320   -
321   - tar*)
322   - shift
323   -
324   - # We have already tried tar in the generic part.
325   - # Look for gnutar/gtar before invocation to avoid ugly error
326   - # messages.
327   - if (gnutar --version > /dev/null 2>&1); then
328   - gnutar "$@" && exit 0
329   - fi
330   - if (gtar --version > /dev/null 2>&1); then
331   - gtar "$@" && exit 0
332   - fi
333   - firstarg="$1"
334   - if shift; then
335   - case $firstarg in
336   - *o*)
337   - firstarg=`echo "$firstarg" | sed s/o//`
338   - tar "$firstarg" "$@" && exit 0
339   - ;;
340   - esac
341   - case $firstarg in
342   - *h*)
343   - firstarg=`echo "$firstarg" | sed s/h//`
344   - tar "$firstarg" "$@" && exit 0
345   - ;;
346   - esac
347   - fi
348   -
349   - echo 1>&2 "\
350   -WARNING: I can't seem to be able to run \`tar' with the given arguments.
351   - You may want to install GNU tar or Free paxutils, or check the
352   - command line arguments."
353   - exit 1
354   - ;;
355   -
356   - *)
357   - echo 1>&2 "\
358   -WARNING: \`$1' is needed, and is $msg.
359   - You might have modified some files without having the
360   - proper tools for further handling them. Check the \`README' file,
361   - it often tells you about the needed prerequisites for installing
362   - this package. You may also peek at any GNU archive site, in case
363   - some other package would contain this missing \`$1' program."
364   - exit 1
365   - ;;
366   -esac
367   -
368   -exit 0
369   -
370   -# Local variables:
371   -# eval: (add-hook 'write-file-hooks 'time-stamp)
372   -# time-stamp-start: "scriptversion="
373   -# time-stamp-format: "%:y-%02m-%02d.%02H"
374   -# time-stamp-time-zone: "UTC"
375   -# time-stamp-end: "; # UTC"
376   -# End: