Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5c3b8c59de |
@@ -1,674 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
@@ -1,370 +0,0 @@
|
||||
Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. This file is offered as-is,
|
||||
without warranty of any kind.
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
Briefly, the shell commands `./configure; make; make install' should
|
||||
configure, build, and install this package. The following
|
||||
more-detailed instructions are generic; see the `README' file for
|
||||
instructions specific to this package. Some packages provide this
|
||||
`INSTALL' file but do not implement all of the features documented
|
||||
below. The lack of an optional feature in a given package is not
|
||||
necessarily a bug. More recommendations for GNU packages can be found
|
||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you don't want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You need `configure.ac' if
|
||||
you want to change it or regenerate `configure' using a newer version
|
||||
of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system.
|
||||
|
||||
Running `configure' might take a while. While running, it prints
|
||||
some messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package, generally using the just-built uninstalled binaries.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation. When installing into a prefix owned by root, it is
|
||||
recommended that the package be configured and built as a regular
|
||||
user, and only the `make install' phase executed with root
|
||||
privileges.
|
||||
|
||||
5. Optionally, type `make installcheck' to repeat any self-tests, but
|
||||
this time using the binaries in their final installed location.
|
||||
This target does not install anything. Running this target as a
|
||||
regular user, particularly if the prior `make install' required
|
||||
root privileges, verifies that the installation completed
|
||||
correctly.
|
||||
|
||||
6. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
7. Often, you can also type `make uninstall' to remove the installed
|
||||
files again. In practice, not all packages have tested that
|
||||
uninstallation works correctly, even though it is required by the
|
||||
GNU Coding Standards.
|
||||
|
||||
8. Some packages, particularly those that use Automake, provide `make
|
||||
distcheck', which can by used by developers to test that all other
|
||||
targets like `make install' and `make uninstall' work correctly.
|
||||
This target is generally not run by end users.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. Run `./configure --help'
|
||||
for details on some of the pertinent environment variables.
|
||||
|
||||
You can give `configure' initial values for configuration parameters
|
||||
by setting variables in the command line or in the environment. Here
|
||||
is an example:
|
||||
|
||||
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
||||
|
||||
*Note Defining Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you can use GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'. This
|
||||
is known as a "VPATH" build.
|
||||
|
||||
With a non-GNU `make', it is safer to compile the package for one
|
||||
architecture at a time in the source code directory. After you have
|
||||
installed the package for one architecture, use `make distclean' before
|
||||
reconfiguring for another architecture.
|
||||
|
||||
On MacOS X 10.5 and later systems, you can create libraries and
|
||||
executables that work on multiple system types--known as "fat" or
|
||||
"universal" binaries--by specifying multiple `-arch' options to the
|
||||
compiler but only a single `-arch' option to the preprocessor. Like
|
||||
this:
|
||||
|
||||
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
CPP="gcc -E" CXXCPP="g++ -E"
|
||||
|
||||
This is not guaranteed to produce working output in all cases, you
|
||||
may have to build one architecture at a time and combine the results
|
||||
using the `lipo' tool if you have problems.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' installs the package's commands under
|
||||
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
||||
can specify an installation prefix other than `/usr/local' by giving
|
||||
`configure' the option `--prefix=PREFIX', where PREFIX must be an
|
||||
absolute file name.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
||||
PREFIX as the prefix for installing programs and libraries.
|
||||
Documentation and other data files still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=DIR' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them. In general, the
|
||||
default for these options is expressed in terms of `${prefix}', so that
|
||||
specifying just `--prefix' will affect all of the other directory
|
||||
specifications that were not explicitly provided.
|
||||
|
||||
The most portable way to affect installation locations is to pass the
|
||||
correct locations to `configure'; however, many packages provide one or
|
||||
both of the following shortcuts of passing variable assignments to the
|
||||
`make install' command line to change installation locations without
|
||||
having to reconfigure or recompile.
|
||||
|
||||
The first method involves providing an override variable for each
|
||||
affected directory. For example, `make install
|
||||
prefix=/alternate/directory' will choose an alternate location for all
|
||||
directory configuration variables that were expressed in terms of
|
||||
`${prefix}'. Any directories that were specified during `configure',
|
||||
but not in terms of `${prefix}', must each be overridden at install
|
||||
time for the entire installation to be relocated. The approach of
|
||||
makefile variable overrides for each directory variable is required by
|
||||
the GNU Coding Standards, and ideally causes no recompilation.
|
||||
However, some platforms have known limitations with the semantics of
|
||||
shared libraries that end up requiring recompilation when using this
|
||||
method, particularly noticeable in packages that use GNU Libtool.
|
||||
|
||||
The second method involves providing the `DESTDIR' variable. For
|
||||
example, `make install DESTDIR=/alternate/directory' will prepend
|
||||
`/alternate/directory' before all installation names. The approach of
|
||||
`DESTDIR' overrides is not required by the GNU Coding Standards, and
|
||||
does not work on platforms that have drive letters. On the other hand,
|
||||
it does better at avoiding recompilation issues, and works well even
|
||||
when some directory options were not specified in terms of `${prefix}'
|
||||
at `configure' time.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Some packages offer the ability to configure how verbose the
|
||||
execution of `make' will be. For these packages, running `./configure
|
||||
--enable-silent-rules' sets the default to minimal output, which can be
|
||||
overridden with `make V=1'; while running `./configure
|
||||
--disable-silent-rules' sets the default to verbose, which can be
|
||||
overridden with `make V=0'.
|
||||
|
||||
Particular systems
|
||||
==================
|
||||
|
||||
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
|
||||
CC is not installed, it is recommended to use the following options in
|
||||
order to use an ANSI C compiler:
|
||||
|
||||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
||||
|
||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
||||
|
||||
HP-UX `make' updates targets which have the same time stamps as
|
||||
their prerequisites, which makes it generally unusable when shipped
|
||||
generated files such as `configure' are involved. Use GNU `make'
|
||||
instead.
|
||||
|
||||
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
|
||||
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
|
||||
a workaround. If GNU CC is not installed, it is therefore recommended
|
||||
to try
|
||||
|
||||
./configure CC="cc"
|
||||
|
||||
and if that doesn't work, try
|
||||
|
||||
./configure CC="cc -nodtk"
|
||||
|
||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
||||
directory contains several dysfunctional programs; working variants of
|
||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
||||
in your `PATH', put it _after_ `/usr/bin'.
|
||||
|
||||
On Haiku, software installed for all users goes in `/boot/common',
|
||||
not `/usr/local'. It is recommended to use the following options:
|
||||
|
||||
./configure --prefix=/boot/common
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' cannot figure out
|
||||
automatically, but needs to determine by the type of machine the package
|
||||
will run on. Usually, assuming the package is built to be run on the
|
||||
_same_ architectures, `configure' can figure that out, but if it prints
|
||||
a message saying it cannot guess the machine type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS
|
||||
KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the machine type.
|
||||
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the option `--target=TYPE' to select the type of system they will
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the
|
||||
"host" platform (i.e., that on which the generated programs will
|
||||
eventually be run) with `--host=TYPE'.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Defining Variables
|
||||
==================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to `configure'. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
causes the specified `gcc' to be used as the C compiler (unless it is
|
||||
overridden in the site shell script).
|
||||
|
||||
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
|
||||
an Autoconf bug. Until the bug is fixed you can use this workaround:
|
||||
|
||||
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of all of the options to `configure', and exit.
|
||||
|
||||
`--help=short'
|
||||
`--help=recursive'
|
||||
Print a summary of the options unique to this package's
|
||||
`configure', and exit. The `short' variant lists options used
|
||||
only in the top level, while the `recursive' variant lists options
|
||||
also present in any nested packages.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made. To
|
||||
suppress all normal output, redirect it to `/dev/null' (any error
|
||||
messages will still be shown).
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--prefix=DIR'
|
||||
Use DIR as the installation prefix. *note Installation Names::
|
||||
for more details, including other options available for fine-tuning
|
||||
the installation locations.
|
||||
|
||||
`--no-create'
|
||||
`-n'
|
||||
Run the configure checks, but stop before creating any output
|
||||
files.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
HTTrack Website Copier - Install notes
|
||||
--------------------------------------
|
||||
|
||||
On most systems (including GNU/Linux), installing can be easily acheived using the following command:
|
||||
|
||||
./configure && make && make install
|
||||
-or- (if not compiling as root)
|
||||
./configure --prefix=$HOME && make && make install
|
||||
|
||||
See also the INSTALL generic help file.
|
||||
@@ -1,8 +0,0 @@
|
||||
|
||||
SUBDIRS = src man m4 libtest templates lang html tests
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
EXTRA_DIST = INSTALL.Linux \
|
||||
gpl-fr.txt license.txt greetings.txt history.txt \
|
||||
httrack-doc.html lang.def
|
||||
@@ -1,785 +0,0 @@
|
||||
# Makefile.in generated by automake 1.11.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
|
||||
# Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = .
|
||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
|
||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||
missing
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/check_zlib.m4 \
|
||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/snprintf.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno config.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-dvi-recursive install-exec-recursive \
|
||||
install-html-recursive install-info-recursive \
|
||||
install-pdf-recursive install-ps-recursive install-recursive \
|
||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
ps-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
||||
distdir dist dist-all distcheck
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
if test -d "$(distdir)"; then \
|
||||
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -rf "$(distdir)" \
|
||||
|| { sleep 5 && rm -rf "$(distdir)"; }; \
|
||||
else :; fi
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_CFLAGS = @AM_CFLAGS@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
|
||||
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DL_LIBS = @DL_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
HAVE_VISIBILITY = @HAVE_VISIBILITY@
|
||||
HTTPS_SUPPORT = @HTTPS_SUPPORT@
|
||||
ICONV_LIBS = @ICONV_LIBS@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LFS_FLAG = @LFS_FLAG@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_CV_OBJDIR = @LT_CV_OBJDIR@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
ONLINE_UNIT_TESTS = @ONLINE_UNIT_TESTS@
|
||||
OPENSSL_LIBS = @OPENSSL_LIBS@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
SHLIBPATH_VAR = @SHLIBPATH_VAR@
|
||||
SOCKET_LIBS = @SOCKET_LIBS@
|
||||
STRIP = @STRIP@
|
||||
THREADS_CFLAGS = @THREADS_CFLAGS@
|
||||
THREADS_LIBS = @THREADS_LIBS@
|
||||
V6_FLAG = @V6_FLAG@
|
||||
VERSION = @VERSION@
|
||||
VERSION_INFO = @VERSION_INFO@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = src man m4 libtest templates lang html tests
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
EXTRA_DIST = INSTALL.Linux \
|
||||
gpl-fr.txt license.txt greetings.txt history.txt \
|
||||
httrack-doc.html lang.def
|
||||
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh: Makefile
|
||||
@:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
|
||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then rm -f stamp-h1; else :; fi
|
||||
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
rev=''; for subdir in $$list; do \
|
||||
if test "$$subdir" = "."; then :; else \
|
||||
rev="$$subdir $$rev"; \
|
||||
fi; \
|
||||
done; \
|
||||
rev="$$rev ."; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-test -n "$(am__skip_mode_fix)" \
|
||||
|| find "$(distdir)" -type d ! -perm -755 \
|
||||
-exec chmod u+rwx,go+rx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r "$(distdir)"
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-lzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-lzma: distdir
|
||||
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-xz: distdir
|
||||
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lzma*) \
|
||||
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
|
||||
*.tar.lz*) \
|
||||
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod u+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
test -d $(distdir)/_build || exit 0; \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& am__cwd=`pwd` \
|
||||
&& $(am__cd) $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||
&& cd "$$am__cwd" \
|
||||
|| exit 1
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@test -n '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: trying to run $@ with an empty' \
|
||||
'$$(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
$(am__cd) '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile config.h
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-hdr \
|
||||
distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
|
||||
ctags-recursive install-am install-strip tags-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
||||
all all-am am--refresh check check-am clean clean-generic \
|
||||
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
|
||||
dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
|
||||
dist-zip distcheck distclean distclean-generic distclean-hdr \
|
||||
distclean-libtool distclean-tags distcleancheck distdir \
|
||||
distuninstallcheck dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||
ps ps-am tags tags-recursive uninstall uninstall-am
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
@@ -0,0 +1,26 @@
|
||||
# HTTrack Website Copier - Development Repository #
|
||||
|
||||
## About ##
|
||||
_Copy websites to your computer (Offline browser)_
|
||||
|
||||

|
||||
<img src='http://www.httrack.com/htsw/screenshot_w1.jpg' width='34%'>
|
||||
|
||||
<b>HTTrack</b> is an <i>offline browser</i> utility, allowing you to download a World Wide website from the Internet to a local directory, building recursively all directories, getting html, images, and other files from the server to your computer.<br>
|
||||
<br>
|
||||
<b>HTTrack</b> arranges the original site's relative link-structure. Simply open a page of the "mirrored" website in your browser, and you can browse the site from link to link, as if you were viewing it online.<br>
|
||||
<br>
|
||||
HTTrack can also update an existing mirrored site, and resume interrupted downloads. HTTrack is fully configurable, and has an integrated help system.<br>
|
||||
<br>
|
||||
<b>WinHTTrack</b> is the Windows 2000/XP/Vista/Seven release of HTTrack, and <b>WebHTTrack</b> the Linux/Unix/BSD release.<br>
|
||||
<br>
|
||||
<h2>Website</h2>
|
||||
|
||||
<b>Main Website:</b>
|
||||
<a href='http://www.httrack.com/'>http://www.httrack.com/</a>
|
||||
|
||||
<h2>Compile trunk release</h2>
|
||||
<pre><code>svn checkout https://httrack.googlecode.com/svn/trunk/ httrack
|
||||
<br>
|
||||
cd httrack
|
||||
<br>
|
||||
@@ -1,58 +0,0 @@
|
||||
HTTrack Website Copier, Offline Browser for Windows and Unix
|
||||
Copyright (C) 1998-2014 Xavier Roche and other contributors
|
||||
|
||||
Welcome to HTTrack Website Copier!
|
||||
|
||||
|
||||
Information:
|
||||
|
||||
The folder html/ contains the documentation
|
||||
You might want to read these files, especially for installing HTTrack:
|
||||
- See INSTALL file for installation information (NO WARRANTY)
|
||||
- See license.txt file for license information
|
||||
|
||||
|
||||
Contacting us:
|
||||
|
||||
If you want to ask any question, feel free to contact us!
|
||||
email: httrack@httrack.com
|
||||
|
||||
|
||||
Donations:
|
||||
|
||||
HTTrack Website Copier is free software, but if you can, please donate to the Free Software Foundation (FSF) to support free software!
|
||||
|
||||
(Europe)
|
||||
http://www.fsfeurope.org/help/donate.html
|
||||
|
||||
(World)
|
||||
http://www.fsf.org/help/donate.html
|
||||
|
||||
|
||||
Engine limits:
|
||||
|
||||
These are the principals limits of HTTrack for that moment. Note that we did not heard about any other utility
|
||||
that would have solved them.
|
||||
|
||||
- Several scripts generating complex filenames may not find them (ex: img.src='image'+a+Mobj.dst+'.gif')
|
||||
- Some java classes may not find some files on them (class included)
|
||||
- Cgi-bin links may not work properly in some cases (parameters needed). To avoid them: use filters like -*cgi-bin*
|
||||
|
||||
|
||||
Advanced options:
|
||||
|
||||
These options may not be necessary for a normal usage. But they can solve several problems.
|
||||
|
||||
- If you need more than 100,000 links: -#L1000000 (1,000,000 links)
|
||||
- If you need more than 500 filters: -#F1000 (1,000 filters)
|
||||
- If you need transfer rate statictics every minutes: -#Z
|
||||
- If you need transfer operations statistics every minutes: -#T
|
||||
- If you want log files to be refreshed after every line: -#f
|
||||
|
||||
|
||||
Thank you!
|
||||
|
||||
|
||||
Have fun with HTTrack Website Copier!
|
||||
The authors
|
||||
|
||||
@@ -1,343 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-03-05.13; # UTC
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -1,126 +0,0 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Check for dlopen in c */
|
||||
#undef DLLIB
|
||||
|
||||
/* Check for ftime */
|
||||
#undef FTIME
|
||||
|
||||
/* Define if pointers to integers require aligned access */
|
||||
#undef HAVE_ALIGNED_ACCESS_REQUIRED
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `z' library (-lz). */
|
||||
#undef HAVE_LIBZ
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `snprintf' function. */
|
||||
#undef HAVE_SNPRINTF
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to 1 or 0, depending whether the compiler supports simple visibility
|
||||
declarations. */
|
||||
#undef HAVE_VISIBILITY
|
||||
|
||||
/* Define to 1 if you have the `vsnprintf' function. */
|
||||
#undef HAVE_VSNPRINTF
|
||||
|
||||
/* Check for in_addr_t */
|
||||
#undef HTS_DO_NOT_REDEFINE_in_addr_t
|
||||
|
||||
/* Check for IPv6 */
|
||||
#undef HTS_INET6
|
||||
|
||||
/* Check for large files support */
|
||||
#undef HTS_LFS
|
||||
|
||||
/* Check for OpenSSL */
|
||||
#undef HTS_USEOPENSSL
|
||||
|
||||
/* Check for libiconv */
|
||||
#undef LIBICONV
|
||||
|
||||
/* Check for libsocket */
|
||||
#undef LIBSOCKET
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
|
||||
#undef NO_MINUS_C_MINUS_O
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* "enable replacement (v)snprintf if system (v)snprintf is broken" */
|
||||
#undef PREFER_PORTABLE_SNPRINTF
|
||||
|
||||
/* Check for setuid */
|
||||
#undef SETUID
|
||||
|
||||
/* The size of `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of `long long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG_LONG
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Check for pthread in pthreads */
|
||||
#undef THREADS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* in_port_t */
|
||||
#undef in_port_t
|
||||
|
||||
/* sa_family_t */
|
||||
#undef sa_family_t
|
||||
@@ -1,262 +0,0 @@
|
||||
AC_PREREQ(2.59)
|
||||
|
||||
AC_INIT([httrack], [3.48.19], [roche+packaging@httrack.com], [httrack], [http://www.httrack.com/])
|
||||
AC_COPYRIGHT([
|
||||
HTTrack Website Copier, Offline Browser for Windows and Unix
|
||||
Copyright (C) 1998-2014 Xavier Roche and other contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Important notes:
|
||||
|
||||
- We hereby ask people using this source NOT to use it in purpose of grabbing
|
||||
emails addresses, or collecting any other private information on persons.
|
||||
This would disgrace our work, and spoil the many hours we spent on it.
|
||||
|
||||
Please visit our Website: http://www.httrack.com
|
||||
])
|
||||
|
||||
AC_CONFIG_SRCDIR(src/httrack.c)
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
AM_INIT_AUTOMAKE([subdir-objects])
|
||||
VERSION_INFO="2:48:0"
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_C_O
|
||||
AC_STDC_HEADERS
|
||||
LT_INIT
|
||||
AC_PROG_LN_S
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
# Export LD_LIBRARY_PATH name or equivalent.
|
||||
AC_SUBST(SHLIBPATH_VAR,$shlibpath_var)
|
||||
|
||||
# Export .libs or equivalent.
|
||||
AC_SUBST(LT_CV_OBJDIR,$lt_cv_objdir)
|
||||
|
||||
# Export version info
|
||||
AC_SUBST(VERSION_INFO)
|
||||
|
||||
### Default CFLAGS
|
||||
DEFAULT_CFLAGS="-Wall -Wformat -Wformat-security \
|
||||
-Wmultichar -Wwrite-strings -Wcast-qual -Wcast-align \
|
||||
-Wstrict-prototypes -Wmissing-prototypes \
|
||||
-Wmissing-declarations -Wdeclaration-after-statement \
|
||||
-Wpointer-arith -Wsequence-point -Wnested-externs \
|
||||
-D_REENTRANT"
|
||||
AC_SUBST(DEFAULT_CFLAGS)
|
||||
DEFAULT_LDFLAGS=""
|
||||
AC_SUBST(DEFAULT_LDFLAGS)
|
||||
|
||||
### Additional flags (if supported)
|
||||
AX_CHECK_COMPILE_FLAG([-Wparentheses], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wparentheses"])
|
||||
AX_CHECK_COMPILE_FLAG([-Winit-self], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Winit-self"])
|
||||
AX_CHECK_COMPILE_FLAG([-Wunused-but-set-parameter], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wunused-but-set-parameter"])
|
||||
AX_CHECK_COMPILE_FLAG([-Waddress], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Waddress"])
|
||||
AX_CHECK_COMPILE_FLAG([-Wuninitialized], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wuninitialized"])
|
||||
AX_CHECK_COMPILE_FLAG([-Wformat=2], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wformat=2"])
|
||||
AX_CHECK_COMPILE_FLAG([-Wformat-nonliteral], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wformat-nonliteral"])
|
||||
AX_CHECK_COMPILE_FLAG([-Wmissing-parameter-type], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wmissing-parameter-type"])
|
||||
AX_CHECK_COMPILE_FLAG([-Wold-style-definition], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wold-style-definition"])
|
||||
AX_CHECK_COMPILE_FLAG([-Wignored-qualifiers], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wignored-qualifiers"])
|
||||
AX_CHECK_COMPILE_FLAG([-fstrict-aliasing -Wstrict-aliasing], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -fstrict-aliasing -Wstrict-aliasing"])
|
||||
AX_CHECK_LINK_FLAG([-Wl,--discard-all], [DEFAULT_LDLAGS="$DEFAULT_LDLAGS -Wl,--discard-all"])
|
||||
AX_CHECK_LINK_FLAG([-Wl,--no-undefined], [DEFAULT_LDLAGS="$DEFAULT_LDLAGS -Wl,--no-undefined"])
|
||||
|
||||
## Export all symbols for backtraces
|
||||
AX_CHECK_COMPILE_FLAG([-rdynamic], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -rdynamic"])
|
||||
|
||||
### Check for -fvisibility=hidden support
|
||||
gl_VISIBILITY
|
||||
AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY"
|
||||
AC_SUBST([AM_CFLAGS])
|
||||
|
||||
### Check for platform
|
||||
#case $host in
|
||||
#AIX) AC_DEFINE(HTS_PLATFORM, 1, [Defined to build under AIX]);;
|
||||
#*-solaris*) AC_DEFINE(HTS_PLATFORM, 2, [Defined to build under solaris]);;
|
||||
#*-linux-gnu | *-irix6*) AC_DEFINE(HTS_PLATFORM, 3, [Defined to build under Linux]);;
|
||||
#*) AC_DEFINE(HTS_PLATFORM, 3, [Default value used]);;
|
||||
#esac
|
||||
|
||||
### Check size of long and long long.
|
||||
AC_CHECK_SIZEOF(long)
|
||||
AC_CHECK_SIZEOF(long long)
|
||||
|
||||
### check for in_addr_t
|
||||
AC_CHECK_TYPE(in_addr_t,
|
||||
AC_DEFINE(HTS_DO_NOT_REDEFINE_in_addr_t,,[Check for in_addr_t]),
|
||||
AC_MSG_WARN([*** in_addr_t not found]),
|
||||
[#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>])
|
||||
|
||||
# check for in_port_
|
||||
AC_CHECK_TYPE(in_port_t, [], [AC_DEFINE([in_port_t], [uint16_t], [in_port_t])], [
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
])
|
||||
|
||||
# check for sa_family_t
|
||||
AC_CHECK_TYPE(sa_family_t, [], [AC_DEFINE([sa_family_t], [uint16_t], [sa_family_t])], [
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
])
|
||||
|
||||
# check wether misaligned access is possible or not
|
||||
AX_CHECK_ALIGNED_ACCESS_REQUIRED
|
||||
|
||||
### zlib
|
||||
CHECK_ZLIB()
|
||||
|
||||
### OpenSSL is explicitly enabled/disabled ?
|
||||
AC_MSG_CHECKING(whether to enable https support)
|
||||
AC_ARG_ENABLE([https],
|
||||
[AC_HELP_STRING([--enable-https=@<:@yes/no/auto@:>@],
|
||||
[Enable https support @<:@default=yes@:>@])],
|
||||
[
|
||||
case "${enableval}" in
|
||||
no|yes|auto)
|
||||
https_support=$enableval
|
||||
AC_MSG_RESULT($https_support)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR(bad value for https, expected yes/no/auto)
|
||||
;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
https_support=yes
|
||||
AC_MSG_RESULT($https_support)
|
||||
])
|
||||
AC_SUBST(HTTPS_SUPPORT,$https_support)
|
||||
|
||||
# Probe OpenSSL ?
|
||||
if test x"$https_support" = x"no"; then
|
||||
AC_MSG_NOTICE([disabling https support])
|
||||
AC_DEFINE(HTS_USEOPENSSL, 0)
|
||||
else
|
||||
AC_CHECK_LIB(ssl, SSL_library_init,
|
||||
[
|
||||
OPENSSL_LIBS="-lcrypto -lssl"
|
||||
AC_DEFINE(HTS_USEOPENSSL, 1, [Check for OpenSSL])
|
||||
],
|
||||
[
|
||||
if test x"$https_support" = x"yes"; then
|
||||
AC_MSG_ERROR([not available])
|
||||
else
|
||||
AC_MSG_RESULT([not available])
|
||||
fi
|
||||
]
|
||||
)
|
||||
AC_SUBST(OPENSSL_LIBS)
|
||||
fi
|
||||
|
||||
### Support IPv6
|
||||
AC_CHECK_LIB(c, getaddrinfo, [V6_FLAG="-DINET6"
|
||||
AC_DEFINE(HTS_INET6, 1, [Check for IPv6])], AC_MSG_WARN([*** IPv6 not found IPv6 compatibility disabled]))
|
||||
AC_SUBST(V6_FLAG)
|
||||
|
||||
### Check for LFS
|
||||
AC_CHECK_LIB(c, fopen64, [LFS_FLAG="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
|
||||
AC_DEFINE(HTS_LFS, 1,[Check for large files support])], AC_MSG_RESULT([not found]))
|
||||
AC_SUBST(LFS_FLAG)
|
||||
|
||||
### Check for pthread
|
||||
AC_CHECK_LIB(pthread, pthread_create, [THREADS_LIBS=-lpthread
|
||||
AC_DEFINE(THREADS, 1,[Check for pthread])], AC_MSG_RESULT([not found]))
|
||||
AC_SUBST(THREADS_LIBS)
|
||||
if test x$THREADS_LIBS = x
|
||||
then
|
||||
AC_CHECK_LIB(c, pthread_create, [THREADS_LIBS=
|
||||
AC_DEFINE(THREADS, 1,[Check for pthread in c])], AC_MSG_RESULT([not found]))
|
||||
AC_SUBST(THREADS_LIBS)
|
||||
if test x$THREADS_LIBS = x
|
||||
then
|
||||
AC_CHECK_LIB(pthreads, pthread_create, [THREADS_LIBS=
|
||||
AC_DEFINE(THREADS, 1,[Check for pthread in pthreads])], AC_MSG_WARN([*** not found]))
|
||||
AC_SUBST(THREADS_LIBS)
|
||||
fi
|
||||
fi
|
||||
THREADS_CFLAGS=
|
||||
AC_SUBST(THREADS_CFLAGS)
|
||||
|
||||
### Check for socket/nsl (solaris)
|
||||
AC_CHECK_LIB(socket, socket, [SOCKET_LIBS="-lnsl -lsocket"
|
||||
AC_DEFINE(LIBSOCKET, 1,[Check for libsocket])], AC_MSG_RESULT([not necessary]))
|
||||
AC_SUBST(SOCKET_LIBS)
|
||||
|
||||
### Check for iconv
|
||||
AC_CHECK_LIB(iconv, iconv, [ICONV_LIBS="-liconv"
|
||||
AC_DEFINE(LIBICONV, 1,[Check for libiconv])], AC_MSG_RESULT([not necessary]))
|
||||
AC_SUBST(ICONV_LIBS)
|
||||
|
||||
### Check for dlsym
|
||||
AC_CHECK_LIB(dl, dlopen, [DL_LIBS=-ldl
|
||||
AC_DEFINE(DLLIB, 1,[Check for dl])], AC_MSG_RESULT([not found]))
|
||||
AC_SUBST(DL_LIBS)
|
||||
if test x$DL_LIBS = x
|
||||
then
|
||||
AC_CHECK_LIB(c, dlopen, [DL_LIBS=
|
||||
AC_DEFINE(DLLIB, 1,[Check for dlopen in c])], AC_MSG_WARN([*** not found * this is bad]))
|
||||
AC_SUBST(DL_LIBS)
|
||||
fi
|
||||
|
||||
### Check for ftime
|
||||
AC_CHECK_LIB(c, ftime, [
|
||||
AC_DEFINE(FTIME, 1,[Check for ftime])], AC_MSG_RESULT([not found]))
|
||||
|
||||
### Check for setuid
|
||||
AC_CHECK_LIB(c, setuid, [
|
||||
AC_DEFINE(SETUID, 1,[Check for setuid])], AC_MSG_RESULT([not found]))
|
||||
|
||||
### Check for snprintf
|
||||
AC_FUNC_SNPRINTF()
|
||||
|
||||
## Online unit tests
|
||||
AC_MSG_CHECKING(whether to enable online unit tests)
|
||||
AC_ARG_ENABLE([online-unit-tests],
|
||||
[AC_HELP_STRING([--enable-online-unit-tests=@<:@yes/no/auto@:>@],
|
||||
[Enable online-unit-tests @<:@default=yes@:>@])],
|
||||
[
|
||||
case "${enableval}" in
|
||||
no|yes|auto)
|
||||
online_unit_tests=$enableval
|
||||
AC_MSG_RESULT($enableval)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR(bad value for online-unit-tests, expected yes/no/auto)
|
||||
;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
online_unit_tests=no
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
AC_SUBST(ONLINE_UNIT_TESTS,$online_unit_tests)
|
||||
|
||||
# Final output
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
src/Makefile
|
||||
man/Makefile
|
||||
m4/Makefile
|
||||
templates/Makefile
|
||||
lang/Makefile
|
||||
html/Makefile
|
||||
libtest/Makefile
|
||||
tests/Makefile
|
||||
])
|
||||
@@ -1 +0,0 @@
|
||||
8
|
||||
@@ -1,96 +0,0 @@
|
||||
Source: httrack
|
||||
Section: web
|
||||
Priority: optional
|
||||
Maintainer: Xavier Roche <roche@httrack.com>
|
||||
Standards-Version: 3.9.5
|
||||
Build-Depends: debhelper (>= 8.0.0), dh-autoreconf, autotools-dev, autoconf, autoconf-archive, automake, libtool, zlib1g-dev, libssl-dev
|
||||
Homepage: http://www.httrack.com
|
||||
Vcs-Svn: http://httrack.googlecode.com/svn/trunk
|
||||
Vcs-Browser: https://code.google.com/p/httrack/source/browse/trunk/src
|
||||
|
||||
Package: httrack
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||
Suggests: webhttrack, httrack-doc
|
||||
Description: Copy websites to your computer (Offline browser)
|
||||
HTTrack is an offline browser utility, allowing you to download a World
|
||||
Wide website from the Internet to a local directory, building recursively
|
||||
all directories, getting html, images, and other files from the server to
|
||||
your computer.
|
||||
.
|
||||
HTTrack arranges the original site's relative link-structure. Simply
|
||||
open a page of the "mirrored" website in your browser, and you can
|
||||
browse the site from link to link, as if you were viewing it online.
|
||||
HTTrack can also update an existing mirrored site, and resume
|
||||
interrupted downloads. HTTrack is fully configurable, and has an
|
||||
integrated help system.
|
||||
|
||||
Package: webhttrack
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}, webhttrack-common, iceape-browser | iceweasel | icecat | mozilla | firefox | mozilla-firefox | www-browser
|
||||
Replaces: webhttrack-common (<< 3.43.9-2)
|
||||
Breaks: webhttrack-common (<< 3.43.9-2)
|
||||
Suggests: httrack, httrack-doc
|
||||
Enhances: httrack
|
||||
Description: Copy websites to your computer, httrack with a Web interface
|
||||
WebHTTrack is an offline browser utility, allowing you to download a World
|
||||
Wide website from the Internet to a local directory, building recursively
|
||||
all directories, getting html, images, and other files from the server to
|
||||
your computer, using a step-by-step web interface.
|
||||
.
|
||||
WebHTTrack arranges the original site's relative link-structure. Simply
|
||||
open a page of the "mirrored" website in your browser, and you can
|
||||
browse the site from link to link, as if you were viewing it online.
|
||||
HTTrack can also update an existing mirrored site, and resume
|
||||
interrupted downloads. WebHTTrack is fully configurable, and has an
|
||||
integrated help system.
|
||||
.
|
||||
Snapshots: http://www.httrack.com/page/21/
|
||||
|
||||
Package: webhttrack-common
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}
|
||||
Description: webhttrack common files
|
||||
This package is the common files of webhttrack, website copier and
|
||||
mirroring utility
|
||||
|
||||
Package: libhttrack2
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Replaces: libhttrack1
|
||||
Conflicts: libhttrack1
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||
Recommends: libssl1.0.0
|
||||
Description: Httrack website copier library
|
||||
This package is the library part of httrack, website copier and mirroring
|
||||
utility
|
||||
|
||||
Package: libhttrack-dev
|
||||
Architecture: any
|
||||
Section: libdevel
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}, zlib1g-dev
|
||||
Recommends: libssl1.0.0
|
||||
Description: Httrack website copier includes and development files
|
||||
This package adds supplemental files for using the httrack website copier
|
||||
library
|
||||
|
||||
Package: httrack-doc
|
||||
Architecture: all
|
||||
Section: doc
|
||||
Depends: ${misc:Depends}
|
||||
Description: Httrack website copier additional documentation
|
||||
This package adds supplemental documentation for httrack and webhttrack
|
||||
as a browsable html documentation
|
||||
|
||||
Package: proxytrack
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||
Suggests: squid, httrack
|
||||
Description: Build HTTP Caches using archived websites copied by HTTrack
|
||||
ProxyTrack is a simple proxy server aimed to deliver content archived by
|
||||
HTTrack sessions. It can aggregate multiple download caches, for direct
|
||||
use (through any browser) or as an upstream cache slave server.
|
||||
This proxy can handle HTTP/1.1 proxy connections, and is able to reply to
|
||||
ICPv2 requests for an efficient integration within other cache servers,
|
||||
such as Squid. It can also handle transparent HTTP requests to allow
|
||||
cached live connections inside an offline network.
|
||||
@@ -1,31 +0,0 @@
|
||||
This package was debianized by Xavier Roche <roche@httrack.com> on
|
||||
Fri, 27 Sep 2002 16:42:26 +0200
|
||||
|
||||
The current Debian maintainer is Xavier Roche <xavier@debian.org>
|
||||
|
||||
Upstream author: Xavier Roche <roche@httrack.com>
|
||||
|
||||
Copyright: 1998-2014 Xavier Roche and other contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
On Debian systems, the complete text of the GNU General Public
|
||||
License can be found in /usr/share/common-licenses/GPL file.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
In addition, as a special exception, Xavier Roche gives permission to
|
||||
link the code of this program with the openSSL library (or with
|
||||
modified versions of openSSL that use the same license as openSSL),
|
||||
and distribute linked combinations including the two. You must obey
|
||||
the GNU General Public License in all respects for all of the code
|
||||
used other than openSSL. If you modify this file, you may extend this
|
||||
exception to your version of the file, but you are not obligated to do
|
||||
so. If you do not wish to do so, delete this exception statement from
|
||||
your version.
|
||||
@@ -1,2 +0,0 @@
|
||||
dh_lintian
|
||||
dh_autoreconf
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: httrack-doc
|
||||
Title: httrack website copier documentation
|
||||
Author: Xavier Roche <roche@httrack.com>
|
||||
Abstract: This document describes and discuss on httrack website copier
|
||||
Section: Network/Web Browsing
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/httrack/httrack-doc.html
|
||||
Files: /usr/share/doc/httrack/html/*.html
|
||||
@@ -1,4 +0,0 @@
|
||||
usr/share/httrack/html
|
||||
usr/share/doc/httrack
|
||||
usr/share/doc/httrack/httrack-doc.html
|
||||
usr/share/lintian/overrides/httrack-doc
|
||||
@@ -1,3 +0,0 @@
|
||||
extra-license-file usr/share/httrack/html/license.txt
|
||||
duplicate-changelog-files usr/share/doc/httrack/changelog.gz usr/share/doc/httrack/history.txt.gz
|
||||
extended-description-is-probably-too-short
|
||||
@@ -1,2 +0,0 @@
|
||||
dh_lintian
|
||||
dh_autoreconf
|
||||
@@ -1 +0,0 @@
|
||||
duplicate-changelog-files usr/share/doc/httrack/changelog.gz usr/share/doc/httrack/history.txt.gz
|
||||
@@ -1,2 +0,0 @@
|
||||
dh_lintian
|
||||
dh_autoreconf
|
||||
@@ -1,6 +0,0 @@
|
||||
usr/include/httrack
|
||||
usr/lib/libhttrack.{so}
|
||||
usr/lib/libhtsjava.{so}
|
||||
usr/share/httrack/libtest
|
||||
usr/lib/httrack/libtest
|
||||
usr/share/lintian/overrides/libhttrack-dev
|
||||
@@ -1 +0,0 @@
|
||||
hardening-no-fortify-functions usr/lib/httrack/libtest/libfilenameiisbug.so.1.0.0
|
||||
@@ -1,2 +0,0 @@
|
||||
usr/lib/libhtsswf.so.1.0.0
|
||||
usr/lib/libhtsswf.so.1
|
||||
@@ -1,2 +0,0 @@
|
||||
dh_lintian
|
||||
dh_autoreconf
|
||||
@@ -1,5 +0,0 @@
|
||||
usr/lib/libhttrack.so.2.0.48
|
||||
usr/lib/libhttrack.so.2
|
||||
usr/lib/libhtsjava.so.2.0.48
|
||||
usr/lib/libhtsjava.so.2
|
||||
usr/share/httrack/templates
|
||||
@@ -1,2 +0,0 @@
|
||||
dh_lintian
|
||||
dh_autoreconf
|
||||
@@ -1,2 +0,0 @@
|
||||
usr/share/man/man1/proxytrack.1
|
||||
usr/bin/proxytrack
|
||||
@@ -1,155 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
# *** Patch for s390, mips, hppa..
|
||||
# It seems that htscore.c can not compile on several archs, due to compiler
|
||||
# capacity limits. These lines shall be removed when gcc is upgraded.
|
||||
# See discussions on 'Assembler messages: Branch out of range'
|
||||
# Addition (04/2004): gcc-3.3 on arm fcks up with htscoremain.c and -O3 (..)
|
||||
ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),s390 mips mipsel hppa m68k arm))
|
||||
CFLAGS += -DNOSTRDEBUG
|
||||
endif
|
||||
|
||||
DEB_CFLAGS_MAINT_APPEND=-O3
|
||||
|
||||
# DEB_BUILD_OPTIONS flags
|
||||
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||
CFLAGS += -g3
|
||||
endif
|
||||
|
||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
||||
INSTALL_PROGRAM += -s
|
||||
endif
|
||||
|
||||
# as suggested by Simon McVittie
|
||||
# (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744380)
|
||||
override_dh_auto_test:
|
||||
VERBOSE=1 dh_auto_test
|
||||
|
||||
configure: configure-stamp
|
||||
configure-stamp:
|
||||
dh_testdir
|
||||
|
||||
dh_autoreconf
|
||||
# note: dpkg-buildflags to be removed when compat=9
|
||||
dh_auto_configure -- --enable-online-unit-tests=auto $(shell dpkg-buildflags --export=configure)
|
||||
|
||||
touch configure-stamp
|
||||
|
||||
build: build-arch build-indep
|
||||
|
||||
build-indep:
|
||||
|
||||
build-arch: build-stamp
|
||||
|
||||
build-stamp: configure-stamp
|
||||
dh_testdir
|
||||
dh_auto_build
|
||||
dh_auto_test
|
||||
touch build-stamp
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f build-stamp configure-stamp
|
||||
dh_auto_clean
|
||||
dh_autoreconf_clean
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
dh_auto_install --destdir=$(CURDIR)/debian/httrack
|
||||
##$(MAKE) install DESTDIR=$(CURDIR)/debian/httrack
|
||||
|
||||
# place html files (doc, webhttrack files)
|
||||
|
||||
# remove symlink created by html/Makefile's install-data-hook
|
||||
rm $(CURDIR)/debian/httrack/usr/share/httrack/html
|
||||
# and put back in place data
|
||||
mv $(CURDIR)/debian/httrack/usr/share/doc/httrack \
|
||||
$(CURDIR)/debian/httrack/usr/share/httrack/html
|
||||
# create symlink on the other side
|
||||
mkdir $(CURDIR)/debian/httrack/usr/share/doc/httrack
|
||||
ln -s ../../httrack/html \
|
||||
$(CURDIR)/debian/httrack/usr/share/doc/httrack/html
|
||||
# and put in place the two outer files
|
||||
mv $(CURDIR)/debian/httrack/usr/share/httrack/html/httrack-doc.html \
|
||||
$(CURDIR)/debian/httrack/usr/share/doc/httrack/httrack-doc.html
|
||||
|
||||
# place libraries and cleanup
|
||||
mkdir -p $(CURDIR)/debian/httrack/usr/lib/httrack/
|
||||
mv $(CURDIR)/debian/httrack/usr/bin/htsserver \
|
||||
$(CURDIR)/debian/httrack/usr/lib/httrack/
|
||||
# remove *.la (https://wiki.debian.org/ReleaseGoals/LAFileRemoval)
|
||||
rm -f $(CURDIR)/debian/httrack/usr/lib/*.la
|
||||
rm -f $(CURDIR)/debian/httrack/usr/lib/httrack/*.la
|
||||
# remove *.a unless we do not have *.so files
|
||||
# see BUG #744594
|
||||
if ls $(CURDIR)/debian/httrack/usr/lib/*.so >/dev/null 2>/dev/null ; then \
|
||||
rm -f $(CURDIR)/debian/httrack/usr/lib/*.a ; \
|
||||
fi
|
||||
if ls $(CURDIR)/debian/httrack/usr/lib/httrack/*.so >/dev/null 2>/dev/null ; then \
|
||||
rm -f $(CURDIR)/debian/httrack/usr/lib/httrack/*.a ; \
|
||||
fi
|
||||
mv $(CURDIR)/debian/httrack/usr/lib/httrack/lib* \
|
||||
$(CURDIR)/debian/httrack/usr/share/httrack/libtest/
|
||||
mkdir -p $(CURDIR)/debian/httrack/usr/lib/httrack/libtest
|
||||
mv $(CURDIR)/debian/httrack/usr/share/httrack/libtest/lib* \
|
||||
$(CURDIR)/debian/httrack/usr/lib/httrack/libtest
|
||||
ln -s ../../../share/httrack/libtest/readme.txt \
|
||||
$(CURDIR)/debian/httrack/usr/lib/httrack/libtest/readme.txt
|
||||
|
||||
# Lintian overrides
|
||||
mkdir -p $(CURDIR)/debian/httrack/usr/share/lintian/overrides
|
||||
cp $(CURDIR)/debian/httrack.lintian-overrides \
|
||||
$(CURDIR)/debian/httrack/usr/share/lintian/overrides/httrack
|
||||
cp $(CURDIR)/debian/libhttrack-dev.lintian-overrides \
|
||||
$(CURDIR)/debian/httrack/usr/share/lintian/overrides/libhttrack-dev
|
||||
cp $(CURDIR)/debian/httrack-doc.lintian-overrides \
|
||||
$(CURDIR)/debian/httrack/usr/share/lintian/overrides/httrack-doc
|
||||
|
||||
dh_movefiles --sourcedir=debian/httrack
|
||||
|
||||
# remove empty dirs
|
||||
find debian -type d | xargs rmdir -p --ignore-fail-on-non-empty
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
dh_testdir -i
|
||||
dh_testroot -i
|
||||
dh_installdocs -i
|
||||
dh_installchangelogs -i history.txt
|
||||
dh_link -i
|
||||
dh_compress -i
|
||||
dh_fixperms -i
|
||||
dh_installdeb -i
|
||||
dh_gencontrol -i
|
||||
dh_md5sums -i
|
||||
dh_builddeb -i
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: build install
|
||||
dh_testdir -a
|
||||
dh_testroot -a
|
||||
dh_installdocs -a
|
||||
dh_installmenu -a
|
||||
dh_installchangelogs -a history.txt
|
||||
dh_link -a
|
||||
dh_strip -a
|
||||
dh_compress -a
|
||||
dh_fixperms -a
|
||||
dh_makeshlibs -a -X/usr/lib/httrack/libtest --version-info
|
||||
dh_installdeb -a
|
||||
# we depend on the current version (ABI may change)
|
||||
dh_shlibdeps -a -ldebian/libhttrack2/usr/lib
|
||||
dh_gencontrol -a
|
||||
dh_md5sums -a
|
||||
dh_builddeb -a
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install configure
|
||||
@@ -1,2 +0,0 @@
|
||||
httrack source: changelog-should-mention-nmu
|
||||
httrack source: source-nmu-has-incorrect-version-number
|
||||
@@ -1 +0,0 @@
|
||||
3.0 (quilt)
|
||||
@@ -1 +0,0 @@
|
||||
extend-diff-ignore="(^|/)(config\.sub|config\.guess|test-driver|Makefile|.*\.in|aclocal\.m4|configure)$"
|
||||
@@ -1,7 +0,0 @@
|
||||
# format version number, currently 3; this line is compulsory!
|
||||
version=3
|
||||
|
||||
# main httrack.com download page ; fetch the mirror version number
|
||||
http://www.httrack.com/page/2/en/index.html\
|
||||
.*/httrack-([\d\.]+).tar.gz
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
dh_lintian
|
||||
dh_autoreconf
|
||||
@@ -1,6 +0,0 @@
|
||||
usr/share/httrack/html/server
|
||||
usr/share/httrack/lang
|
||||
usr/share/httrack/lang.def
|
||||
usr/share/httrack/lang.indexes
|
||||
usr/share/pixmaps
|
||||
usr/share/icons
|
||||
@@ -1,2 +0,0 @@
|
||||
dh_lintian
|
||||
dh_autoreconf
|
||||
@@ -1,6 +0,0 @@
|
||||
usr/lib/httrack/htsserver
|
||||
usr/bin/webhttrack
|
||||
usr/share/man/man1/webhttrack.1
|
||||
usr/share/man/man1/htsserver.1
|
||||
usr/share/applications/WebHTTrack-Websites.desktop
|
||||
usr/share/applications/WebHTTrack.desktop
|
||||
@@ -1,4 +0,0 @@
|
||||
?package(webhttrack):needs="X11" section="Applications/Network/Web Browsing" \
|
||||
title="WebHTTrack" command="webhttrack" hints="Offline browsers" \
|
||||
icon16x16="/usr/share/pixmaps/httrack16x16.xpm" \
|
||||
icon32x32="/usr/share/pixmaps/httrack32x32.xpm"
|
||||
@@ -1,708 +0,0 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2012-03-27.16; # UTC
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
|
||||
# 2011, 2012 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by 'PROGRAMS ARGS'.
|
||||
object Object file output by 'PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputting dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# A tabulation character.
|
||||
tab=' '
|
||||
# A newline character.
|
||||
nl='
|
||||
'
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
if test "$depmode" = msvc7msys; then
|
||||
# This is just like msvc7 but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvc7
|
||||
fi
|
||||
|
||||
if test "$depmode" = xlc; then
|
||||
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
|
||||
gccflag=-qmakedep=gcc,-MF
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the "deleted header file" problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' "$nl" < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the ':'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||
## to the object. Take care to not repeat it in the output.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr "$nl" ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
xlc)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form 'foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# '$object: dependent.h' and one to simply 'dependent.h:'.
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
|
||||
# However on
|
||||
# $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using '\':
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
# tcc 0.9.26 (FIXME still under development at the moment of writing)
|
||||
# will emit a similar output, but also prepend the continuation lines
|
||||
# with horizontal tabulation characters.
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form 'foo.o: dependent.h',
|
||||
# or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# '$object: dependent.h' and one to simply 'dependent.h:'.
|
||||
sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
|
||||
< "$tmpdepfile" > "$depfile"
|
||||
sed '
|
||||
s/[ '"$tab"'][ '"$tab"']*/ /g
|
||||
s/^ *//
|
||||
s/ *\\*$//
|
||||
s/^[^:]*: *//
|
||||
/^$/d
|
||||
/:$/d
|
||||
s/$/ :/
|
||||
' < "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add 'dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in 'foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# With Tru64 cc, shared objects can also be used to make a
|
||||
# static library. This mechanism is used in libtool 1.4 series to
|
||||
# handle both shared and static libraries in a single compilation.
|
||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||
#
|
||||
# With libtool 1.5 this exception was removed, and libtool now
|
||||
# generates 2 separate objects for the 2 libraries. These two
|
||||
# compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.o.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
tmpdepfile4=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7)
|
||||
if test "$libtool" = yes; then
|
||||
showIncludes=-Wc,-showIncludes
|
||||
else
|
||||
showIncludes=-showIncludes
|
||||
fi
|
||||
"$@" $showIncludes > "$tmpdepfile"
|
||||
stat=$?
|
||||
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||
if test "$stat" = 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The first sed program below extracts the file names and escapes
|
||||
# backslashes for cygpath. The second sed program outputs the file
|
||||
# name when reading, but also accumulates all include files in the
|
||||
# hold buffer in order to output them again at the end. This only
|
||||
# works with sed implementations that can handle large buffers.
|
||||
sed < "$tmpdepfile" -n '
|
||||
/^Note: including file: *\(.*\)/ {
|
||||
s//\1/
|
||||
s/\\/\\\\/g
|
||||
p
|
||||
}' | $cygpath_u | sort -u | sed -n '
|
||||
s/ /\\ /g
|
||||
s/\(.*\)/'"$tab"'\1 \\/p
|
||||
s/.\(.*\) \\/\1:/
|
||||
H
|
||||
$ {
|
||||
s/.*/'"$tab"'/
|
||||
G
|
||||
p
|
||||
}' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7msys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for ':'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' "$nl" < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
# makedepend may prepend the VPATH from the source file name to the object.
|
||||
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||
echo "$tab" >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -1,879 +0,0 @@
|
||||
|
||||
LICENCE PUBLIQUE GÉNÉRALE GNU
|
||||
Version 3, du 29 juin 2007.
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
|
||||
Chacun est autorisé à copier et distribuer des copies conformes de ce
|
||||
document de licence, mais toute modification en est proscrite.
|
||||
|
||||
Traduction française par Philippe Verdy
|
||||
<verdy_p (à) wanadoo (point) fr>, le 30 juin 2007.
|
||||
|
||||
_______________________________________________________________________
|
||||
|
||||
Avertissement important au sujet de cette traduction française.
|
||||
_______________________________________________________________________
|
||||
|
||||
Ceci est une traduction en français de la licence GNU General Public
|
||||
License (GPL). Cette traduction est fournie ici dans lespoir quelle
|
||||
facilitera sa compréhension, mais elle ne constitue pas une traduction
|
||||
officielle ou approuvée dun point de vue juridique.
|
||||
|
||||
La Free Software Foundation (FSF) ne publie pas cette traduction et ne
|
||||
la pas approuvée en tant que substitut valide au plan légal pour la
|
||||
licence authentique GNU General Public Licence. Cette traduction na
|
||||
pas encore été passée en revue attentivement par un juriste et donc le
|
||||
traducteur ne peut garantir avec certitude quelle représente avec
|
||||
exactitude la signification légale des termes de la licence authentique
|
||||
GNU General Public License publiée en anglais. Cette traduction
|
||||
nétablit donc légalement aucun des termes et conditions dutilisation
|
||||
dun logiciel sous licence GNU GPL seul le texte original en anglais
|
||||
le fait. Si vous souhaitez être sûr que les activités que vous projetez
|
||||
seront autorisées par la GNU General Public License, veuillez vous
|
||||
référer à sa seule version anglaise authentique.
|
||||
|
||||
La FSF vous recommande fermement de ne pas utiliser cette traduction en
|
||||
tant que termes officiels pour vos propres programmes ; veuillez plutôt
|
||||
utiliser la version anglaise authentique telle que publiée par la FSF.
|
||||
Si vous choisissez dacheminer cette traduction en même temps quun
|
||||
Programme sous licence GNU GPL, cela ne vous dispense pas de lobligation
|
||||
dacheminer en même temps une copie de la licence authentique en anglais,
|
||||
et de conserver dans la traduction cet avertissement important en
|
||||
français et son équivalent en anglais ci-dessous.
|
||||
|
||||
_______________________________________________________________________
|
||||
|
||||
Important Warning About This French Translation.
|
||||
_______________________________________________________________________
|
||||
|
||||
This is a translation of the GNU General Public License (GPL) into
|
||||
French. This translation is distributed in the hope that it will
|
||||
facilitate understanding, but it is not an official or legally approved
|
||||
translation.
|
||||
|
||||
The Free Software Foundation (FSF) is not the publisher of this
|
||||
translation and has not approved it as a legal substitute for the
|
||||
authentic GNU General Public License. The translation has not been
|
||||
reviewed carefully by lawyers, and therefore the translator cannot be
|
||||
sure that it exactly represents the legal meaning of the authentic GNU
|
||||
General Public License published in English. This translation does not
|
||||
legally state the terms and conditions of use of any Program licenced
|
||||
under GNU GPL only the original English text of the GNU LGPL does
|
||||
that. If you wish to be sure whether your planned activities are
|
||||
permitted by the GNU General Public License, please refer to its sole
|
||||
authentic English version.
|
||||
|
||||
The FSF strongly urges you not to use this translation as the official
|
||||
distribution terms for your programs; instead, please use the authentic
|
||||
English version published by the FSF. If you choose to convey this
|
||||
translation along with a Program covered by the GPL Licence, this does
|
||||
not remove your obligation to convey at the same time a copy of the
|
||||
authentic GNU GPL License in English, and you must keep in this
|
||||
translation this important warning in English and its equivalent in
|
||||
French above.
|
||||
|
||||
_______________________________________________________________________
|
||||
|
||||
|
||||
Préambule
|
||||
|
||||
La Licence Publique Générale GNU (GNU General Public License) est une
|
||||
licence libre, en copyleft, destinée aux uvres logicielles et
|
||||
dautres types de travaux.
|
||||
|
||||
Les licences de la plupart des uvres logicielles et autres travaux de
|
||||
pratique sont conçues pour ôter votre liberté de partager et modifier
|
||||
ces travaux. En contraste, la Licence Publique Générale GNU a pour but
|
||||
de garantir votre liberté de partager et changer toutes les versions
|
||||
dun programme afin dassurer quil restera libre pour tous les
|
||||
utilisateurs. Nous, la Free Software Foundation, utilisons la Licence
|
||||
Publique Générale GNU pour la plupart de nos logiciels ; cela
|
||||
sapplique aussi à tout autre travail édité de cette façon par ses
|
||||
auteurs. Vous pouvez, vous aussi, lappliquer à vos propres programmes.
|
||||
|
||||
Quand nous parlons de logiciel libre (free), nous nous référons à la
|
||||
liberté (freedom), pas au prix. Nos Licences Publiques Générales sont
|
||||
conçues pour assurer que vous ayez la liberté de distribuer des copies
|
||||
de logiciel libre (et le facturer si vous le souhaitez), que vous
|
||||
receviez le code source ou pouviez lobtenir si vous le voulez, que
|
||||
vous pouviez modifier le logiciel ou en utiliser toute partie dans de
|
||||
nouveaux logiciels libres, et que vous sachiez que vous avez le droit
|
||||
de faire tout ceci.
|
||||
|
||||
Pour protéger vos droits, nous avons besoin dempêcher que dautres
|
||||
vous restreignent ces droits ou vous demande de leur abandonner ces
|
||||
droits. En conséquence, vous avez certaines responsabilités si vous
|
||||
distribuez des copies dun tel programme ou si vous le modifiez :
|
||||
les responsabilités de respecter la liberté des autres.
|
||||
|
||||
Par exemple, si vous distribuez des copies dun tel programme, que ce
|
||||
soit gratuit ou contre un paiement, vous devez accorder aux
|
||||
Destinataires les mêmes libertés que vous avez reçues. Vous devez aussi
|
||||
vous assurer queux aussi reçoivent ou peuvent recevoir son code
|
||||
source. Et vous devez leur montrer les termes de cette licence afin
|
||||
quils connaissent leurs droits.
|
||||
|
||||
Les développeurs qui utilisent la GPL GNU protègent vos droits en deux
|
||||
étapes : (1) ils affirment leur droits dauteur (copyright) sur le
|
||||
logiciel, et (2) vous accordent cette Licence qui vous donne la
|
||||
permission légale de le copier, le distribuer et/ou le modifier.
|
||||
|
||||
Pour la protection des développeurs et auteurs, la GPL stipule
|
||||
clairement quil ny a pas de garantie pour ce logiciel libre. Aux fins
|
||||
à la fois des utilisateurs et auteurs, la GPL requière que les versions
|
||||
modifiées soient marquées comme changées, afin que leurs problèmes ne
|
||||
soient pas attribués de façon erronée aux auteurs des versions
|
||||
précédentes.
|
||||
|
||||
Certains dispositifs sont conçus pour empêcher laccès des utilisateurs
|
||||
à linstallation ou lexécution de versions modifiées du logiciel à
|
||||
lintérieur de ces dispositifs, alors que les fabricants le peuvent.
|
||||
Ceci est fondamentalement incompatible avec le but de protéger la
|
||||
liberté des utilisateurs de modifier le logiciel. Laspect systématique
|
||||
de tels abus se produit dans le secteur des produits destinés aux
|
||||
utilisateurs individuels, ce qui est précidément ce qui est le plus
|
||||
inacceptable. Aussi, nous avons conçu cette version de la GPL pour
|
||||
prohiber cette pratique pour ces produits. Si de tels problèmes
|
||||
surviennent dans dautres domaines, nous nous tenons prêt à étendre
|
||||
cette restriction à ces domaines dans de futures versions de la GPL,
|
||||
autant quil sera nécessaire pour protéger la liberté des utilisateurs.
|
||||
|
||||
Finalement, chaque programme est constamment menacé par les brevets
|
||||
logiciels. Les États ne devraient pas autoriser de tels brevets à
|
||||
restreindre le développement et lutilisation de logiciels libres sur
|
||||
des ordinateurs dusage général ; mais dans ceux qui le font, nous
|
||||
voulons spécialement éviter le danger que les brevets appliqués à un
|
||||
programme libre puisse le rendre effectivement propriétaire. Pour
|
||||
empêcher ceci, la GPL assure que les brevets ne peuvent être utilisés
|
||||
pour rendre le programme non-libre.
|
||||
|
||||
Les termes précis et conditions concernant la copie, la distribution
|
||||
et la modification suivent.
|
||||
|
||||
|
||||
TERMES ET CONDITIONS
|
||||
|
||||
|
||||
Article 0. Définitions.
|
||||
|
||||
« Cette Licence » se réfère à la version 3 de la GNU General Public
|
||||
License (le texte original en anglais).
|
||||
|
||||
« Droit dAuteur » signifie aussi les droits du copyright ou voisins
|
||||
qui sappliquent à dautres types de travaux, tels que ceux sur les
|
||||
masques de semi-conducteurs.
|
||||
|
||||
« Le Programme » se réfère à tout travail qui peut être sujet au Droit
|
||||
dAuteur (copyright) et dont les droits dutilisation sont concédés
|
||||
en vertu de cette Licence. Chacun des Licenciés, à qui cette Licence
|
||||
est concédée, est désigné par « vous. » Les « Licenciés » et les
|
||||
« Destinataires » peuvent être des personnes physiques ou morales
|
||||
(individus ou organisations).
|
||||
|
||||
« Modifier » un travail signifie en obtenir une copie et adapter tout
|
||||
ou partie du travail dune façon nécessitant une autorisation dun
|
||||
titulaire de Droit dAuteur, autre que celle permettant den produire
|
||||
une copie conforme. Le travail résultant est appelé une « version
|
||||
modifiée » du précédent travail, ou un travail « basé sur » le
|
||||
précédent travail.
|
||||
|
||||
Un « Travail Couvert » signifie soit le Programme non modifié soit un
|
||||
travail basé sur le Programme.
|
||||
|
||||
« Propager » un travail signifie faire quoi que ce soit avec lui qui,
|
||||
sans permission, vous rendrait directement ou indirectement responsable
|
||||
dun délit de contrefaçon suivant les lois relatives au Droit dAuteur,
|
||||
à lexception de son exécution sur un ordinateur ou de la modification
|
||||
dune copie privée. La propagation inclue la copie, la distribution
|
||||
(avec ou sans modification), la mise à disposition envers le public, et
|
||||
aussi d'autres activités dans certains pays.
|
||||
|
||||
« Acheminer » un travail signifie tout moyen de propagation de celui-ci
|
||||
qui permet à dautres parties de réaliser ou recevoir des copies. La
|
||||
simple interaction dun utilisateur à travers un réseau informatique,
|
||||
sans transfert effectif dune copie, ne constitue pas un acheminement.
|
||||
|
||||
Une interface utilisateur interactive affiche des « Notices Légales
|
||||
Appropriées » quand elle comprend un dispositif convenable, bien
|
||||
visible et évident qui (1) affiche une notice appropriée sur les droits
|
||||
dauteur et (2) informe lutilisateur quil ny a pas de garantie pour
|
||||
le travail (sauf si des garanties ont été fournies hors du cadre de
|
||||
cette Licence), que les licenciés peuvent acheminer le travail sous
|
||||
cette Licence, et comment voir une copie de cette Licence. Si
|
||||
linterface présente une liste de commandes utilisateur ou doptions,
|
||||
tel quun menu, un élément évident dans la liste présentée remplit ce
|
||||
critère.
|
||||
|
||||
|
||||
Article 1. Code source.
|
||||
|
||||
Le « code source » dun travail signifie la forme préférée du travail
|
||||
permettant ou facilitant les modifications de celui-ci. Le « code
|
||||
objet » dun travail signifie toute forme du travail qui nen est pas
|
||||
le code source.
|
||||
|
||||
Une « Interface Standard » signifie une interface qui est soit celle
|
||||
dune norme officielle définie par un organisme de normalisation
|
||||
reconnu ou, dans le cas des interfaces spécifiées pour un langage de
|
||||
programmation particulier, une interface largement utilisée parmi les
|
||||
développeurs travaillant dans ce langage.
|
||||
|
||||
Les « Bibliothèques Système » dun travail exécutable incluent tout ce
|
||||
qui, en dehors du travail dans son ensemble, (a) est inclus dans la
|
||||
forme usuelle de paquetage dun Composant Majeur mais ne fait pas
|
||||
partie de ce Composant Majeur et (b) sert seulement à permettre
|
||||
lutilisation du travail avec ce Composant Majeur ou à implémenter une
|
||||
Interface Standard pour laquelle une implémentation est disponible au
|
||||
public sous forme de code source ; un « Composant Majeur » signifie,
|
||||
dans ce contexte, un composant majeur essentiel (noyau, système de
|
||||
fenêtrage, etc.) du système dexploitation (le cas échéant) dun
|
||||
système sur lequel le travail exécutable fonctionne, ou bien un
|
||||
compilateur utilisé pour produire le code objet du travail, ou un
|
||||
interprète de code objet utilisé pour exécuter celui-ci.
|
||||
|
||||
Le « Source Correspondant » dun travail sous forme de code objet
|
||||
signifie lensemble des codes sources nécessaires pour générer,
|
||||
installer et (dans le cas dun travail exécutable) exécuter le code
|
||||
objet et modifier le travail, y compris les scripts pour contrôler ces
|
||||
activités. Cependant, cela ninclue pas les Bibliothèques Système du
|
||||
travail, ni les outils dusage général ou les programmes libres
|
||||
généralement disponibles qui peuvent être utilisés sans modification
|
||||
pour achever ces activités mais ne sont pas partie de ce travail. Par
|
||||
exemple le Source Correspondant inclut les fichiers de définition
|
||||
dinterfaces associés aux fichiers sources du travail, et le code
|
||||
source des bibliothèques partagées et des sous-routines liées
|
||||
dynamiquement, pour lesquelles le travail est spécifiquement conçu pour
|
||||
les requérir via, par exemple, des communications de données ou
|
||||
contrôles de flux internes entre ces sous-programmes et dautres
|
||||
parties du travail.
|
||||
|
||||
Le Source Correspondant na pas besoin dinclure tout ce que les
|
||||
utilisateurs peuvent regénérer automatiquement à partir dautres
|
||||
parties du Source Correspondant.
|
||||
|
||||
Le Source Correspondant pour un travail sous forme de code source est
|
||||
ce même travail.
|
||||
|
||||
|
||||
Article 2. Permissions de base.
|
||||
|
||||
Tous les droits accordés suivant cette Licence le sont jusquau terme
|
||||
des Droits dAuteur (copyright) sur le Programme, et sont
|
||||
irrévocables pourvu que les conditions établies soient remplies. Cette
|
||||
Licence affirme explicitement votre permission illimitée dexécuter le
|
||||
Programme non modifié. La sortie produite par lexécution dun Travail
|
||||
Couvert nest couverte par cette Licence que si cette sortie, étant
|
||||
donné leur contenu, constitue un Travail Couvert. Cette Licence
|
||||
reconnait vos propres droits dusage raisonnable (fair use en
|
||||
législation des États-Unis dAmérique) ou autres équivalents, tels
|
||||
quils sont pourvus par la loi applicable sur le Droit dAuteur
|
||||
(copyright).
|
||||
|
||||
Vous pouvez créer, exécuter et propager sans condition des Travaux
|
||||
Couverts que vous nacheminez pas, aussi longtemps que votre licence
|
||||
demeure en vigueur. Vous pouvez acheminer des Travaux Couverts à
|
||||
dautres personnes dans le seul but de leur faire réaliser des
|
||||
modifications à votre usage exclusif, ou pour quils vous fournissent
|
||||
des facilités vous permettant dexécuter ces travaux, pourvu que vous
|
||||
vous conformiez aux termes de cette Licence lors de lacheminement de
|
||||
tout matériel dont vous ne contrôlez pas le Droit dAuteur
|
||||
(copyright). Ceux qui, dès lors, réalisent ou exécutent pour vous les
|
||||
Travaux Couverts ne doivent alors le faire quexclusivement pour votre
|
||||
propre compte, sous votre direction et votre contrôle, suivant des
|
||||
termes qui leur interdisent de réaliser, en dehors de leurs relations
|
||||
avec vous, toute copie de votre matériel soumis au Droit dAuteur.
|
||||
|
||||
Lacheminement dans toutes les autres circonstances nest permis que
|
||||
selon les conditions établies ci-dessous. La concession de
|
||||
sous-licences nest pas autorisé ; larticle 10 rend cet usage non
|
||||
nécessaire.
|
||||
|
||||
|
||||
Article 3. Protection des droits légaux des utilisateurs envers les
|
||||
lois anti-contournement.
|
||||
|
||||
Aucun Travail Couvert ne doit être vu comme faisant partie dune mesure
|
||||
technologique effective selon toute loi applicable remplissant les
|
||||
obligations prévues à larticle 11 du traité international sur le droit
|
||||
dauteur adopté à lOMPI le 20 décembre 1996, ou toutes lois similaires
|
||||
qui prohibent ou restreignent le contournement de telles mesures.
|
||||
|
||||
Si vous acheminez un Travail Couvert, vous renoncez à tout pouvoir légal
|
||||
dinterdire le contournement des mesures technologiques dans tous les
|
||||
cas où un tel contournement serait effectué en exerçant les droits
|
||||
prévus dans cette Licence pour ce Travail Couvert, et vous déclarez
|
||||
rejeter toute intention de limiter lopération ou la modification du
|
||||
Travail, en tant que moyens de renforcer, à lencontre des utilisateurs
|
||||
de ce Travail, vos droits légaux ou ceux de tierces parties dinterdire
|
||||
le contournement des mesures technologiques.
|
||||
|
||||
|
||||
Article 4. Acheminement des copies conformes.
|
||||
|
||||
Vous pouvez acheminer des copies conformes du code source du Programme
|
||||
tel que vous lavez reçu, sur nimporte quel support, pourvu que vous
|
||||
publiiez scrupuleusement et de façon appropriée sur chaque copie une
|
||||
notice de Droit dAuteur appropriée ; gardez intactes toutes les
|
||||
notices établissant que cette Licence et tous les termes additionnels non
|
||||
permissifs ajoutés en accord avec larticle 7 sappliquent à ce code ;
|
||||
et donnez à chacun des Destinataires une copie de cette Licence en même
|
||||
temps que le Programme.
|
||||
|
||||
Vous pouvez facturer à un prix quelconque, y compris gratuit, chacune
|
||||
des copies que vous acheminez, et vous pouvez offrir une protection
|
||||
additionnelle de support ou de garantie en échange dun paiement.
|
||||
|
||||
|
||||
Article 5. Acheminement des versions sources modifiées.
|
||||
|
||||
Vous pouvez acheminer un travail basé sur le Programme, ou bien les
|
||||
modifications pour le produire à partir du Programme, sous la forme de
|
||||
code source suivant les termes de larticle 4, pourvu que vous
|
||||
satisfassiez aussi à chacune des conditions requises suivantes :
|
||||
|
||||
a) Le travail doit comporter des notices évidentes établissant que
|
||||
vous lavez modifié et donnant la date correspondante.
|
||||
|
||||
b) Le travail doit comporter des notices évidentes établissant quil
|
||||
est édité selon cette Licence et les conditions ajoutées daprès
|
||||
larticle 7. Cette obligation vient modifier lobligation de
|
||||
larticle 4 de « garder intactes toutes les notices. »
|
||||
|
||||
c) Vous devez licencier le travail entier, comme un tout, suivant
|
||||
cette Licence à quiconque entre en possession dune copie. Cette
|
||||
Licence sappliquera en conséquence, avec les termes additionnels
|
||||
applicables prévus par larticle 7, à la totalité du travail et
|
||||
chacune de ses parties, indépendamment de la façon dont ils sont
|
||||
empaquetés. Cette licence ne donne aucune permission de licencier
|
||||
le travail dune autre façon, mais elle ninvalide pas une telle
|
||||
permission si vous lavez reçue séparément.
|
||||
|
||||
d) Si le travail a des interfaces utilisateurs interactives, chacune
|
||||
doit afficher les Notices Légales Appropriées ; cependant si le
|
||||
Programme a des interfaces qui naffichent pas les Notices Légales
|
||||
Appropriées, votre travail na pas à les modifier pour quelles
|
||||
les affichent.
|
||||
|
||||
Une compilation dun Travail Couvert avec dautres travaux séparés et
|
||||
indépendants, qui ne sont pas par leur nature des extensions du Travail
|
||||
Couvert, et qui ne sont pas combinés avec lui de façon à former un
|
||||
programme plus large, dans ou sur un volume de stockage ou un support
|
||||
de distribution, est appelé un « aggrégat » si la compilation et son
|
||||
Droit dAuteur résultant ne sont pas utilisés pour limiter laccès ou
|
||||
les droits légaux des utilisateurs de la compilation en deça de ce que
|
||||
permettent les travaux individuels. Linclusion dun Travail Couvert
|
||||
dans un aggrégat ne cause pas lapplication de cette Licence aux
|
||||
autres parties de laggrégat.
|
||||
|
||||
|
||||
Article 6. Acheminement des formes non sources.
|
||||
|
||||
Vous pouvez acheminer sous forme de code objet un Travail Couvert
|
||||
suivant les termes des articles 4 et 5, pourvu que vous acheminiez
|
||||
également suivant les termes de cette Licence le Source Correspondant
|
||||
lisible par une machine, dune des façons suivantes :
|
||||
|
||||
a) Acheminer le code objet sur, ou inclus dans, un produit physique
|
||||
(y compris un support de distribution physique), accompagné par le
|
||||
Source Correspondant fixé sur un support physique durable
|
||||
habituellement utilisé pour les échanges de logiciels.
|
||||
|
||||
b) Acheminer le code objet sur, ou inclus dans, un produit physique
|
||||
(y compris un support de distribution physique), accompagné dune
|
||||
offre écrite, valide pour au moins trois années et valide pour
|
||||
aussi longtemps que vous fournissez des pièces de rechange ou un
|
||||
support client pour ce modèle de produit, afin de donner à
|
||||
quiconque possède le code objet soit (1) une copie du Source
|
||||
Correspondant à tout logiciel dans ce produit qui est couvert par
|
||||
cette Licence, sur un support physique durable habituellement
|
||||
utilisé pour les échanges de logiciels, pour un prix non supérieur
|
||||
au coût raisonnable de la réalisation physique de lacheminement
|
||||
de la source, ou soit (2) un accès permettant de copier le Source
|
||||
Correspondant depuis un serveur réseau sans frais.
|
||||
|
||||
c) Acheminer des copies individuelles du code objet avec une copie de
|
||||
loffre écrite de fournir le Source Correspondant. Cette
|
||||
alternative est permise seulement occasionellement et non
|
||||
commercialement, et seulement si vous avez reçu le code objet avec
|
||||
une telle offre, en accord avec larticle 6 alinéa b.
|
||||
|
||||
d) Acheminer le code objet en offrant un accès depuis un emplacement
|
||||
désigné (gratuit ou contre facturation) et offrir un accès
|
||||
équivalent au Source Correspondant de la même façon via le même
|
||||
emplacement et sans facturation supplémentaire. Vous navez pas
|
||||
besoin dobliger les Destinataires à copier le Source
|
||||
Correspondant en même temps que le code objet. Si lemplacement
|
||||
pour copier le code objet est un serveur réseau, le Source
|
||||
Correspondant peut être sur un serveur différent (opéré par vous
|
||||
ou par un tiers) qui supporte des facilités équivalentes de
|
||||
copie, pourvu que vous mainteniez des directions claires à
|
||||
proximité du code objet indiquant où trouver le Source
|
||||
Correspondant. Indépendamment de quel serveur héberge le Source
|
||||
Correspondant, vous restez obligé de vous assurer quil reste
|
||||
disponible aussi longtemps que nécessaire pour satisfaire à ces
|
||||
obligations.
|
||||
|
||||
e) Acheminer le code objet en utilisant une transmission
|
||||
dégal-à-égal, pourvu que vous informiez les autres participants
|
||||
sur où le code objet et le Source Correspondant du travail sont
|
||||
offerts sans frais au public général suivant larticle 6 alinéa d.
|
||||
Une portion séparable du code objet, dont le code source est exclu
|
||||
du Source Correspondant en tant que Bibliothèque Système, na pas
|
||||
besoin dêtre inclu dans lacheminement du travail sous forme de
|
||||
code objet.
|
||||
|
||||
Un « Produit Utilisateur » est soit (1) un « Produit de Consommation, »
|
||||
ce qui signifie toute propriété personnelle tangible normalement
|
||||
utilisée à des fins personnelles, familiales ou relatives au foyer,
|
||||
soit (2) toute chose conçue ou vendue pour lincorporation dans un lieu
|
||||
dhabitation. Pour déterminer si un produit constitue un Produit de
|
||||
Consommation, les cas ambigus sont résolus en fonction de la
|
||||
couverture. Pour un produit particulier reçu par un utilisateur
|
||||
particulier, lexpression « normalement utilisée » ci-avant se réfère
|
||||
à une utilisation typique ou lusage commun de produits de même
|
||||
catégorie, indépendamment du statut de cet utilisateur particulier ou
|
||||
de la façon spécifique dont cet utilisateur particulier utilise
|
||||
effectivement ou sattend lui-même ou est attendu à utiliser ce
|
||||
produit. Un produit est un Produit de Consommation indépendamment du
|
||||
fait que ce produit a ou na pas dutilisations substantielles
|
||||
commerciales, industrielles ou hors Consommation, à moins que de telles
|
||||
utilisations représentent le seul mode significatif dutilisation du
|
||||
produit.
|
||||
|
||||
Les « Informations dInstallation » dun Produit Utilisateur signifient
|
||||
toutes les méthodes, procédures, clés dautorisation ou autres
|
||||
informations requises pour installer et exécuter des versions modifiées
|
||||
dun Travail Couvert dans ce Produit Utilisateur à partir dune version
|
||||
modifiée de son Source Correspondant. Les informations qui suffisent à
|
||||
assurer la continuité de fonctionnement du code objet modifié ne
|
||||
doivent en aucun cas être empêchées ou interférées du seul fait quune
|
||||
modification a été effectuée.
|
||||
|
||||
Si vous acheminez le code objet dun Travail Couvert dans, ou avec, ou
|
||||
spécifiquement pour lutilisation dans, un Produit Utilisateur et
|
||||
lacheminement se produit en tant quélément dune transaction dans
|
||||
laquelle le droit de possession et dutilisation du Produit
|
||||
Utilisateur est transféré au Destinataire définitivement ou pour un
|
||||
terme fixé (indépendamment de la façon dont la transaction est
|
||||
caractérisée), le Source Correspondant acheminé selon cet article-ci
|
||||
doit être accompagné des Informations dInstallation. Mais cette
|
||||
obligation ne sapplique pas si ni vous ni aucune tierce partie ne
|
||||
détient la possibilité dintaller un code objet modifié sur le Produit
|
||||
Utilisateur (par exemple, le travail a été installé en mémoire morte).
|
||||
|
||||
Lobligation de fournir les Informations dInstallation ninclue pas
|
||||
celle de continuer à fournir un service de support, une garantie ou des
|
||||
mises à jour pour un travail qui a été modifié ou installé par le
|
||||
Destinataire, ou pour le Produit Utilisateur dans lequel il a été
|
||||
modifié ou installé. Laccès à un réseau peut être rejeté quand la
|
||||
modification elle-même affecte matériellement et défavorablement les
|
||||
opérations du réseau ou viole les règles et protocoles de communication
|
||||
au travers du réseau.
|
||||
|
||||
Le Source Correspondant acheminé et les Informations dInstallation
|
||||
fournies, en accord avec cet article, doivent être dans un format
|
||||
publiquement documenté (et dont une implémentation est disponible
|
||||
auprès du public sous forme de code source) et ne doit nécessiter
|
||||
aucune clé ou mot de passe spécial pour le dépaquetage, la lecture ou
|
||||
la copie.
|
||||
|
||||
|
||||
Article 7. Termes additionnels.
|
||||
|
||||
Les « permissions additionelles » désignent les termes qui
|
||||
supplémentent ceux de cette Licence en émettant des exceptions à lune
|
||||
ou plusieurs de ses conditions. Les permissions additionnelles qui
|
||||
sont applicables au Programme entier doivent être traitées comme si
|
||||
elles étaient incluent dans cette Licence, dans les limites de leur
|
||||
validité suivant la loi applicable. Si des permissions additionnelles
|
||||
sappliquent seulement à une partie du Programme, cette partie peut
|
||||
être utilisée séparément suivant ces permissions, mais le Programme
|
||||
tout entier reste gouverné par cette Licence sans regard aux
|
||||
permissions additionelles.
|
||||
|
||||
Quand vous acheminez une copie dun Travail Couvert, vous pouvez à
|
||||
votre convenance ôter toute permission additionelle de cette copie, ou
|
||||
de nimporte quelle partie de celui-ci. (Des permissions
|
||||
additionnelles peuvent être rédigées de façon à requérir leur propre
|
||||
suppression dans certains cas où vous modifiez le travail.) Vous
|
||||
pouvez placer les permissions additionnelles sur le matériel acheminé,
|
||||
ajoutées par vous à un Travail Couvert pour lequel vous avez ou pouvez
|
||||
donner les permissions de Droit dAuteur (copyright) appropriées.
|
||||
|
||||
Nonobstant toute autre clause de cette Licence, pour tout constituant
|
||||
que vous ajoutez à un Travail Couvert, vous pouvez (si autorisé par les
|
||||
titulaires de Droit dAuteur pour ce constituant) supplémenter les
|
||||
termes de cette Licence avec des termes :
|
||||
|
||||
a) qui rejettent la garantie ou limitent la responsabilité de façon
|
||||
différente des termes des articles 15 et 16 de cette Licence ; ou
|
||||
|
||||
b) qui requièrent la préservation de notices légales raisonnables
|
||||
spécifiées ou les attributions dauteur dans ce constituant ou
|
||||
dans les Notices Légales Appropriées affichées par les travaux qui
|
||||
le contiennent ; ou
|
||||
|
||||
c) qui prohibent la représentation incorrecte de lorigine de ce
|
||||
constituant, ou qui requièrent que les versions modifiées dun tel
|
||||
constituant soit marquées par des moyens raisonnables comme
|
||||
différentes de la version originale ; ou
|
||||
|
||||
d) qui limitent lusage à but publicitaire des noms des concédants de
|
||||
licence et des auteurs du constituant ; ou
|
||||
|
||||
e) qui refusent à accorder des droits selon la législation relative
|
||||
aux marques commerciales, pour lutilisation dans des noms
|
||||
commerciaux, marques commerciales ou marques de services ; ou
|
||||
|
||||
f) qui requièrent lindemnisation des concédants de licences et
|
||||
auteurs du constituant par quiconque achemine ce constituant (ou
|
||||
des versions modifiées de celui-ci) en assumant contractuellement
|
||||
la responsabilité envers le Destinataire, pour toute
|
||||
responsabilité que ces engagements contractuels imposent
|
||||
directement à ces octroyants de licences et auteurs.
|
||||
|
||||
Tous les autres termes additionnels non permissifs sont considérés
|
||||
comme des « restrictions avancées » dans le sens de larticle 10. Si le
|
||||
Programme tel que vous lavez reçu, ou toute partie de celui-ci,
|
||||
contient une notice établissant quil est gouverné par cette Licence en
|
||||
même temps quun terme qui est une restriction avancée, vous pouvez
|
||||
ôter ce terme. Si un document de licence contient une restriction
|
||||
avancée mais permet la reconcession de licence ou lacheminement
|
||||
suivant cette Licence, vous pouvez ajouter un Travail Couvert
|
||||
constituant gouverné par les termes de ce document de licence, pourvu
|
||||
que la restriction avancée ne survit pas à un telle cession de licence
|
||||
ou acheminement.
|
||||
|
||||
Si vous ajoutez des termes à un Travail Couvert en accord avec cet
|
||||
article, vous devez placer, dans les fichiers sources appropriés, une
|
||||
déclaration des termes additionnels qui sappliquent à ces fichiers, ou
|
||||
une notice indiquant où trouver les termes applicables.
|
||||
|
||||
Les termes additionnels, quils soient permissifs ou non permissifs,
|
||||
peuvent être établis sous la forme dune licence écrite séparément, ou
|
||||
établis comme des exceptions ; les obligations ci-dessus sappliquent
|
||||
dans chacun de ces cas.
|
||||
|
||||
|
||||
Article 8. Terminaison.
|
||||
|
||||
Vous ne pouvez ni propager ni modifier un Travail Couvert autrement que
|
||||
suivant les termes de cette Licence. Toute autre tentative de le
|
||||
propager ou le modifier est nulle et terminera automatiquement vos
|
||||
droits selon cette Licence (y compris toute licence de brevet accordée
|
||||
selon le troisième paragraphe de larticle 11).
|
||||
|
||||
Cependant, si vous cessez toute violation de cette Licence, alors votre
|
||||
licence depuis un titulaire de Droit dAuteur (copyright) est
|
||||
réinstaurée (a) à titre provisoire à moins que et jusquà ce que le
|
||||
titulaire de Droit dAuteur termine finalement et explicitement votre
|
||||
licence, et (b) de façon permanente si le titulaire de Droit dAuteur
|
||||
ne parvient pas à vous notifier de la violation par quelque moyen
|
||||
raisonnable dans les soixante (60) jours après la cessation.
|
||||
|
||||
De plus, votre licence depuis un titulaire particulier de Droit
|
||||
dAuteur est réinstaurée de façon permanente si ce titulaire vous
|
||||
notifie de la violation par quelque moyen raisonnable, cest la
|
||||
première fois que vous avez reçu une notification deviolation de cette
|
||||
Licence (pour un travail quelconque) depuis ce titulaire de Droit
|
||||
dAuteur, et vous résolvez la violation dans les trente (30) jours qui
|
||||
suivent votre réception de la notification.
|
||||
|
||||
La terminaison de vos droits suivant cette section ne terminera pas les
|
||||
licences des parties qui ont reçu des copies ou droits de votre part
|
||||
suivant cette Licence. Si vos droits ont été terminés et non
|
||||
réinstaurés de façon permanente, vous nêtes plus qualifié à recevoir
|
||||
de nouvelles licences pour les mêmes constituants selon larticle 10.
|
||||
|
||||
|
||||
Article 9. Acceptation non requise pour obtenir des copies.
|
||||
|
||||
Vous nêtes pas obligé daccepter cette licence afin de recevoir ou
|
||||
exécuter une copie du Programme. La propagation asservie dun Travail
|
||||
Couvert qui se produit simplement en conséquence dune transmission
|
||||
dégal-à-égal pour recevoir une copie ne nécessite pas lacceptation.
|
||||
Cependant, rien dautre que cette Licence ne vous accorde la
|
||||
permission de propager ou modifier un quelconque Travail Couvert. Ces
|
||||
actions enfreignent le Droit dAuteur si vous nacceptez pas cette
|
||||
Licence. Par conséquent, en modifiant ou propageant un Travail Couvert,
|
||||
vous indiquez votre acceptation de cette Licence pour agir ainsi.
|
||||
|
||||
|
||||
Article 10. Cession automatique de Licence aux Destinataires et
|
||||
intermédiaires.
|
||||
|
||||
Chaque fois que vous acheminez un Travail Couvert, le Destinataire
|
||||
reçoit automatiquement une licence depuis les concédants originaux,
|
||||
pour exécuter, modifier et propager ce travail, suivant les termes de
|
||||
cette Licence. Vous nêtes pas responsable du renforcement de la
|
||||
conformation des tierces parties avec cette Licence.
|
||||
|
||||
Une « transaction dentité » désigne une transaction qui transfère le
|
||||
contrôle dune organisation, ou de substantiellement tous ses actifs,
|
||||
ou la subdivision dune organisation, ou la fusion de plusieurs
|
||||
organisations. Si la propagation dun Travail Couvert résulte dune
|
||||
transaction dentité, chaque partie à cette transaction qui reçoit une
|
||||
copie du travail reçoit aussi les licences pour le travail que le
|
||||
prédécesseur intéressé à cette partie avait ou pourrait donner selon le
|
||||
paragraphe précédent, plus un droit de possession du Source
|
||||
Correspondant de ce travail depuis le prédécesseur intéressé si ce
|
||||
prédécesseur en dispose ou peut lobtenir par des efforts raisonnables.
|
||||
|
||||
Vous ne pouvez imposer aucune restriction avancée dans lexercice des
|
||||
droits accordés ou affirmés selon cette Licence. Par exemple, vous ne
|
||||
pouvez imposer aucun paiement pour la licence, aucune royaltie, ni
|
||||
aucune autre charge pour lexercice des droits accordés selon cette
|
||||
Licence ; et vous ne pouvez amorcer aucun litige judiciaire (y compris
|
||||
une réclamation croisée ou contre-réclamation dans un procès) sur
|
||||
lallégation quune revendication de brevet est enfreinte par la
|
||||
réalisation, lutilisation, la vente, loffre de vente, ou
|
||||
limportation du Programme ou dune quelconque portion de celui-ci.
|
||||
|
||||
|
||||
Article 11. Brevets.
|
||||
|
||||
Un « contributeur » est un titulaire de Droit dAuteur (copyright)
|
||||
qui autorise lutilisation selon cette Licence du Programme ou du
|
||||
travail sur lequel le Programme est basé. Le travail ainsi soumis à
|
||||
licence est appelé la « version contributive » de ce contributeur.
|
||||
|
||||
Les « revendications de brevet essentielles » sont toutes les
|
||||
revendications de brevets détenues ou contrôlées par le contributeur,
|
||||
quelles soient déjà acquises par lui ou acquises subséquemment, qui
|
||||
pourraient être enfreintes de quelque manière, permises par cette
|
||||
Licence, sur la réalisation, lutilisation ou la vente de la version
|
||||
contributive de celui-ci. Aux fins de cette définition, le « contrôle »
|
||||
inclue le droit de concéder des sous-licences de brevets dune manière
|
||||
consistante, nécessaire et suffisante, avec les obligations de cette
|
||||
Licence.
|
||||
|
||||
Chaque contributeur vous accorde une licence de brevet non exclusive,
|
||||
mondiale et libre de toute royaltie, selon les revendications de brevet
|
||||
essentielles, pour réaliser, utiliser, vendre, offrir à la vente,
|
||||
importer et autrement exécuter, modifier et propager les contenus de sa
|
||||
version contributive.
|
||||
|
||||
Dans les trois paragraphes suivants, une « licence de brevet » désigne
|
||||
tous les accords ou engagements exprimés, quel que soit le nom que vous
|
||||
lui donnez, de ne pas mettre en vigueur un brevet (telle quune
|
||||
permission explicite pour mettre en pratique un brevet, ou un accord
|
||||
pour ne pas poursuivre un Destinataire pour cause de violation de
|
||||
brevet). « Accorder » une telle licence de brevet à une partie signifie
|
||||
conclure un tel accord ou engagement à ne pas faire appliquer le brevet
|
||||
à cette partie.
|
||||
|
||||
Si vous acheminez un Travail Couvert, dépendant en connaissance dune
|
||||
licence de brevet, et si le Source Correspondant du travail nest pas
|
||||
disponible à quiconque copie, sans frais et suivant les termes de cette
|
||||
Licence, à travers un serveur réseau publiquement acessible ou tout
|
||||
autre moyen immédiatement accessible, alors vous devez soit (1) rendre
|
||||
la Source Correspondante ainsi disponible, soit (2) vous engager à vous
|
||||
priver pour vous-même du bénéfice de la licence de brevet pour ce
|
||||
travail particulier, soit (3) vous engager, dune façon consistante
|
||||
avec les obligations de cette Licence, à étendre la licence de brevet
|
||||
aux Destinataires de ce travail. « Dépendant en connaissance » signifie
|
||||
que vous avez effectivement connaissance que, selon la licence de
|
||||
brevet, votre acheminement du Travail Couvert dans un pays, ou
|
||||
lutilisation du Travail Couvert par votre Destinataire dans un pays,
|
||||
infreindrait un ou plusieurs brevets identifiables dans ce pays où vous
|
||||
avez des raisons de penser quils sont valides.
|
||||
|
||||
Si, conformément à ou en liaison avec une même transaction ou un même
|
||||
arrangement, vous acheminez, ou propagez en procurant un acheminement
|
||||
de, un Travail Couvert et accordez une licence de brevet à lune des
|
||||
parties recevant le Travail Couvert pour lui permettre dutiliser,
|
||||
propager, modifier ou acheminer une copie spécifique du Travail
|
||||
Couvert, alors votre accord est automatiquement étendu à tous les
|
||||
Destinataires du Travail Couvert et des travaux basés sur celui-ci.
|
||||
|
||||
Une licence de brevet est « discriminatoire » si, dans le champ de sa
|
||||
couverture, elle ninclut pas un ou plusieurs des droits qui sont
|
||||
spécifiquement accordés selon cette Licence, ou en prohibe lexercice,
|
||||
ou est conditionnée par le non-exercice dun ou plusieurs de ces
|
||||
droits. Vous ne pouvez pas acheminer un Travail Couvert si vous êtes
|
||||
partie à un arrangement selon lequel une partie tierce exerçant son
|
||||
activité dans la distribution de logiciels et à laquelle vous effectuez
|
||||
un paiement fondé sur létendue de votre activité dacheminement du
|
||||
travail, et selon lequel la partie tierce accorde, à une quelconque
|
||||
partie qui recevrait depuis vous le Travail Couvert, une licence de
|
||||
brevet discriminatoire (a) en relation avec les copies du Travail
|
||||
Couvert acheminées par vous (ou les copies réalisées à partir de ces
|
||||
copies), ou (b) avant tout destinée et en relation avec des produits
|
||||
spécifiques ou compilations contenant le Travail Couvert, à moins que
|
||||
vous ayez conclu cet arrangement ou que la licence de brevet ait été
|
||||
accordée avant le 28 mars 2007.
|
||||
|
||||
Rien dans cette Licence ne devrait être interprété comme devant exclure
|
||||
ou limiter toute licence implicite ou dautres moyens de défense à une
|
||||
infraction qui vous seraient autrement disponible selon la loi
|
||||
applicable relative aux brevets.
|
||||
|
||||
|
||||
Article 12. Non abandon de la liberté des autres.
|
||||
|
||||
Si des conditions vous sont imposées (que ce soit par décision
|
||||
judiciaire, par un accord ou autrement) qui contredisent les conditions
|
||||
de cette Licence, elles ne vous excusent pas des conditions de cette
|
||||
Licence. Si vous ne pouvez pas acheminer un Travail Couvert de façon à
|
||||
satisfaire simulténément vos obligations suivant cette Licence et
|
||||
toutes autres obligations pertinentes, alors en conséquence vous ne
|
||||
pouvez pas du tout lacheminer. Par exemple, si vous avez un accord sur
|
||||
des termes qui vous obligent à collecter pour le réacheminement des
|
||||
royalties depuis ceux à qui vous acheminez le Programme, la seule façon
|
||||
qui puisse vous permettre de satisfaire à la fois à ces termes et ceux
|
||||
de cette Licence sera de vous abstenir entièrement dacheminer le
|
||||
Programme.
|
||||
|
||||
|
||||
Article 13. Utilisation avec la Licence Générale Publique Affero GNU.
|
||||
|
||||
Nonobstant toute autre clause de cette Licence, vous avez la permission
|
||||
de lier ou combiner tout Travail Couvert avec un travail placé sous la
|
||||
version 3 de la Licence Générale Publique GNU Affero (GNU Affero
|
||||
General Public License) en un seul travail combiné, et dacheminer le
|
||||
travail résultant. Les termes de cette Licence continueront à
|
||||
sappliquer à la partie formant un Travail Couvert, mais les
|
||||
obligations spéciales de la Licence Générale Publique GNU Affero,
|
||||
article 13, concernant linteraction à travers un réseau sappliqueront
|
||||
à la combinaison en tant que telle.
|
||||
|
||||
|
||||
Article 14. Versions révisées de cette License.
|
||||
|
||||
La Free Software Foundation peut publier des versions révisées et/ou
|
||||
nouvelles de la Licence Publique Générale GNU (GNU General Public
|
||||
License) de temps en temps. De telles version nouvelles resteront
|
||||
similaires dans lesprit avec la présente version, mais peuvent
|
||||
différer dans le détail afin de traiter de nouveaux problèmes ou
|
||||
préoccupations.
|
||||
|
||||
Chaque version reçoit un numéro de version distinctif. Si le Programme
|
||||
indique quune version spécifique de la Licence Publique Générale GNU
|
||||
« ou toute version ultérieure » (or any later version) sapplique à
|
||||
celui-ci, vous avez le choix de suivre soit les termes et conditions de
|
||||
cette version numérotée, soit ceux de nimporte quelle version publiée
|
||||
ultérieurement par la Free Software Foundation. Si le Programme
|
||||
nindique pas une version spécifique de la Licence Publique Générale
|
||||
GNU, vous pouvez choisir lune quelconque des versions qui ont été
|
||||
publiées par la Free Software Foundation.
|
||||
|
||||
Si le Programme spécifie quun intermédiaire peut décider quelles
|
||||
versions futures de la Licence Générale Publique GNU peut être
|
||||
utilisée, la déclaration publique dacceptation dune version par cet
|
||||
intermédiaire vous autorise à choisir cette version pour le Programme.
|
||||
|
||||
Des versions ultérieures de la licence peuvent vous donner des
|
||||
permissions additionelles ou différentes. Cependant aucune obligation
|
||||
additionelle nest imposée à lun des auteurs ou titulaires de Droit
|
||||
dAuteur du fait de votre choix de suivre une version ultérieure.
|
||||
|
||||
|
||||
Article 15. Déclaration dabsence de garantie.
|
||||
|
||||
IL NY A AUCUNE GARANTIE POUR LE PROGRAMME, DANS LES LIMITES PERMISES
|
||||
PAR LA LOI APPLICABLE. À MOINS QUE CELA NE SOIT ÉTABLI DIFFÉREMMENT PAR
|
||||
ÉCRIT, LES PROPRIÉTAIRES DE DROITS ET/OU LES AUTRES PARTIES FOURNISSENT
|
||||
LE PROGRAMME « EN LÉTAT » SANS GARANTIE DAUCUNE SORTE, QUELLE SOIT
|
||||
EXPRIMÉE OU IMPLICITE, CECI COMPRENANT, SANS SE LIMITER À CELLES-CI,
|
||||
LES GARANTIES IMPLICITES DE COMMERCIALISABILITÉ ET DADÉQUATION À UN
|
||||
OBJECTIF PARTICULIER. VOUS ASSUMEZ LE RISQUE ENTIER CONCERNANT LA
|
||||
QUALITÉ ET LES PERFORMANCES DU PROGRAMME. DANS LÉVENTUALITÉ OÙ LE
|
||||
PROGRAMME SAVÉRERAIT DÉFECTUEUX, VOUS ASSUMEZ LES COÛTS DE TOUS LES
|
||||
SERVICES, RÉPARATIONS OU CORRECTIONS NÉCESSAIRES.
|
||||
|
||||
|
||||
Article 16. Limitation de responsabilité.
|
||||
|
||||
EN AUCUNE AUTRE CIRCONSTANCE QUE CELLES REQUISES PAR LA LOI APPLICABLE
|
||||
OU ACCORDÉES PAR ÉCRIT, UN TITULAIRE DE DROITS SUR LE PROGRAMME, OU
|
||||
TOUT AUTRE PARTIE QUI MODIFIE OU ACHEMINE LE PROGRAMME COMME PERMIS
|
||||
CI-DESSUS, NE PEUT ÊTRE TENU POUR RESPONSABLE ENVERS VOUS POUR LES
|
||||
DOMMAGES, INCLUANT TOUT DOMMAGE GÉNÉRAL, SPÉCIAL, ACCIDENTEL OU INDUIT
|
||||
SURVENANT PAR SUITE DE LUTILISATION OU DE LINCAPACITÉ DUTILISER LE
|
||||
PROGRAMME (Y COMPRIS, SANS SE LIMITER À CELLES-CI, LA PERTE DE DONNÉES
|
||||
OU LINEXACTITUDE DES DONNÉES RETOURNÉES OU LES PERTES SUBIES PAR VOUS
|
||||
OU DES PARTIES TIERCES OU LINCAPACITÉ DU PROGRAMME À FONCTIONNER AVEC
|
||||
TOUT AUTRE PROGRAMME), MÊME SI UN TEL TITULAIRE OU TOUTE AUTRE PARTIE
|
||||
A ÉTÉ AVISÉ DE LA POSSIBILITÉ DE TELS DOMMAGES.
|
||||
|
||||
|
||||
Article 17. Interprétation des sections 15 et 16.
|
||||
|
||||
Si la déclaration dabsence de garantie et la limitation de
|
||||
responsabilité fournies ci-dessus ne peuvent prendre effet localement
|
||||
selon leurs termes, les cours de justice qui les examinent doivent
|
||||
appliquer la législation locale qui approche au plus près possible une
|
||||
levée absolue de toute responsabilité civile liée au Programme, à moins
|
||||
quune garantie ou assumation de responsabilité accompagne une copie du
|
||||
Programme en échange dun paiement.
|
||||
|
||||
|
||||
FIN DES TERMES ET CONDITIONS.
|
||||
|
||||
_______________________________________________________________________
|
||||
|
||||
|
||||
Comment appliquer ces termes à vos nouveaux programmes
|
||||
|
||||
Si vous développez un nouveau programme et voulez quil soit le plus
|
||||
possible utilisable par le public, la meilleure façon dy parvenir et
|
||||
den faire un logiciel libre que chacun peut redistribuer et changer
|
||||
suivant ces termes-ci.
|
||||
|
||||
Pour appliquer ces termes, attachez les notices suivantes au programme.
|
||||
Il est plus sûr de les attacher au début de chacun des fichiers sources
|
||||
afin de transporter de façon la plus effective possible lexclusion de
|
||||
garantie ; et chaque fichier devrait comporter au moins la ligne de
|
||||
réservation de droit (copyright) et une indication permettant de savoir
|
||||
où la notice complète peut être trouvée :
|
||||
|
||||
<une ligne donnant le nom du programme et une brève idée de ce quil fait.>
|
||||
Copyright (C) <année> <nom de lauteur> Tous droits réservés.
|
||||
|
||||
Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le
|
||||
modifier suivant les termes de la GNU General Public License telle que
|
||||
publiée par la Free Software Foundation : soit la version 3 de cette
|
||||
licence, soit (à votre gré) toute version ultérieure.
|
||||
|
||||
Ce programme est distribué dans lespoir quil vous sera utile, mais SANS
|
||||
AUCUNE GARANTIE : sans même la garantie implicite de COMMERCIALISABILITÉ
|
||||
ni dADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence Générale
|
||||
Publique GNU pour plus de détails.
|
||||
|
||||
Vous devriez avoir reçu une copie de la Licence Générale Publique GNU avec
|
||||
ce programme ; si ce nest pas le cas, consultez :
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
Ajoutez également les informations permettant de vous contacter par
|
||||
courrier électronique ou postal.
|
||||
|
||||
Si le programme produit une interaction sur un terminal, faites lui
|
||||
afficher une courte notice comme celle-ci lors de son démarrage en mode
|
||||
interactif :
|
||||
|
||||
<programme> Copyright (C) <année> <nom de lauteur>
|
||||
Ce programme vient SANS ABSOLUMENT AUCUNE GARANTIE ; taper affiche g pour
|
||||
les détails. Ceci est un logiciel libre et vous êtes invité à le redistribuer
|
||||
suivant certaines conditions ; taper affiche c pour les détails.
|
||||
|
||||
Les commandes hypothétiques affiche g and affiche c devrait
|
||||
afficher les parties appropriées de la Licence Générale Publique. Bien
|
||||
sûr, les commandes de votre programme peuvent être différentes ; pour
|
||||
une interface graphique, vous pourriez utiliser une « boîte À propos. »
|
||||
|
||||
Vous devriez également obtenir de votre employeur (si vous travaillez
|
||||
en tant que programmeur) ou de votre école un « renoncement aux droits
|
||||
de propriété » pour ce programme, si nécessaire. Pour plus
|
||||
dinformations à ce sujet, et comment appliquer la GPL GNU, consultez
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
La Licence Générale Publique GNU ne permet pas dincorporer votre
|
||||
programme dans des programmes propriétaires. Si votre programme est une
|
||||
bibliothèque de sous-routines, vous pourriez considérer quil serait
|
||||
plus utile de permettre de lier des applications propriétaires avec la
|
||||
bibliothèque. Si cest ce que vous voulez faire, utilisez la Licence
|
||||
Générale Publique Limitée GNU au lieu de cette Licence ; mais dabord,
|
||||
veuillez lire <http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
||||
_______________________________________________________________________
|
||||
@@ -1,108 +0,0 @@
|
||||
Informations on this project:
|
||||
|
||||
This project has been developed by:
|
||||
Xavier Roche (xroche at httrack.com)
|
||||
project leader
|
||||
core engine, Windows/Linux GUI
|
||||
Yann Philippot (yphilippot at lemel.fr)
|
||||
for the java binary .class parser
|
||||
|
||||
With the help of:
|
||||
Leto Kauler (molotov at tasmail.com)
|
||||
for the site/logos design
|
||||
http://kauler.com/
|
||||
Christian Marillat (marillat.christian at wanadoo.fr)
|
||||
for autoconf compliance and .deb package
|
||||
Fred Cohen (fc at all.net)
|
||||
for HTTrack user's guide
|
||||
http://all.net/
|
||||
|
||||
And the help of the following third party developers:
|
||||
Nicolas Benoit (nbenoit at tuxfamily.org), SDP Multimedia and Major MMS
|
||||
for the mms plugin core routines (MMSRIP)
|
||||
http://nbenoit.tuxfamily.org/
|
||||
Jean-loup Gailly from gzip.org
|
||||
for the help provided with Zlib
|
||||
http://www.zlib.net/
|
||||
Eric A. Young (eay at cryptsoft.com)
|
||||
for SSL cryptographic material (OpenSSL)
|
||||
http://www.openssl.org/
|
||||
Jordan Russell
|
||||
for the Windows setup tool (Inno Setup)
|
||||
http://www.jrsoftware.org/isinfo.php
|
||||
|
||||
Translations written by:
|
||||
David Lawrie (dalawrie at lineone.net)
|
||||
Robert Lagadec (rlagadec at yahoo.fr)
|
||||
for checking both English & French translations
|
||||
Juan Pablo Barrio Lera (University of León)
|
||||
for Spanish translations
|
||||
Rainer Klueting (rk-htt at centermail.net)
|
||||
Bastian Gorke (bastiang at yahoo.com)
|
||||
Rudi Ferrari (Wyando at netcologne.de)
|
||||
Marcus Gaza (MarcusGaza at t-online.de)
|
||||
for German translations
|
||||
Rudi Ferrari (Wyando at netcologne.de)
|
||||
for Dutch translations
|
||||
Lukasz Jokiel (Opole University of Technology, Lukasz.Jokiel at po.opole.pl)
|
||||
for Polish translations
|
||||
Rui Fernandes (CANTIC, ruiefe at mail.malhatlantica.pt)
|
||||
Pedro T. Pinheiro (Universidade Nova de Lisboa-FCT, ptiago at mail.iupi.pt)
|
||||
for Portuguese translations
|
||||
Andrei Iliev (iliev at vitaplus.ru)
|
||||
for Russian translations
|
||||
Witold Krakowski (wtkrak at netscape.net )
|
||||
for Italian translations
|
||||
Jozsef Tamas Herczeg (hdodi at freemail.hu)
|
||||
for Hungarian translation
|
||||
Paulo Neto (pauloneto at layoutdobrasil.com)
|
||||
for Brazilian translation
|
||||
Brook Qin (brookqwr at sina.com)
|
||||
for simplified Chinese translation
|
||||
David Hing Cheong Hung (DAVEHUNG at mtr.com.hk)
|
||||
Addy Lin (addy1975 at pchome.com.tw)
|
||||
for traditional Chinese translation
|
||||
Jesper Bramm (bramm at get2net.dk)
|
||||
for Danish translation
|
||||
Tõnu Virma
|
||||
for Estonian translation
|
||||
Staffan Ström (staffan at fam-strom.org)
|
||||
for Swedish translation
|
||||
Arman (Armish) Aksoy (armish at linux-sevenler.de)
|
||||
Mehmet Akif Köeoðlu (mak at ttnet.net.tr)
|
||||
for Turkish translation
|
||||
Aleksandar Savic (aleks at macedonia.eu.org)
|
||||
for Macedonian translation
|
||||
Takayoshi Nakasikiryo
|
||||
for Japanese translation
|
||||
Martin Sereday (sereday at slovanet.sk)
|
||||
for Slovak translation
|
||||
Antonín Matìjèík (matejcik at volny.cz)
|
||||
for Czech translation
|
||||
Andrij Shevchuk (http://programy.com.ua)
|
||||
for Ukrainian translation
|
||||
Tobias "Spug" Langhoff (spug_enigma at hotmail.com)
|
||||
for Norwegian translation
|
||||
Jadran Rudeciur (jrudec at email.si)
|
||||
for Slovenian translation
|
||||
Alin Gheorghe Miron (miron.alin at personal.ro)
|
||||
for Romanian translation
|
||||
Michael Papadakis (mikepap at freemail.gr)
|
||||
for Greek translation
|
||||
Ilia Lindov (ilia at infomat-bg.com)
|
||||
for Bulgarian translation
|
||||
Mika Kähkönen (mika.kahkonen at mbnet.fi)
|
||||
for Finnish translation
|
||||
|
||||
Thanks to:
|
||||
Patrick Ducrot & Daniel Carré (ENSI of Caen)
|
||||
for their initial support
|
||||
http://www.ducrot.org/
|
||||
http://www.greyc.ensicaen.fr/~dcarre/
|
||||
Ensi of Caen
|
||||
for their initial support
|
||||
http://www.ensicaen.fr/
|
||||
La sonothèque du Terrier
|
||||
for the sound fx :)
|
||||
|
||||
..and all users who are using and supporting HTTrack!
|
||||
@@ -1,859 +0,0 @@
|
||||
|
||||
HTTrack Website Copier release history:
|
||||
--------------------------------------
|
||||
|
||||
This file lists all changes and fixes that have been made for HTTrack.
|
||||
|
||||
3.48-19
|
||||
+ Fixed: assertion failure at htslib.c:3458 (strlen(copyBuff) == qLen) seen on Linux
|
||||
+ Fixed: infamous crashes inside the DNS cache due to a corruption within the option structure (E.Kalinowski/karbofos)
|
||||
+ New: added minimalistic crash reporting on Windows and Linux
|
||||
+ Fixed: URL list not working anymore (tom swift)
|
||||
+ Fixed: FTBFS on ARM
|
||||
+ Fixed: buggy FFFD (replacement character) in place of leading non-ascii character such as Chinese ones (aballboy)
|
||||
+ Fixed: FTBFS when compiling with zlib versions < 1.2.70 (sammyx)
|
||||
+ Fixed: buggy SVG (Smiling Spectre)
|
||||
+ Fixed: do not uncompress .tgz advertised as "streamed" (Smiling Spectre)
|
||||
+ Fixed: NULL pointer dereferencing in back_unserialize (htsback.c:976)
|
||||
+ Fixed: library development files
|
||||
+ Fixed: --advanced-maxlinks broken (Localhost)
|
||||
+ Fixed: -devel package should now be standalone
|
||||
+ Fixed: assertion failure at htscore.c:244 (len + liensbuf->string_buffer_size < liensbuf->string_buffer_capa)
|
||||
+ Fixed: injection-proof templates
|
||||
+ Fixed: htshash.c:330 assertion failure ("error invalidating hash entry") (Sergey)
|
||||
+ Fixed: Windows 2000 regression (fantozzi.usenet)
|
||||
+ Fixed: code cleanup (aliasing issues, const correctness, safe strings)
|
||||
+ New: handle --advanced-maxlinks=0 to disable maximum link limits
|
||||
+ New: updated ZIP routines (zlib 1.2.8)
|
||||
+ Fixed: broken 32-bit version
|
||||
+ Fixed: assertion "segOutputSize < segSize assertion fails at htscharset.c:993"
|
||||
+ Fixed: new zlib version fixing CVE-2004-0797 and CVE-2005-2096
|
||||
+ Fixed: more reliable crash reporting
|
||||
+ Fixed: fixed infamous "hashtable internal error: cuckoo/stash collision" errors
|
||||
+ Fixed: safety cleanup in many strings operations
|
||||
+ Fixed: buggy option pannels
|
||||
+ New: Enforce check against CVE-2014-0160
|
||||
+ New: improved hashtables to speedup large mirrors
|
||||
+ New: added unit tests
|
||||
+ New: Added %a option, allowing to define the "Accept:" header line.
|
||||
+ New: Added %X option, to define additional request header lines.
|
||||
+ New: Added option '-%t', preserving the original file type (which may produce non-browseable file locally)
|
||||
+ Fixed: remove scope id (% character) in dotted address resolution (especially for catchurl proxy)
|
||||
+ Fixed: build fixes, including for Android, non-SSL releases
|
||||
+ Fixed: buggy keep-alive handling, leading to waste connections
|
||||
+ Fixed: removed chroot and setuid features (this is definitely not our business)
|
||||
+ Fixed: removed MMS (Microsoft Media Server) ripping code (mmsrip) (dead protocol, unmaintained code, licensing issues)
|
||||
+ Fixed: type mishandling when processing a redirect (such as a .PDF redirecting to another .PDF, with a text/html type tagged in the redirect message)
|
||||
+ Fixed: infinite loop when attempting to download a file:/// directory on Unix (gp)<br/>
|
||||
+ Fixed: removed background DNS resolution, prone to bugs
|
||||
+ Fixed: do not choke on Windows 2000 because of missing SetDllDirectory() (Andy Hewitt)
|
||||
+ Fixed: %h custom build structure parameter not taken in account (William Clark)
|
||||
|
||||
3.47-27
|
||||
+ New: support for IDNA / RFC 3492 (punycode) handling
|
||||
+ New: openssl is no longer dynamically probed at stratup, but dynamically linked
|
||||
+ Fixed: random closing of files/sockets, leading to "zip_zipWriteInFileInZip_failed" assertion, "bogus state" messages, or random garbage in downloaded files
|
||||
+ Fixed: libssl.dylib is now in the search list for libssl on OSX (Nils Breunese)
|
||||
+ Fixed: bogus charset because the meta http-equiv tag is placed too far in the html page
|
||||
+ Fixed: incorrect \\machine\dir structure build on Windows (TomZ)
|
||||
+ Fixed: do not force a file to have an extension unless it has a known type (such as html), or a possibly known type (if delayed checks are disabled)
|
||||
+ Fixed: HTML 5 addition regarding "poster" attribute for the "video" tag (Jason Ronallo)
|
||||
+ Fixed: memory leaks in proxytrack.c (Eric Searcy)
|
||||
+ Fixed: correctly set the Z flag in hts-cache/new.txt file (Peter)
|
||||
+ Fixed: parallel patch, typo regarding ICONV_LIBS (Sebastian Pipping)
|
||||
+ Fixed: memory leak in hashtable, that may lead to excessive memory consumption
|
||||
+ Fixed: on Windows, fixed possible DLL local injection (CVE-2010-5252)
|
||||
+ Fixed: UTF-8 conversion bug on Linux that may lead to buggy filenames
|
||||
+ Fixed: zero-length files not being properly handled (not saved on disk, not updated) (lugusto)
|
||||
+ Fixed: serious bug that may lead to download several times the same file, and "Unexpected 412/416 error" errors
|
||||
+ Fixed: images in CSS were sometimes not correctly detected (Martin)
|
||||
+ Fixed: links within javascript events were sometimes not correctly detected (wquatan)
|
||||
+ Fixed: webhttrack caused bus error on certain systems, such as Mac OSX, due to the stack size (Patrick Gundlach)
|
||||
+ Fixed: bogus charset for requests when filenames have non-ascii characters (Steven Hsiao)
|
||||
+ Fixed: bogus charset on disk when filenames have non-ascii characters (Steven Hsiao)
|
||||
+ Fixed: fixed 260-characters path limit for Windows (lugusto)
|
||||
+ Fixed: non-ascii characters encoding issue inside query string (lugusto)
|
||||
+ Fixed: HTML entities not properly decoded inside URI and query string
|
||||
+ Fixed: URL-encoding issue within URI
|
||||
+ Fixed: --timeout alias did not work
|
||||
+ Fixed: more windows-specific fixes regarding 260-character path limit
|
||||
+ Fixed: escaping issue in top index
|
||||
+ Fixed: Linux build cleanup (gentoo patches merge, lintian fixes et al.)
|
||||
+ Fixed: Fixed div-by-zero when specifying more than 1000 connections per seconds (probably not very common)
|
||||
+ Fixed: Mishandling of '+' in URLs introduced in 3.47-15 (sarclaudio)
|
||||
+ Fixed: "Wildcard domains in cookies do not match" (alexei dot co at gmail dot com )
|
||||
+ Fixed: buggy referer while parsing: the referer of all links in the page is the current page being parsed, NOT the parent page. (alexei dot com at gmail dot com)
|
||||
+ Fixed: Russian translation fixes by Oleg Komarov (komoleg at mail dot ru)
|
||||
+ New: Added .torrent => application/x-bittorrent built-in MIME type (alexei dot co at gmail dot com)
|
||||
+ Fixed: unable to download an URL whose filename embeds special characters such as # (lugusto)
|
||||
+ New: Croatian translation by Dominko Aždajić (domazd at mail dot ru)
|
||||
+ Fixed: url-escaping regression introduced in the previous subrelease
|
||||
+ Fixed: content-disposition NOT taken in account (Stephan Matthiesen)
|
||||
+ Fixed: buggy DNS cache leading to random crashes
|
||||
+ Fixed: fixed logging not displaying robots.txt rules limits by default
|
||||
+ Fixed: license year and GPL link, libtool fixes (cicku)
|
||||
+ Fixed: Keywords field in desktop files (Sebastian Pipping)
|
||||
|
||||
3.46-1
|
||||
* New: Unicode filenames handling
|
||||
* Fixed: fixed bug in handling of update/continue with erased files or renamed files, leading to "Unexpected 412/416 error (Requested Range Not Satisfiable)" and/or "Previous cache file not found" (-1)" errors
|
||||
* Fixed: escape characters >= 128 when sending GET/HEAD requests to avoid server errors
|
||||
* Fixed: do not use "delayed" extensions when the mirror is aborting
|
||||
* Fixed: generate error pages when needed (Brent Palmer)
|
||||
* Fixed: parsing issue with js files due to "script" tags (Vasiliy)
|
||||
* Fixed: anonymous FTP without password (Luiz)
|
||||
* Fixed: Makefile issues regarding parrallel build and examples (Sebastian Pipping)
|
||||
* Fixed: removed deprecated and annoying "Accept-Charset" header in requests (Piotr Engelking) (closes:#674053)
|
||||
|
||||
3.45-4
|
||||
* New: source license is now GPLv3
|
||||
* New: added a "K5" feature to handle transparent proxies (Brent Palmer)
|
||||
* New: option -y to control ^Z behavior (Julian H. Stacey)
|
||||
* Fixed: replace // by / when saving rather than _/ (Brent Palmer)
|
||||
* Fixed: do not interpret ^C before mirror is finished, or after
|
||||
* Fixed: webhttrack: do not use md5sum to produce a temporary filename, but mktemp (Ryan Schmidt)
|
||||
* Fixed: document %k for custom structure (full query string)
|
||||
|
||||
3.45-3
|
||||
* Fixed: spurious "Previous file not found (erased by user ?)" messages leading to retransfer existing files in cache (Alain Desilets)
|
||||
* Fixed: --max-time now stops the mirror smoothly (Alain Desilets)
|
||||
|
||||
3.45-2
|
||||
* Fixed: number of simultaneous connections was often only one
|
||||
* Fixed: "Unexpected 412/416 error" leading to have broken files on disk
|
||||
|
||||
3.45-1
|
||||
* Fixed: interrupting an update/continue mirror session should not delete anymore previously downloaded content (William Roeder, Alain Desilets and many others)
|
||||
* Fixed: --continue/--update bug leading to download again already cached data in some cases (especially redirect/error pages)
|
||||
|
||||
3.44-5
|
||||
* Fixed: crash when using -d with non-fully-qualified hostname (Alain Desilets)
|
||||
* Fixed: typo in logs (Pascal Boulerie)
|
||||
|
||||
3.44-4
|
||||
* Fixed: random crash when interrupting the mirror (spotted by -fstack-protector) in htscoremain.c (closes:#657878)
|
||||
|
||||
3.44-3
|
||||
+ Fixed: Linux build (closes:#657334)
|
||||
|
||||
3.44-2
|
||||
+ Fixed: malformed format htslib.c (Moritz Muehlenhoff)
|
||||
+ Fixed: default footer print format
|
||||
+ New: clever "^C" handling
|
||||
+ New: added --do-not-generate-errors option
|
||||
+ New: increased maximum cookie name
|
||||
|
||||
3.44-1
|
||||
+ Fixed: Randomly corrupted files during updates due to "engine: warning: entry cleaned up, but no trace on heap"/"Unexpected 412/416 error" errors (Petr Gajdusek ; closes:#614966)
|
||||
|
||||
3.43-12
|
||||
+ Fixed: buffer overflow while repairing httrack cache if a damaged cache is found from a previous mirror (closes:#607704)
|
||||
|
||||
3.43-11
|
||||
+ Fixed: webhttrack fixes for icecat (closes:#605140)
|
||||
|
||||
3.43-10
|
||||
+ Fixed: capture URL not working properly when IPv6 is installed (John Bostelman)
|
||||
|
||||
3.43-9
|
||||
+ Fixed: application/xhtml+xml not seen as "html" (Peter Fritzsche)
|
||||
+ Fixed: various linux fixes for desktop files (closes:#563691)
|
||||
|
||||
3.43-8
|
||||
+ Fixed: URL encoding bugs with filenames containing '%' characters (sandboxie32)
|
||||
+ Fixed: MacPorts Darwin/Mac fixes to webhttrack (Ross Williams)
|
||||
+ Fixed: Flash link extraction has been improved (Vincent/suei8423)
|
||||
|
||||
3.43-7
|
||||
+ Fixed: "Open error when decompressing" errors due to temporary file generation problems (Scott Mueller)
|
||||
|
||||
3.43-6
|
||||
+ Shell: WIN32 setup cosmetic fixes: do not probe the proxy on non-local network, do not force *.whtt registration
|
||||
|
||||
3.43-5
|
||||
+ Fixed: code tag handling bug in certain cases leading to produce invalid links (Tom-tmh13 and William Roeder)
|
||||
|
||||
3.43-4
|
||||
+ Fixed: horrible SSL slowdowns due to bogus select() calls (Patrick Pfeifer)
|
||||
+ Fixed: Konqueror fixes
|
||||
|
||||
3.43-3
|
||||
+ Updated: Portugues-Brasil language file
|
||||
|
||||
3.43-2
|
||||
+ Fixed: wizard question buggy, and commandline version did not print it (Maz)
|
||||
+ Fixed: do not rename xml subtypes (such as xsd schemas) (Eric Avrillon)
|
||||
|
||||
3.43
|
||||
+ Fixed: Fixed too aggressive javascript url= parsing (Chris)
|
||||
+ Fixed: fixed --urllist option "sticking" the list content to the list of URL (Andreas Maier)
|
||||
+ Fixed: "Previous cache file not found" not redownloading file when deleted before an update (William Roeder)
|
||||
+ Fixed: *.rpm.src files renamed to *.src.src with bogus servers (Hippy Dave)
|
||||
+ Fixed: "pause" is pausing much faster (William Roeder)
|
||||
+ Fixed: binary real media files and related files are no longer being parsed as html (William Roeder)
|
||||
+ Fixed: "File not parsed, looks like binary" check no longer corrupt the checked binary file
|
||||
+ Fixed: multiple download of error pages (several identical '"Not Found" (404) at link [identical link]') leading to a slowdown in certain cases (William Roeder)
|
||||
+ Fixed: sometimes, a double request was issued to update a broken file
|
||||
+ Fixed: display bug "link is probably looping, type unknown, aborting .."
|
||||
+ Fixed: missing library references at build time and other build related issues (Debarshi Ray)
|
||||
+ Fixed: on windows, switched from wsock32.dll to ws2_32.dll
|
||||
+ Fixed: minor argument size validation error for "-O" option (Joan CALVET)
|
||||
|
||||
3.42-3
|
||||
+ Fixed: Bad URL length validation in the commandline (CVE-2008-3429) (Joan CALVET)
|
||||
|
||||
3.42-2
|
||||
+ Fixed: Random crashes at the end of the mirror due to a dangling file pointer (Carlos, angus at quovadis.com.ar)
|
||||
|
||||
3.42
|
||||
+ Fixed: size limits are stopping the mirror gently, finishing pending transfers (David Stevenson)
|
||||
|
||||
3.41-3
|
||||
+ Fixed: text/plain advertised files renamed into .txt
|
||||
+ Fixed: broken configure.in
|
||||
|
||||
3.41-2
|
||||
+ Fixed: major WIN32 inlined function bug caused the cache not to be used at all, causing update not to work
|
||||
|
||||
3.41
|
||||
+ New: changed API/ABI to thread-safe ones (libhttrack1 2), big cleanup in all .h definitions
|
||||
+ Fixed: Major memory usage bug when downloading large sites
|
||||
+ Fixed: do not rename files if the original MIME type was compatible
|
||||
+ Fixed: several source fixes for freeBSD (especially time problems)
|
||||
+ New: option %w to disable specific modules (java, flash..)
|
||||
+ Fixed: 'no space left in stack for back_add' error
|
||||
+ Fixed: fixed redirected images with "html" type
|
||||
+ Fixed: 'Crash adding error, unexpected error found.. [4268]' error
|
||||
|
||||
3.40-2
|
||||
+ Fixed: bogus '.del' filenames with ISO-9660 option
|
||||
+ Fixed: now merges the header charset even with an empty footer string
|
||||
+ New: --port option for webhttrack
|
||||
3.40
|
||||
+ New: mms:// streaming capture (thanks to Nicolas Benoit!)
|
||||
+ New: proxyTrack project released
|
||||
+ New: new experimental parser that no longer needs link testing ('testing link type..')
|
||||
+ New: Redirect handled transparently with delayed type check and broken links made external when the "no error page" option is enabled
|
||||
+ New: improved background download to handle large sites
|
||||
+ New: '--assume foo/bar.cgi=text/html' is now possible
|
||||
+ New: MIME type scan rules (such as -mime:video/* +mime:video/mpeg)
|
||||
+ New: size scan rules now allows to rewrite uncaught links as external links
|
||||
+ Fixed: crash fixed when ftime()/localtime()==NULL
|
||||
+ Fixed: iso-9660 option now using '_' for collision character
|
||||
+ Fixed: collision problems with CaSe SeNsItIvItY
|
||||
+ Fixed: a href='..' fixed!
|
||||
+ Fixed: redirects are now handled by the new experimental parser
|
||||
+ Fixed: "./" links generated with fixed outbound links (../../)
|
||||
+ Fixed: 'base href' bogus in many cases
|
||||
+ Fixed: enforce security limits to avoid bandwidth abuses
|
||||
+ Fixed: bogus external (swf) parser, fixed remaining .delayed files
|
||||
+ New: new check-mime and save-file2 callbacks
|
||||
+ New: "always delayed type check" enabled
|
||||
+ Fixed: totally bogus finalizer causing compressed files not to be uncompressed, and many files to be truncated
|
||||
+ Shell: new Finnish interface added!
|
||||
+ Fixed: "..html" bogus type
|
||||
+ Fixed: remaining bogus .delayed entries
|
||||
+ Fixed: flush before user-defined command
|
||||
+ Fixed: fixed user-defined command call and background cleaner
|
||||
+ Fixed: fixed 'Crash adding error, unexpected error found.. [4250]' error
|
||||
+ Fixed: fixed cache absolute file reference (the reference is now relative) preventing the cache form being moved to another place
|
||||
+ Fixed: webhttrack 'Browse Sites' path bug
|
||||
+ Fixed: old httrack cache format fixes (import of older versions did not work anymore)
|
||||
+ Fixed: port fixes in htsnet.h
|
||||
+ Fixed: -N option with advanced extraction (bogus "not found" member)
|
||||
+ Fixed: javascript: location=URL was not recognized
|
||||
+ Fixed: no more character escaping when not needed (such as UTF-8 codes)
|
||||
+ Fixed: possibly temporary files left on disk with bogus servers giving compressed content on HEAD reuests
|
||||
+ Fixed: URL hack caused unexpected filename collisions (index.html vs INDEX.HTML)
|
||||
+ Fixed: "do not erase already downloaded file" option now correctly works (it leaves files linked in the mirror)
|
||||
+ Fixed: UCS2 encoded pages are now converted properly into UTF-8
|
||||
+ New: "near" option now also catch embedded (images, css, ..) files
|
||||
+ Fixed: bogus chunked multimedia link text files (such as x-ms-asf files)
|
||||
+ Fixed: compilation problems on Un*x version
|
||||
|
||||
3.33
|
||||
+ Fixed: Bogus redirects with same location in https
|
||||
+ Fixed: Bogus file naming with URL hack
|
||||
+ Fixed: Extremly slow redirections and empty files
|
||||
+ Fixed: Bogus names with directories ending with a "."
|
||||
+ New: Number of connection per second can now be.. decimal, to delay even more
|
||||
+ New: Enforce stronger ISO9660 compliance
|
||||
+ Shell: "URL Hack" in interface
|
||||
+ Shell: "Save settings" now rebuild categories
|
||||
+ Shell: "Shutdown PC after mirror" option
|
||||
+ Shell: Sound at the beginning/end or the mirror (configurable through system sound properties)
|
||||
+ Shell: Fixed drag & drop, .url import
|
||||
+ Shell: Fixed "wizard" mode (crash)
|
||||
+ Fixed: Crash at the end due to unterminated pending threads
|
||||
+ Fixed: \ is not anymore transformed into / after the query (?) delimiter
|
||||
+ New: Two new callbacks for pre/post-processing html data
|
||||
+ New: link-detected2 callback (additional tag name parameter)
|
||||
+ Fixed: Broken ISO9660
|
||||
+ Fixed: Crash on file:// links
|
||||
+ Fixed: Unescaped ampersands (&) in URLs
|
||||
+ Fixed: Transfer hangs introduced in 3.33-beta-2
|
||||
+ Fixed: Display bug "Waiting for scheduled time.."
|
||||
+ Fixed: Bug "Waiting for scheduled time.." (NOT a display bug, actually)
|
||||
+ Fixed: CaSe SenSiTiViTy bugs with mutliple links reffering to the same URL but using different case styles
|
||||
+ Fixed: Failed to build from sources (FTBFS) on amd64 archs because of cast problems (Andreas Jochens)
|
||||
+ Fixed: & were converted into (Leto Kauler)
|
||||
+ Shell: Fixed crash with long URL lists (Libor Striz)
|
||||
+ Fixed: connection/seconds limiter replugged
|
||||
+ Fixed: "no files updated" display bug
|
||||
+ Fixed: bogus links encoded with UTF (Lukasz Wozniak)
|
||||
+ New: --assume can be used to force a specific script type (Brian Schröder)
|
||||
|
||||
3.32
|
||||
+ Fixed: css and js files were not parsed!
|
||||
+ Fixed: again broken file:// (infinite loops with local crawls)
|
||||
+ Fixed: Bandwidth limiter more gentle with low transfer rate
|
||||
+ Fixed: external wrappers were not called during updates/continue
|
||||
+ New: additional callback examples
|
||||
+ Fixed: overflow in unzip.c fixed
|
||||
+ New: tests are now cached for better performances!
|
||||
+ New: %r (protocol) option for user-defined structure
|
||||
+ Fixed: Broken engine on 64-bit archs
|
||||
|
||||
3.31
|
||||
+ New: Experimental categories implemented
|
||||
+ New: New cache format (ZIP file)
|
||||
+ New: .m3u files now crawled
|
||||
+ New: .aam files now crawled
|
||||
+ Fixed: Broken ftp
|
||||
+ Fixed: Broken file://
|
||||
+ Fixed: Broken cookies management and loading
|
||||
+ Fixed: HTTrackInterface.c:251 crash
|
||||
+ Fixed: "N connections" means "N connections" even in scan phase
|
||||
+ Fixed: javascript:location bug
|
||||
+ Fixed: libtool versioning problem fixed
|
||||
+ Fixed: More javascript bugs with \' and \"
|
||||
+ Fixed: .HTM files not renamed into .html anymore
|
||||
+ Fixed: OSX fixes in the Makefile script
|
||||
+ New: Default "referer" and "from" fields
|
||||
+ New: Full HTTP headers are now stored in cache
|
||||
+ Fixed: ftp transfer not logged/properly finalized
|
||||
+ Fixed: Missing symbolic link in webhttrack install
|
||||
+ Fixed: path and language not saved in webhttrack
|
||||
+ Shell: Avoid invalid project names
|
||||
+ Fixed: Javascript bug with src=
|
||||
+ Fixed: Keep-alive consistency problems on Linux/Unix with bogus servers (SIGPIPE)
|
||||
+ Fixed: Parsing bug inside javascript (bogus parsing with empty quotes in function: foo(''))
|
||||
+ Fixed: static compiling on Linux/Unix
|
||||
+ Fixed: bloated .h headers (internal function definitions)
|
||||
+ Fixed: Bogus query strings with embedded ../ and/or ./
|
||||
+ New: Added "change-options" call in the crawl beginning
|
||||
+ New: Query arguments now sorted for normalized URL checks (when "url hack" option is activated)
|
||||
+ Fixed: Previous dependency to zlib.dll to zlib1.dll
|
||||
+ Fixed: Broken static files were not correctly updated with the new cache format
|
||||
+ Shell: Launch button in Internet Explorer
|
||||
+ Fixed: Crash when dealing with multiple '?' in query string with 3.31-alpha
|
||||
|
||||
3.30
|
||||
+ New: Webhttrack, a linux/unix/bsd Web GUI for httrack
|
||||
+ New: "URL hack" feature
|
||||
+ New: HTTP-headers charset is now propagated in the html file
|
||||
+ New: loadable external engine callbacks
|
||||
+ New: Experimental ".mht" archives format
|
||||
+ Fixed: Query ?? bug
|
||||
+ Fixed: Bogus base href without http://
|
||||
+ Fixed: Several javascript bugs
|
||||
+ Fixed: UCS2 pages badly detected
|
||||
+ Fixed: Build structure change does not redownload files
|
||||
+ Fixed: "?foo" URL bug (link with only a query string) fixed
|
||||
+ Fixed: ' or " inside non-quoted URLs
|
||||
+ Fixed: keep-alive problems with bogus servers
|
||||
+ Fixed: Broken .ra files
|
||||
+ Fixed: More javascript bugs
|
||||
+ Fixed: ftp transfers not properly monitored in the shell
|
||||
+ Fixed: various fixes in webhttrack
|
||||
+ Fixed: Blank final page in webhttrack
|
||||
+ Fixed: Javascript comments (//) are skipped
|
||||
+ Fixed: Temporary fix for "archive" bug with multiple java archives
|
||||
+ Fixed: Inlined js or css files have their path relative to the parent
|
||||
+ Fixed: Unescaped quotes ("") when continuing/updating in commandline mode
|
||||
+ Fixed: Null-character in html page bug
|
||||
+ Fixed: External depth slightly less bogus
|
||||
+ Fixed: Filters based on size bogus ("less than 1KiB" is now functionning)
|
||||
+ Fixed: Strange behaviour with filters (last filter "crushed")
|
||||
+ Fixed: Bogus downloads when using ftp (unable to save file)
|
||||
+ Fixed: Freeze with keep-alive on certain sites due to bad chunk encoding handling
|
||||
+ Fixed: Problems with javascript included paths
|
||||
+ Fixed: The mirror now aborts when the filesystem is full
|
||||
+ Fixed: "No external pages" option fixed
|
||||
+ Fixed: Javascript and \" in document.write bug fixed
|
||||
+ Fixed: Two memory leaks in temporary file generation, and in link build fixed
|
||||
+ Fixed: Bogus compression with non-gzip format
|
||||
+ Fixed: Larger range of charsets accepted
|
||||
+ Fixed: Bogus robots.txt when using comments (#)
|
||||
+ Fixed: Missing MIME types for files such as .ico
|
||||
+ Shell: Fixed continuous proxy search
|
||||
+ Shell: Fixed missing HelpHtml/ link
|
||||
+ Fixed: Overflow in htsback.c:2779
|
||||
+ Fixed: Bogus style and script expressions due to too aggressive parsing
|
||||
+ Fixed: Javascript parsing bugs with \" and \'
|
||||
+ Fixed: Javascript link detection bugs when comments were inserted between arguments
|
||||
+ Fixed: Bug when valid empty gzip content was received
|
||||
+ New: More aggressive "maximum mirroring time" and "maximum amount of bytes transfered" options
|
||||
+ New: Windows file://server/path syntax handled
|
||||
+ Fixed: mht archive fixes
|
||||
+ Fixed: Serious bugs with filters given in commandline erased by the engine
|
||||
+ Fixed: Bogus parsing of javascript: generated inside document.write() inside javascript code removed
|
||||
|
||||
3.23
|
||||
+ New: Keep-alive
|
||||
+ New: URLs size limit is now 1024 bytes
|
||||
+ New: Bogus UCS2 html files hack
|
||||
+ Fixed: base href bugs
|
||||
+ Fixed: windows "dos devices" bug fixed
|
||||
+ Fixed: dirty parsing now avoids ","
|
||||
+ Fixed: "get non-html files near a link" option sometimes caused huge mirrors
|
||||
+ Fixed: Bugs if zlib library is not found
|
||||
+ Fixed: Bug with "near" and "no external pages"
|
||||
+ Fixed: "Link empty" crash
|
||||
+ Fixed: Several javascript bugs
|
||||
+ Fixed: Keep-alive problems ("unknown response structure")
|
||||
+ Fixed: Major keep-alive bug (connection not closed)
|
||||
+ Fixed: 8-3 options not working, ISO9660 option improved
|
||||
+ Fixed: Bogus links with embedded CR, TAB..
|
||||
+ Fixed: small ../ external link bug fixed
|
||||
|
||||
3.22-3
|
||||
+ Fixed: Slow engine due to (too strict) memory checks
|
||||
+ Fixed: Overflow in htscore.c:2353
|
||||
+ Fixed: Bogus chunked files with content-length fixed
|
||||
+ Fixed: Folders renamed into ".txt" on Un*x platforms bug fixed!
|
||||
+ New: Scan rule list (-%S) added
|
||||
+ New: Cache debugging tool (-#C) added
|
||||
|
||||
3.21-8
|
||||
+ New: Basic Macromedia Flash support (links extraction)
|
||||
+ New: Modular design for https, flash parser and zlib
|
||||
+ New: Standard autoconf/configure design on Un*x platforms
|
||||
+ New: Modular design also on Windows platforms (dll/lib)
|
||||
+ Fixed: Text files without extension not renamed "html" anymore
|
||||
+ Fixed: Bug with "?foo" urls
|
||||
+ Fixed: No chmod 755 on home anymore
|
||||
+ Fixed: Stability problems due to bad file structure checks
|
||||
+ Fixed: Overflow in GUI/commandline when displaying statistics
|
||||
+ Fixed: Directory creation error
|
||||
|
||||
3.20-2
|
||||
+ New: HTTPS support (SSL)
|
||||
+ New: ipv6 support
|
||||
+ New: 'longdesc' added
|
||||
+ New: new file 'new.txt' generated for transfer status reports
|
||||
+ New: ISO9660 compatibility option
|
||||
+ New: empty mirror/update detection improved
|
||||
+ New: Update hack now recognizes "imported" files
|
||||
+ New: Option to disable ipv4/ipv6
|
||||
+ New: Filters now recognize patterns like -https://*
|
||||
+ Fixed: The engine should be now fully reentrant
|
||||
+ Fixed: Fixes for alpha and other 64-bit systems
|
||||
+ Fixed: Files downloaded twice if not found in cache
|
||||
+ Fixed: ftp problems with 2xx responses
|
||||
+ Fixed: ftp problems with multiple lines responses
|
||||
+ Fixed: ftp %20 not escaped anymore
|
||||
+ Fixed: ftp RETR with quotes problems
|
||||
+ Fixed: now tolerent to empty header responses
|
||||
+ Fixed: hts-log closed
|
||||
+ Fixed: Compressed pages during updates
|
||||
+ Fixed: Crash when receiving empty compressed pages
|
||||
+ Fixed: Random crashes in 'spider' mode
|
||||
+ Fixed: bcopy/bzero not used anymore..
|
||||
+ Fixed: various code cleanups
|
||||
+ Fixed: Better UTF8 detection
|
||||
+ Fixed: External links now work with https and ftp
|
||||
+ Fixed: Top index.html corrupted or missing
|
||||
+ Fixed: URL list crashes
|
||||
+ Fixed: Random crashes with large sites due to bogus naming handler
|
||||
+ Fixed: Freezes on some robots.txt files
|
||||
+ Fixed: Compressed files not stored
|
||||
+ Fixed: SVG fixes
|
||||
+ Fixed: Raw HTML responses
|
||||
+ Fixed: 406 error workaround
|
||||
+ Fixed: Crashes due to binary files with bogus HTML type (not parsed anymore)
|
||||
+ Fixed: External https and ftp links broken, relative https links broken
|
||||
+ Fixed: Automatic resizing of filter stack
|
||||
+ Fixed: Various ampersand (&) elements added
|
||||
+ Fixed: https with proxy temporary workaround (direct connection)
|
||||
+ Fixed: "base href" with absolute uris
|
||||
+ Fixed: stack frame too large on some systems
|
||||
+ Fixed: random bad requests due to bogus authentication
|
||||
+ Shell: Several fixes, including registration type problems
|
||||
+ Shell: "template files not found" fixed
|
||||
|
||||
3.16-2
|
||||
+ Fixed: Zlib v1.4
|
||||
+ Fixed: Gzipped files now downloaded without problems (HTTP compression bug)
|
||||
+ Fixed: Ending spaces in URLs now handled correctly
|
||||
+ Fixed: META-HTTP bug
|
||||
+ Shell: Type registration done only once
|
||||
|
||||
3.15
|
||||
+ Fixed: Bogus HTTP-referer with protected sites
|
||||
+ Fixed: Fatal IO/socket error with large sites (handles not closed)
|
||||
+ Fixed: K4 option now works
|
||||
+ Fixed: --continue+URL(s) now clears previous URLs
|
||||
+ Fixed: Parsing bug with 'www.foo.com?query'
|
||||
+ Shell: 'Soft cancel' documented
|
||||
+ Shell: 'Kx' options added
|
||||
|
||||
3.10
|
||||
+ Fixed: Broken pipes on Linux version
|
||||
+ Fixed: Commandline version bug with gzipped files
|
||||
+ Fixed: Crash when reaching compressed error pages
|
||||
+ Fixed: Bogus html-escaped characters in query strings
|
||||
+ Fixed: Files skipped (bogus anticipating system)
|
||||
+ Fixed: Crash when showing stats (div by zero)
|
||||
+ Fixed: Problems with URLs/redirects containing spaces or quotes
|
||||
+ Fixed: Slash added when ~ detected
|
||||
+ Fixed: Ugly VT terminal
|
||||
+ New: Faster and cleaner mirror interrupt
|
||||
|
||||
3.09
|
||||
+ Fixed: Several problems with javascript parsing
|
||||
+ Fixed: Elements after onXXX not parsed
|
||||
+ New: Source update wrapper
|
||||
+ New: Style url() and @import parsed
|
||||
+ Shell: Word database and maximum number of links
|
||||
+ Shell: Option changes taken in account immediately
|
||||
+ Shell: Cleaner installer (registry keys)
|
||||
|
||||
3.08
|
||||
+ New: HTTP compression is now supported
|
||||
+ New: Faster response analysis
|
||||
+ Fixed: External page in html if cgi
|
||||
+ Fixed: Mix between CR and CR/LF for comments
|
||||
+ Fixed: Top index corrupted
|
||||
+ Shell: Better refresh during parsing
|
||||
+ Shell: DLL error
|
||||
|
||||
3.07
|
||||
+ Fixed: Random crashes with HTTP redirects
|
||||
+ New: New rate limiter (should be sharper)
|
||||
+ New: Code cleaned up, new htscore.c/httrack.c files
|
||||
|
||||
3.06
|
||||
+ Fixed: Redirect to https/mailto now supported
|
||||
+ New: Top index/top dir for Un*x version
|
||||
+ New: Sources more modular (.so)
|
||||
+ New: Quicktime targetX= tags
|
||||
+ New: HTTP 100 partially supported
|
||||
|
||||
3.05
|
||||
+ Fixed: Non-scannable tag parameters ("id","name",..)
|
||||
+ Fixed: Java classes not found when using "." as separator
|
||||
+ Fixed: Java classes not found when missing .class
|
||||
|
||||
3.04
|
||||
+ Fixed: URLs with starting spaces
|
||||
+ Fixed: bogus URLs when using "base href"
|
||||
+ Shell: --assume and -%e options included
|
||||
+ New: Documentation updated a little
|
||||
|
||||
3.03
|
||||
+ New: Parser optimizations, 10 times faster now!
|
||||
+ New: New --assume option to speed up cgi tests
|
||||
+ New: Option to avoid Username/password storage for external pages
|
||||
+ New: Query string kept for local URIs
|
||||
+ Fixed: RFC2396 compliant URLs accepted (//foo and http:foo)
|
||||
+ Fixed: foo@foo.com not considered as URL anymore
|
||||
+ Fixed: Space encoded into %20 in URIs
|
||||
+ Fixed: "Unable to save file" bug
|
||||
+ Fixed: Corrupted top index.html
|
||||
+ Fixed: Cookies disabled with --get
|
||||
+ Fixed: Cache bug for error pages
|
||||
|
||||
3.02
|
||||
+ Fixed: Pages without title recorded in top index
|
||||
+ Fixed: Error with Content-type+Content-disposition
|
||||
+ Fixed: backblue.gif/external.html files not purged anymore
|
||||
+ Fixed: Encoding problems with files containing %2F or other characters
|
||||
+ Fixed: Write error reported for HTML files
|
||||
+ New: hts-stop.lock file to pause the engine
|
||||
+ New: New install system using InnoSetup
|
||||
|
||||
3.01
|
||||
+ New: HTTP real media files captured
|
||||
+ Fixed: Bogus statitics
|
||||
+ Fixed: Minor fixes
|
||||
|
||||
3.00
|
||||
+ New: New interface, with MANY improvements!
|
||||
+ New: Better parsing (enhanced javascript parsing, sharper HTML parsing)
|
||||
+ New: Faster and more efficient background download system
|
||||
+ New: ETag properly handled
|
||||
+ New: Optional URL list
|
||||
+ New: Optionnal config file
|
||||
+ New: New structure options
|
||||
+ New: New filters options (size filters)
|
||||
+ New: Better password site handling
|
||||
+ New: Traffic control to avoid server overload
|
||||
+ New: Setuid and Chroot for Unix release
|
||||
+ New: limited 64-bit handling
|
||||
+ New: .js files are now parsed
|
||||
+ New: Single hts-log.txt file, error level
|
||||
+ New: New top index.html design
|
||||
+ New: "Update hack" option to prevent unnecessary updates
|
||||
+ New: Default language sent for mirrors
|
||||
+ New: Searchable index
|
||||
+ Fixed: Bogus ftp routines (Linux version)
|
||||
+ Fixed: Bug that caused to mirror a complete site from a subdir
|
||||
+ Fixed: Bug that caused restart to be very slow
|
||||
+ Fixed: Bug that caused loops on several query-string pages (?foo=/)
|
||||
+ Fixed: Corrupted cache bug
|
||||
+ Fixed: Random broken links (pages not downloaded)
|
||||
+ Fixed: Shared links problems
|
||||
+ Fixed: Bogus URLs with commas (,)
|
||||
+ Fixed: Bogus / and \ mixed
|
||||
+ Fixed: Bogus addresses with multiple @
|
||||
+ Fixed: Bogus links with %2E and %2F
|
||||
+ Fixed: Bogus empty links
|
||||
+ Fixed: "Unexpected backing error" bug fixed
|
||||
+ Fixed: Files with incorrect size no more accepted
|
||||
+ Fixed: Top index.html created even for untitled pages
|
||||
+ Fixed: Bogus N100 option (unable to save file)
|
||||
+ Fixed: Deadlock when using many hosts in URLs
|
||||
+ Fixed: Password stored internally to avoid access errors
|
||||
+ Fixed: Fixed /nul DOS limit
|
||||
+ Fixed: Bogus -* filter (nothing mirrored)
|
||||
+ Fixed: .shtml now renamed into .html
|
||||
+ Fixed: Content-disposition without ""
|
||||
+ Fixed: External html page for /foo links
|
||||
+ Fixed: Username/password % compliant
|
||||
+ Fixed: Javascript parser sometimes failed with " and ' mixed
|
||||
+ Fixed: Some Range: bugs when regeting complete files
|
||||
+ Fixed: Range: problems with html files
|
||||
+ Fixed: HTTP/1.1 407 and 416 messages now handled
|
||||
+ Fixed: Bogus timestamp
|
||||
+ Fixed: Null chars in HTML bug
|
||||
+ Fixed: Error pages cache bug
|
||||
+ Fixed: Connect error/site moved do not delete everything anymore!
|
||||
+ Fixed: Bogus garbage ../ in relative URL
|
||||
+ Shell: New transfer rate estimation
|
||||
+ Shell: Fixed crash when using verbose wizard
|
||||
+ Shell: dynamic lang.h for easier translation updates
|
||||
+ Shell: Fixed some options not passed to the engine
|
||||
+ Fixed: A lots of minor fixes!
|
||||
|
||||
2.2
|
||||
Note: 3.00 alpha major bug fixes are included in the 2.2
|
||||
|
||||
2.02
|
||||
+ New: Cache system improved, compatible with all platforms
|
||||
+ New: Update process improved (accurate date)
|
||||
+ New: Remote timestamp for files
|
||||
+ New: ETag (HTTP/1.1) supported
|
||||
+ Shell: Portugese interface available
|
||||
+ Fixed: Bug with links containing commas
|
||||
+ Fixed: 'file://' bug with proxy
|
||||
+ New: Engine a little bit faster
|
||||
+ Shell: Some bugs fixed in the interface
|
||||
|
||||
2.01
|
||||
+ New: ftp through proxy finally supported!
|
||||
+ New: Sources cleaned up
|
||||
+ New: Again some new marvelous options
|
||||
+ New: Speed improved (links caught during parsing, faster "fast update")
|
||||
+ New: Tool to catch "submit" URL (forms or complex javascript links)
|
||||
+ Shell: German interface available
|
||||
+ Shell: Dutch interface available
|
||||
+ Shell: Polish interface available
|
||||
+ Fixed: Level 1 bug fixed
|
||||
+ Fixed: Still some parsing/structure problems
|
||||
+ Fixed: Referer now sent to server
|
||||
+ Fixed: Cookies did not work properly
|
||||
+ Fixed: Problems with redirect pages
|
||||
+ New: Better javascript parsing
|
||||
+ Fixed: Problems with URL-parameters (foo.cgi?param=2&choice=1)
|
||||
+ Fixed: Problems with ftp
|
||||
+ New: ftp transfers are now in passive mode (firewall compliant)
|
||||
|
||||
2.00 -- The First Free Software Release of HTTrack!
|
||||
+ New: HTTrack sources (command line), now free software, are given
|
||||
+ Shell: Interface rewritten!
|
||||
+ New: Documentation rewritten
|
||||
+ Shell: Drag&Drop abilities
|
||||
+ Shell: More URL informations
|
||||
+ Shell: Fixed: Remote access problems
|
||||
+ Fixed: Loop problems on some sites causing crashes
|
||||
+ Fixed: URL encoding problems
|
||||
+ Fixed: Some file access problems for ../
|
||||
+ Fixed: Some fixes for updating a mirror
|
||||
+ Shell: Crazy progress bar fixed
|
||||
+ Fixed: Form action are rewritten so that cgi on form can work from an offline mirror
|
||||
+ Fixed: Crashes after continuing an "hand-interrupted" mirror
|
||||
+ Fixed: Bogus files with some servers (chunk bug)
|
||||
|
||||
1.30
|
||||
+ Shell: Interface improved
|
||||
+ New: robots.txt are followed by default
|
||||
+ New: Parsing speed improved on big (>10,000 links) sites with an hash table
|
||||
+ New: Mirror Link mode (mirror all links in a page)
|
||||
+ New: Cookies are now understood
|
||||
+ New: No external pages option (replace external html/gif by default files)
|
||||
+ New: Command line version improved, background on Unix releases
|
||||
+ Fixed: Problems with javascript parsing
|
||||
+ Fixed: Username/password not set to lowercase anymore
|
||||
+ Fixed: Problems with base href
|
||||
+ New: Links in level 1 html files now patched
|
||||
+ New: Expurge now deletes unused folders
|
||||
+ New: Option -V executes shell command for every new file
|
||||
+ Shell: Primary filter now works
|
||||
|
||||
1.24
|
||||
+ Fixed: Ftp protocol bogus (with login/pass)
|
||||
+ Fixed: Cache problems (corrupted files)
|
||||
+ New: Expurge old files for updates
|
||||
+ New: "Updated" messages for mirror updates
|
||||
+ Shell: Autodial/hangup option to RAS
|
||||
+ Fixed: index.html were not created sometimes
|
||||
+ Shell: Fixed: Random crashes with the interface
|
||||
+ Shell: Fixed: Filters profile not saved
|
||||
+ Fixed: Various (and numerous) fixes
|
||||
|
||||
1.23
|
||||
+ Shell: Interface improved
|
||||
+ Shell: Multiple setups
|
||||
+ Shell: Redefine options
|
||||
+ Shell: Continue interrupted mirror improved
|
||||
|
||||
1.22
|
||||
+ Fixed: Parsing up/down did not work well
|
||||
+ Fixed: Several files not catched, bugs fixes
|
||||
+ Fixed: Problems with classes (1.21)
|
||||
+ New: Transfer rate can be limited (-A option)
|
||||
+ Shell: Smooth refresh
|
||||
+ New: ftp basic protocol a little bit improved
|
||||
|
||||
1.21
|
||||
+ Fixed: Several java classes were not parsed
|
||||
+ Fixed: Some folders without ending / ignored
|
||||
+ Fixed: Crashes due to content-type too long
|
||||
|
||||
1.20
|
||||
+ Shell: documentation!
|
||||
+ Fixed: Some problems with 'host cancel' system after timeouts (crashes)
|
||||
+ New: Get only end of files if possible (file partially get)
|
||||
+ New: New cache system (only HTML stored)
|
||||
+ New: User-defined structure possible
|
||||
+ New: Also available: french interface
|
||||
+ Fixed: Random crashes (div by 0/illegal instruction) with null size files
|
||||
+ New: Limited ftp protocol (files only), e.g. +ftp://* now works
|
||||
+ Fixed: Some connect problems with several servers or proxies
|
||||
+ New: New option, save html error report by default
|
||||
+ Shell: Browse and see log files at the end of a mirror
|
||||
+ New: Proxy authentication (ex: guest:star@myproxy.com:8080)
|
||||
+ Shell: Interface improved (especially during mirror)
|
||||
+ Fixed: Ambiguous files are renamed (asp,cgi->html/gif..)
|
||||
+ Shell: New test link mode option
|
||||
+ New: Site authentication (ex: guest:star@www.myweb.com/index.html)
|
||||
+ Fixed: Minor bugs fixed
|
||||
+ Shell: See log files during a mirror
|
||||
+ Fixed: Some problems using CGI (different names now)
|
||||
+ Fixed: Go down/up/both options and filters
|
||||
+ Fixed: "Store html first" did not work
|
||||
+ New: -F option ("Browser ID") disguise HTTrack into a browser
|
||||
+ New: New filter system
|
||||
+ Shell: New "Save as default" options
|
||||
+ Fixed: "Build options" did NOT work properly! (files overwritten or missing)
|
||||
+ Fixed: User agent ID fixed
|
||||
+ Shell: Skip options
|
||||
+ Shell: Better interface control during mirrors
|
||||
+ Shell: InstallShield and Help files
|
||||
+ Fixed: Some external links were not filtered sometimes
|
||||
+ Fixed: Mirror crash at the end
|
||||
|
||||
1.16b
|
||||
+ Shell: Really *stupid* bug fixed causing WinHTTrack to be slooow
|
||||
+ Fixed: Crash if the first page has no title fixed
|
||||
+ Fixed: Bogus options like "Just scan" saved empty files
|
||||
+ Fixed: Forbid all links (*) with manual accept did not work
|
||||
+ Shell: Filters interface improved
|
||||
1.16:
|
||||
+ New : Java Classes and subclasses are now retrieved!
|
||||
+ New: Better JavaScripts parsing
|
||||
+ New: Option: Abandon slowest hosts if timeout/transfer too slow
|
||||
+ Shell: Interface improved
|
||||
|
||||
1.15b
|
||||
+ Fixed: Some bugs fixed
|
||||
1.15:
|
||||
+ Shell: Interface improved
|
||||
+ New: Robot improved (some files through javascript are now detected!)
|
||||
+ New: Improved wild cards (for example, +www.*.com/*.zip)
|
||||
+ New: 'config' file to configurate proxy, path.. only once
|
||||
|
||||
1.11
|
||||
+ New: Wait for specific time (begin transfer at specific hour)
|
||||
+ New: Time limit option (stops transfer after x seconds)
|
||||
+ Shell: Interface improved for an easy use
|
||||
|
||||
1.10e
|
||||
+ Fixed: Maps were not correctly managed (stupid bug)
|
||||
1.10d:
|
||||
+ Fixed: Bogus index.html fixed
|
||||
1.10c
|
||||
+ Shell: "Time out" field needed "transfer rate" field
|
||||
1.10b
|
||||
+ Fixed: Better memory management
|
||||
1.10
|
||||
+ New: "Transfer rate out" option added (abandon slowests sites)
|
||||
+ New: "Deaf" hosts do not freeze HTTrack any more
|
||||
+ Fixed: Again problems with code/codebase tags
|
||||
+ New: Broken links detection improved
|
||||
|
||||
1.04
|
||||
+ Fixed:Some links were not correctly read (pages with "codebase" tags)
|
||||
+ Shell: Interface improved
|
||||
|
||||
1.03 (No changes for the command-line robot)
|
||||
+ Shell: Big bug fixed! (VERY slow transfer rates..)
|
||||
|
||||
1.02
|
||||
+ Fixed: Some java files were not correctly transfered
|
||||
+ New: Speed has been improved
|
||||
+ Fixed: Log file more accurate
|
||||
+ Shell: Interface has been improved
|
||||
|
||||
1.01
|
||||
+ Fixed: Structure check error in some cases
|
||||
|
||||
1.00 -- The 1.00, Yeah!
|
||||
+ New: base and codebase are now scanned
|
||||
|
||||
0.998 beta-2
|
||||
+ Fixed: Multiple name bug (files having the same name in the same directory) with -O option fixed
|
||||
|
||||
0.997 beta-2
|
||||
+ Fixed: Filenames with '%' were not correctly named
|
||||
+ Fixed: Bug detected in 0.996: several files are not written on disk!!
|
||||
|
||||
0.996 beta-2
|
||||
+ New: -O option (path for mirror and log)
|
||||
+ New: Unmodified file time/date are not changed during an update
|
||||
|
||||
0.99 beta-2
|
||||
+ New: User-agent field
|
||||
+ New: Shortcuts (--spider etc.)
|
||||
+ New: Links not retrieved are now rebuilt absolutly
|
||||
+ New: The 'g' option (juste get files in current directory) has been added
|
||||
+ New: Primary links analyste has been improved
|
||||
+ Fixed: "304" bug fixed
|
||||
|
||||
0.25 beta-2
|
||||
+ Fixed: Freeze during several mirrors fixed!
|
||||
+ New: More 'N' options (filenames type)
|
||||
|
||||
0.24 beta-2
|
||||
+ Fixed: Restart/Update with cache did not work (really not..)
|
||||
+ Fixed: Wild cards now work properly (e.g. +www.abc.com* do works)
|
||||
+ New: The 'n' option (get non-html files near a link) has been added!
|
||||
|
||||
0.23 beta-2
|
||||
+ Fixed: The 'M' option (site size) did not work
|
||||
+ Fixed: Files larger than 65Kb were not correctly written
|
||||
|
||||
older beta
|
||||
+ Many, many bugs fixed
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
|
||||
HelpHtmlrootdir = $(docdir)
|
||||
HelpHtmldir = $(htmldir)
|
||||
HelpHtmlimgdir = $(HelpHtmldir)/img
|
||||
HelpHtmldivdir = $(HelpHtmldir)/div
|
||||
HelpHtmlimagesdir = $(HelpHtmldir)/images
|
||||
HelpHtmlTxtdir = $(HelpHtmldir)
|
||||
WebHtmldir = $(HelpHtmldir)/server
|
||||
WebHtmlimagesdir = $(HelpHtmldir)/server/images
|
||||
WebHtmlsfxdir = $(HelpHtmldir)/server/sfx
|
||||
WebPixmapdir = $(datadir)/pixmaps
|
||||
WebIcon16x16dir = $(datadir)/icons/hicolor/16x16/apps
|
||||
WebIcon32x32dir = $(datadir)/icons/hicolor/32x32/apps
|
||||
WebIcon48x48dir = $(datadir)/icons/hicolor/48x48/apps
|
||||
VFolderEntrydir = $(prefix)/share/applications
|
||||
|
||||
HelpHtmlroot_DATA = ../httrack-doc.html ../history.txt
|
||||
HelpHtml_DATA = *.html
|
||||
HelpHtmldiv_DATA = div/search.sh
|
||||
HelpHtmlimg_DATA = img/*
|
||||
HelpHtmlimages_DATA = images/*
|
||||
HelpHtmlTxt_DATA = ../greetings.txt ../history.txt ../license.txt
|
||||
WebHtml_DATA = server/*.html
|
||||
WebHtmlimages_DATA = server/images/*
|
||||
WebHtmlsfx_DATA = server/sfx/*
|
||||
# note: converted & normalized by
|
||||
# ico2xpm favicon.ico -o httrack.xpm
|
||||
# mogrify -format xpm -map /usr/share/doc/menu/examples/cmap.xpm httrack.xpm
|
||||
WebPixmap_DATA = server/div/*.xpm
|
||||
WebIcon16x16_DATA = server/div/16x16/*.png
|
||||
WebIcon32x32_DATA = server/div/32x32/*.png
|
||||
WebIcon48x48_DATA = server/div/48x48/*.png
|
||||
VFolderEntry_DATA = server/div/*.desktop
|
||||
|
||||
EXTRA_DIST = $(HelpHtml_DATA) $(HelpHtmlimg_DATA) $(HelpHtmlimages_DATA) \
|
||||
$(HelpHtmldiv_DATA) $(WebHtml_DATA) $(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) \
|
||||
$(WebPixmap_DATA) $(WebIcon16x16_DATA) $(WebIcon32x32_DATA) $(WebIcon48x48_DATA) \
|
||||
$(VFolderEntry_DATA) \
|
||||
httrack.css
|
||||
|
||||
install-data-hook:
|
||||
if test ! -L $(DESTDIR)$(prefix)/share/httrack/html ; then \
|
||||
( cd $(DESTDIR)$(prefix)/share/httrack \
|
||||
&& $(LN_S) $(htmldir) html \
|
||||
) \
|
||||
fi
|
||||
@@ -1,809 +0,0 @@
|
||||
# Makefile.in generated by automake 1.11.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
|
||||
# Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = html
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/check_zlib.m4 \
|
||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/snprintf.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(HelpHtmldir)" \
|
||||
"$(DESTDIR)$(HelpHtmlTxtdir)" "$(DESTDIR)$(HelpHtmldivdir)" \
|
||||
"$(DESTDIR)$(HelpHtmlimagesdir)" "$(DESTDIR)$(HelpHtmlimgdir)" \
|
||||
"$(DESTDIR)$(HelpHtmlrootdir)" "$(DESTDIR)$(VFolderEntrydir)" \
|
||||
"$(DESTDIR)$(WebHtmldir)" "$(DESTDIR)$(WebHtmlimagesdir)" \
|
||||
"$(DESTDIR)$(WebHtmlsfxdir)" "$(DESTDIR)$(WebIcon16x16dir)" \
|
||||
"$(DESTDIR)$(WebIcon32x32dir)" "$(DESTDIR)$(WebIcon48x48dir)" \
|
||||
"$(DESTDIR)$(WebPixmapdir)"
|
||||
DATA = $(HelpHtml_DATA) $(HelpHtmlTxt_DATA) $(HelpHtmldiv_DATA) \
|
||||
$(HelpHtmlimages_DATA) $(HelpHtmlimg_DATA) \
|
||||
$(HelpHtmlroot_DATA) $(VFolderEntry_DATA) $(WebHtml_DATA) \
|
||||
$(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) $(WebIcon16x16_DATA) \
|
||||
$(WebIcon32x32_DATA) $(WebIcon48x48_DATA) $(WebPixmap_DATA)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_CFLAGS = @AM_CFLAGS@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
|
||||
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DL_LIBS = @DL_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
HAVE_VISIBILITY = @HAVE_VISIBILITY@
|
||||
HTTPS_SUPPORT = @HTTPS_SUPPORT@
|
||||
ICONV_LIBS = @ICONV_LIBS@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LFS_FLAG = @LFS_FLAG@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_CV_OBJDIR = @LT_CV_OBJDIR@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
ONLINE_UNIT_TESTS = @ONLINE_UNIT_TESTS@
|
||||
OPENSSL_LIBS = @OPENSSL_LIBS@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
SHLIBPATH_VAR = @SHLIBPATH_VAR@
|
||||
SOCKET_LIBS = @SOCKET_LIBS@
|
||||
STRIP = @STRIP@
|
||||
THREADS_CFLAGS = @THREADS_CFLAGS@
|
||||
THREADS_LIBS = @THREADS_LIBS@
|
||||
V6_FLAG = @V6_FLAG@
|
||||
VERSION = @VERSION@
|
||||
VERSION_INFO = @VERSION_INFO@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
HelpHtmlrootdir = $(docdir)
|
||||
HelpHtmldir = $(htmldir)
|
||||
HelpHtmlimgdir = $(HelpHtmldir)/img
|
||||
HelpHtmldivdir = $(HelpHtmldir)/div
|
||||
HelpHtmlimagesdir = $(HelpHtmldir)/images
|
||||
HelpHtmlTxtdir = $(HelpHtmldir)
|
||||
WebHtmldir = $(HelpHtmldir)/server
|
||||
WebHtmlimagesdir = $(HelpHtmldir)/server/images
|
||||
WebHtmlsfxdir = $(HelpHtmldir)/server/sfx
|
||||
WebPixmapdir = $(datadir)/pixmaps
|
||||
WebIcon16x16dir = $(datadir)/icons/hicolor/16x16/apps
|
||||
WebIcon32x32dir = $(datadir)/icons/hicolor/32x32/apps
|
||||
WebIcon48x48dir = $(datadir)/icons/hicolor/48x48/apps
|
||||
VFolderEntrydir = $(prefix)/share/applications
|
||||
HelpHtmlroot_DATA = ../httrack-doc.html ../history.txt
|
||||
HelpHtml_DATA = *.html
|
||||
HelpHtmldiv_DATA = div/search.sh
|
||||
HelpHtmlimg_DATA = img/*
|
||||
HelpHtmlimages_DATA = images/*
|
||||
HelpHtmlTxt_DATA = ../greetings.txt ../history.txt ../license.txt
|
||||
WebHtml_DATA = server/*.html
|
||||
WebHtmlimages_DATA = server/images/*
|
||||
WebHtmlsfx_DATA = server/sfx/*
|
||||
# note: converted & normalized by
|
||||
# ico2xpm favicon.ico -o httrack.xpm
|
||||
# mogrify -format xpm -map /usr/share/doc/menu/examples/cmap.xpm httrack.xpm
|
||||
WebPixmap_DATA = server/div/*.xpm
|
||||
WebIcon16x16_DATA = server/div/16x16/*.png
|
||||
WebIcon32x32_DATA = server/div/32x32/*.png
|
||||
WebIcon48x48_DATA = server/div/48x48/*.png
|
||||
VFolderEntry_DATA = server/div/*.desktop
|
||||
EXTRA_DIST = $(HelpHtml_DATA) $(HelpHtmlimg_DATA) $(HelpHtmlimages_DATA) \
|
||||
$(HelpHtmldiv_DATA) $(WebHtml_DATA) $(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) \
|
||||
$(WebPixmap_DATA) $(WebIcon16x16_DATA) $(WebIcon32x32_DATA) $(WebIcon48x48_DATA) \
|
||||
$(VFolderEntry_DATA) \
|
||||
httrack.css
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu html/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu html/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-HelpHtmlDATA: $(HelpHtml_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(HelpHtml_DATA)'; test -n "$(HelpHtmldir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmldir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(HelpHtmldir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmldir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmldir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-HelpHtmlDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(HelpHtml_DATA)'; test -n "$(HelpHtmldir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(HelpHtmldir)'; $(am__uninstall_files_from_dir)
|
||||
install-HelpHtmlTxtDATA: $(HelpHtmlTxt_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(HelpHtmlTxt_DATA)'; test -n "$(HelpHtmlTxtdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmlTxtdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(HelpHtmlTxtdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmlTxtdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmlTxtdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-HelpHtmlTxtDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(HelpHtmlTxt_DATA)'; test -n "$(HelpHtmlTxtdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(HelpHtmlTxtdir)'; $(am__uninstall_files_from_dir)
|
||||
install-HelpHtmldivDATA: $(HelpHtmldiv_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(HelpHtmldiv_DATA)'; test -n "$(HelpHtmldivdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmldivdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(HelpHtmldivdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmldivdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmldivdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-HelpHtmldivDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(HelpHtmldiv_DATA)'; test -n "$(HelpHtmldivdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(HelpHtmldivdir)'; $(am__uninstall_files_from_dir)
|
||||
install-HelpHtmlimagesDATA: $(HelpHtmlimages_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(HelpHtmlimages_DATA)'; test -n "$(HelpHtmlimagesdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmlimagesdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(HelpHtmlimagesdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmlimagesdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmlimagesdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-HelpHtmlimagesDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(HelpHtmlimages_DATA)'; test -n "$(HelpHtmlimagesdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(HelpHtmlimagesdir)'; $(am__uninstall_files_from_dir)
|
||||
install-HelpHtmlimgDATA: $(HelpHtmlimg_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(HelpHtmlimg_DATA)'; test -n "$(HelpHtmlimgdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmlimgdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(HelpHtmlimgdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmlimgdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmlimgdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-HelpHtmlimgDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(HelpHtmlimg_DATA)'; test -n "$(HelpHtmlimgdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(HelpHtmlimgdir)'; $(am__uninstall_files_from_dir)
|
||||
install-HelpHtmlrootDATA: $(HelpHtmlroot_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(HelpHtmlroot_DATA)'; test -n "$(HelpHtmlrootdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmlrootdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(HelpHtmlrootdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmlrootdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmlrootdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-HelpHtmlrootDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(HelpHtmlroot_DATA)'; test -n "$(HelpHtmlrootdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(HelpHtmlrootdir)'; $(am__uninstall_files_from_dir)
|
||||
install-VFolderEntryDATA: $(VFolderEntry_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(VFolderEntry_DATA)'; test -n "$(VFolderEntrydir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(VFolderEntrydir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(VFolderEntrydir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(VFolderEntrydir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(VFolderEntrydir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-VFolderEntryDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(VFolderEntry_DATA)'; test -n "$(VFolderEntrydir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(VFolderEntrydir)'; $(am__uninstall_files_from_dir)
|
||||
install-WebHtmlDATA: $(WebHtml_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(WebHtml_DATA)'; test -n "$(WebHtmldir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(WebHtmldir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(WebHtmldir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebHtmldir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebHtmldir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-WebHtmlDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(WebHtml_DATA)'; test -n "$(WebHtmldir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(WebHtmldir)'; $(am__uninstall_files_from_dir)
|
||||
install-WebHtmlimagesDATA: $(WebHtmlimages_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(WebHtmlimages_DATA)'; test -n "$(WebHtmlimagesdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(WebHtmlimagesdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(WebHtmlimagesdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebHtmlimagesdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebHtmlimagesdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-WebHtmlimagesDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(WebHtmlimages_DATA)'; test -n "$(WebHtmlimagesdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(WebHtmlimagesdir)'; $(am__uninstall_files_from_dir)
|
||||
install-WebHtmlsfxDATA: $(WebHtmlsfx_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(WebHtmlsfx_DATA)'; test -n "$(WebHtmlsfxdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(WebHtmlsfxdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(WebHtmlsfxdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebHtmlsfxdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebHtmlsfxdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-WebHtmlsfxDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(WebHtmlsfx_DATA)'; test -n "$(WebHtmlsfxdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(WebHtmlsfxdir)'; $(am__uninstall_files_from_dir)
|
||||
install-WebIcon16x16DATA: $(WebIcon16x16_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(WebIcon16x16_DATA)'; test -n "$(WebIcon16x16dir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(WebIcon16x16dir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(WebIcon16x16dir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebIcon16x16dir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebIcon16x16dir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-WebIcon16x16DATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(WebIcon16x16_DATA)'; test -n "$(WebIcon16x16dir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(WebIcon16x16dir)'; $(am__uninstall_files_from_dir)
|
||||
install-WebIcon32x32DATA: $(WebIcon32x32_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(WebIcon32x32_DATA)'; test -n "$(WebIcon32x32dir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(WebIcon32x32dir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(WebIcon32x32dir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebIcon32x32dir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebIcon32x32dir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-WebIcon32x32DATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(WebIcon32x32_DATA)'; test -n "$(WebIcon32x32dir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(WebIcon32x32dir)'; $(am__uninstall_files_from_dir)
|
||||
install-WebIcon48x48DATA: $(WebIcon48x48_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(WebIcon48x48_DATA)'; test -n "$(WebIcon48x48dir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(WebIcon48x48dir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(WebIcon48x48dir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebIcon48x48dir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebIcon48x48dir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-WebIcon48x48DATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(WebIcon48x48_DATA)'; test -n "$(WebIcon48x48dir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(WebIcon48x48dir)'; $(am__uninstall_files_from_dir)
|
||||
install-WebPixmapDATA: $(WebPixmap_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(WebPixmap_DATA)'; test -n "$(WebPixmapdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(WebPixmapdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(WebPixmapdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebPixmapdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebPixmapdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-WebPixmapDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(WebPixmap_DATA)'; test -n "$(WebPixmapdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(WebPixmapdir)'; $(am__uninstall_files_from_dir)
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(HelpHtmldir)" "$(DESTDIR)$(HelpHtmlTxtdir)" "$(DESTDIR)$(HelpHtmldivdir)" "$(DESTDIR)$(HelpHtmlimagesdir)" "$(DESTDIR)$(HelpHtmlimgdir)" "$(DESTDIR)$(HelpHtmlrootdir)" "$(DESTDIR)$(VFolderEntrydir)" "$(DESTDIR)$(WebHtmldir)" "$(DESTDIR)$(WebHtmlimagesdir)" "$(DESTDIR)$(WebHtmlsfxdir)" "$(DESTDIR)$(WebIcon16x16dir)" "$(DESTDIR)$(WebIcon32x32dir)" "$(DESTDIR)$(WebIcon48x48dir)" "$(DESTDIR)$(WebPixmapdir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-HelpHtmlDATA install-HelpHtmlTxtDATA \
|
||||
install-HelpHtmldivDATA install-HelpHtmlimagesDATA \
|
||||
install-HelpHtmlimgDATA install-HelpHtmlrootDATA \
|
||||
install-VFolderEntryDATA install-WebHtmlDATA \
|
||||
install-WebHtmlimagesDATA install-WebHtmlsfxDATA \
|
||||
install-WebIcon16x16DATA install-WebIcon32x32DATA \
|
||||
install-WebIcon48x48DATA install-WebPixmapDATA
|
||||
@$(NORMAL_INSTALL)
|
||||
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-HelpHtmlDATA uninstall-HelpHtmlTxtDATA \
|
||||
uninstall-HelpHtmldivDATA uninstall-HelpHtmlimagesDATA \
|
||||
uninstall-HelpHtmlimgDATA uninstall-HelpHtmlrootDATA \
|
||||
uninstall-VFolderEntryDATA uninstall-WebHtmlDATA \
|
||||
uninstall-WebHtmlimagesDATA uninstall-WebHtmlsfxDATA \
|
||||
uninstall-WebIcon16x16DATA uninstall-WebIcon32x32DATA \
|
||||
uninstall-WebIcon48x48DATA uninstall-WebPixmapDATA
|
||||
|
||||
.MAKE: install-am install-data-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-HelpHtmlDATA \
|
||||
install-HelpHtmlTxtDATA install-HelpHtmldivDATA \
|
||||
install-HelpHtmlimagesDATA install-HelpHtmlimgDATA \
|
||||
install-HelpHtmlrootDATA install-VFolderEntryDATA \
|
||||
install-WebHtmlDATA install-WebHtmlimagesDATA \
|
||||
install-WebHtmlsfxDATA install-WebIcon16x16DATA \
|
||||
install-WebIcon32x32DATA install-WebIcon48x48DATA \
|
||||
install-WebPixmapDATA install-am install-data install-data-am \
|
||||
install-data-hook install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am uninstall \
|
||||
uninstall-HelpHtmlDATA uninstall-HelpHtmlTxtDATA \
|
||||
uninstall-HelpHtmldivDATA uninstall-HelpHtmlimagesDATA \
|
||||
uninstall-HelpHtmlimgDATA uninstall-HelpHtmlrootDATA \
|
||||
uninstall-VFolderEntryDATA uninstall-WebHtmlDATA \
|
||||
uninstall-WebHtmlimagesDATA uninstall-WebHtmlsfxDATA \
|
||||
uninstall-WebIcon16x16DATA uninstall-WebIcon32x32DATA \
|
||||
uninstall-WebIcon48x48DATA uninstall-WebPixmapDATA \
|
||||
uninstall-am
|
||||
|
||||
|
||||
install-data-hook:
|
||||
if test ! -L $(DESTDIR)$(prefix)/share/httrack/html ; then \
|
||||
( cd $(DESTDIR)$(prefix)/share/httrack \
|
||||
&& $(LN_S) $(htmldir) html \
|
||||
) \
|
||||
fi
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
@@ -1,591 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
|
||||
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
|
||||
<title>HTTrack Website Copier - Offline Browser</title>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
#siteNavigation a, #siteNavigation .current {
|
||||
font-weight: bold; color: #448;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
|
||||
#siteNavigation .current { background-color: #ccd; }
|
||||
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
.tblRegular { border-collapse: collapse; }
|
||||
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
|
||||
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
|
||||
.tblNoBorder td { border: 0; }
|
||||
|
||||
|
||||
// -->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr>
|
||||
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
|
||||
<tr>
|
||||
<td id="subTitle">Open Source offline browser</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr class="blak">
|
||||
<td>
|
||||
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
|
||||
<tr>
|
||||
<td id="pageContent">
|
||||
<!-- ==================== End prologue ==================== -->
|
||||
|
||||
<h3>For HTTrack users:</h3>
|
||||
<ul>
|
||||
<li><a href="#USERS">Advice & what <u>not</u> to do when you are using HTTrack</a></li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<h3>For webmasters having problems with bandwidth abuse / other abuses related to HTTrack:</h3>
|
||||
<ul>
|
||||
<li><a href="#WEBMASTERS">Abuse FAQ for <u>webmasters</a></u></li>
|
||||
</ul>
|
||||
|
||||
<br><br>
|
||||
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top" align="left">
|
||||
|
||||
<a name="USERS"></a>
|
||||
|
||||
|
||||
|
||||
<!-- ------------------------------------------------------------ -->
|
||||
|
||||
|
||||
|
||||
<h2 align="center"><em>Advice & what <u>not</u> to do</em></h2>
|
||||
|
||||
<center><h3>Please follow these <i>common sense</i> rules to avoid any network abuse</h3></center>
|
||||
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<li>Do not overload the websites!</li>
|
||||
<br>
|
||||
Downloading a site can overload it, if you have a fast pipe, or if you capture too many simultaneous cgi (dynamically generated pages).
|
||||
<br>
|
||||
<ul>
|
||||
<li>Do not download too large websites: use filters</li>
|
||||
<li>Do not use too many simultaneous connections</li>
|
||||
<li>Use bandwidth limits</li>
|
||||
<li>Use connection limits</li>
|
||||
<li>Use size limits</li>
|
||||
<li>Use time limits</li>
|
||||
<li>Only disable robots.txt rules with great care</li>
|
||||
<li>Try not to download during working hours</li>
|
||||
<li>Check your mirror transfer rate/size</li>
|
||||
<li>For large mirrors, first ask the webmaster of the site</li>
|
||||
</ul>
|
||||
<br>
|
||||
<li>Ensure that you can copy the website</li>
|
||||
<ul>
|
||||
<li>Are the pages copyrighted?</li>
|
||||
<li>Can you copy them only for private purpose?</li>
|
||||
<li>Do not make online mirrors unless you are authorized to do so</li>
|
||||
</ul>
|
||||
<br>
|
||||
<li>Do not overload your network</li>
|
||||
<ul>
|
||||
<li>Is your (corporate, private..) network connected through dialup ISP?</li>
|
||||
<li>Is your network bandwidth limited (and expensive)?</li>
|
||||
<li>Are you slowing down the traffic?</li>
|
||||
</ul>
|
||||
<br>
|
||||
<li>Do not steal private information</li>
|
||||
<ul>
|
||||
<li>Do not grab emails</li>
|
||||
<li>Do not grab private information</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
</table>
|
||||
<br><br>
|
||||
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top" align="left">
|
||||
|
||||
<a name="WEBMASTERS"></a>
|
||||
|
||||
|
||||
|
||||
<!-- ------------------------------------------------------------ -->
|
||||
|
||||
|
||||
|
||||
<h2 align="center"><em>Abuse FAQ for <u>webmasters</u></em></h2>
|
||||
|
||||
<center><h3>How to limit network abuse
|
||||
<br>
|
||||
HTTrack Website Copier FAQ (updated - DRAFT)
|
||||
</h3></center>
|
||||
|
||||
<br>
|
||||
Q: <strong>How to block offline browsers, like HTTrack?</strong><br>
|
||||
<br>
|
||||
A: <strong>This is a complex question, let's study it</strong><br>
|
||||
<br>
|
||||
First, there are several different reasons for that<br>
|
||||
Why do you want to block offline browsers? :<br>
|
||||
<br>
|
||||
<ol>
|
||||
<li><a href="#ABUSE1">Because a large part of your bandwidth is used by some users, who are slowing down the rest</a></li>
|
||||
<li><a href="#ABUSE2">Because of copyright questions (you do not want people to copy parts of your website)</a></li>
|
||||
<li><a href="#ABUSE3">Because of privacy (you do not want email grabbers to steal all your user's emails)</a></li>
|
||||
</ol>
|
||||
<br>
|
||||
<br>
|
||||
<ol>
|
||||
|
||||
<a name="ABUSE1"></a>
|
||||
<li>Bandwidth abuse:<br>
|
||||
<br>
|
||||
Many Webmasters are concerned about bandwidth abuse, even if this problem is caused by
|
||||
a minority of people. Offline browsers tools, like HTTrack, can be used in a WRONG way,
|
||||
and
|
||||
therefore are sometimes considered as a potential danger.<br>
|
||||
But before thinking that all offline browsers are BAD, consider this:
|
||||
students, teachers, IT consultants, websurfers and many people who like your website, may
|
||||
want to copy
|
||||
parts of it, for their work, their studies, to teach or demonstrate to people during class
|
||||
school or
|
||||
shows. They might do that because they are connected through expensive modem connection,
|
||||
or because they would like to consult pages while travelling, or archive sites that may be
|
||||
removed
|
||||
one day, make some data mining, comiling information ("if only I could find this
|
||||
website I saw one day.."). <br>
|
||||
There are many good reasons to mirror websites, and this helps many good people.<br>
|
||||
As a webmaster, you might be interested to use such tools, too: test broken links, move a
|
||||
website to
|
||||
another location, control which external links are put on your website for legal/content
|
||||
control,
|
||||
test the webserver response and performances, index it..<br>
|
||||
<br>
|
||||
Anyway, bandwidth abuse can be a problem. If your site is regularly "clobbered"
|
||||
by evil downloaders, you have <br>
|
||||
various solutions. You have radical solutions, and intermediate solutions. I strongly
|
||||
recomment not to use<br>
|
||||
radical solutions, because of the previous remarks (good people often mirror websites).<br>
|
||||
<br>
|
||||
In general, for all solutions,<br>
|
||||
the good thing: it will limit the bandwidth abuse<br>
|
||||
the bad thing: depending on the solution, it will be either a small constraint, or a fatal
|
||||
nuisance (you'll get 0 visitors)<br>
|
||||
or, to be extreme: if you unplug the wire, there will be no bandwidth abuse<br>
|
||||
<br>
|
||||
<ol type="a">
|
||||
|
||||
<li>Inform people, explain why ("please do not clobber the bandwidth")<br>
|
||||
Good: Will work with good people. Many good people just don't KNOW that they can slow down
|
||||
a network.<br>
|
||||
Bad: Will **only** work with good people<br>
|
||||
How to do: Obvious - place a note, a warning, an article, a draw, a poeme or whatever you
|
||||
want<br>
|
||||
<br>
|
||||
</li><li>Use "robots.txt" file<br>
|
||||
Good: Easy to setup<br>
|
||||
Bad: Easy to override<br>
|
||||
How to do: Create a robots.txt file on top dir, with proper parameters<br>
|
||||
Example:<br>
|
||||
User-agent: *<br>
|
||||
<br>
|
||||
Disallow: /bigfolder<br>
|
||||
<br>
|
||||
</li><li>Ban registered offline-browsers User-agents<br>
|
||||
Good: Easy to setup<br>
|
||||
Bad: Radical, and easy to override<br>
|
||||
How to do: Filter the "User-agent" HTTP header field<br>
|
||||
<br>
|
||||
</li><li>Limit the bandwidth per IP (or by folders)<br>
|
||||
Good: Efficient<br>
|
||||
Bad: Multiple users behind proxies will be slow down, not really easy to setup<br>
|
||||
How to do: Depends on webserver. Might be done with low-level IP rules (QoS)<br>
|
||||
<br>
|
||||
</li><li>Priorize small files, against large files<br>
|
||||
Good: Efficient if large files are the cause of abuse<br>
|
||||
Bad: Not always efficient<br>
|
||||
How to do: Depends on the webserver<br>
|
||||
<br>
|
||||
</li><li>Ban abuser IPs<br>
|
||||
Good: Immediate solution<br>
|
||||
Bad: Annoying to do, useless for dynamic IPs, and not very user friendly<br>
|
||||
How to do: Either ban IP's on the firewall, or on the webserver (see ACLs)<br>
|
||||
<br>
|
||||
</li><li>Limit abusers IPs<br>
|
||||
Good: Intermediate and immediate solution<br>
|
||||
Bad: Annoying to do, useless for dynamic IPs, and annoying to maintain..<br>
|
||||
How to do: Use routine QoS (fair queuing), or webserver options<br>
|
||||
<br>
|
||||
</li><li>Use technical tricks (like javascript) to hide URLs<br>
|
||||
Good: Efficient<br>
|
||||
Bad: The most efficient tricks will also cause your website to he heavy, and not
|
||||
user-friendly (and therefore less attractive, even for surfing users). Remember: clients
|
||||
or visitors might want to consult offline your website. Advanced users will also be still
|
||||
able to note the URLs and catch them. Will not work on non-javascript browsers. It will
|
||||
not work if the user clicks 50 times and put downloads in background with a standard
|
||||
browser<br>
|
||||
How to do: Most offline browsers (I would say all, but let's say most) are unable to
|
||||
"understand" javascript/java properly. Reason: very tricky to handle!<br>
|
||||
Example: <br>
|
||||
You can replace:<br>
|
||||
|
||||
<tt>
|
||||
<a href="bigfile.zip">Foo</a><br>
|
||||
</tt>
|
||||
|
||||
by:<br>
|
||||
<tt>
|
||||
<script language="javascript"><br>
|
||||
<!--<br>
|
||||
document.write('<a h' + 're' + 'f="');<br>
|
||||
document.write('bigfile' + '.' + 'zip">');<br>
|
||||
// --><br>
|
||||
</script><br>
|
||||
Foo<br>
|
||||
</a><br>
|
||||
</tt>
|
||||
<br>
|
||||
You can also use java-based applets. I would say that it is the "best of the
|
||||
horrors". A big, fat, slow, bogus java applet. Avoid!<br>
|
||||
<br>
|
||||
</li><li>Use technical tricks to lag offline browsers<br>
|
||||
Good: Efficient<br>
|
||||
Bad: Can be avoided by advanced users, annoying to maintain, AND potentially worst that
|
||||
the illness (cgi's are often taking some CPU usage). . It will not work if the user clicks
|
||||
50 times and put downloads in background with a standard browser<br>
|
||||
How to do: Create fake empty links that point to cgi's, with long delays<br>
|
||||
Example: Use things like
|
||||
|
||||
<tt>
|
||||
<ahref="slow.cgi?p=12786549"><nothing></a> (example in php:)<br>
|
||||
<?php<br>
|
||||
for($i=0;$i<10;$i++) {<br>
|
||||
sleep(6);<br>
|
||||
echo " ";<br>
|
||||
}<br>
|
||||
?><br>
|
||||
</tt>
|
||||
|
||||
<br>
|
||||
</li><li>Use technical tricks to temporarily ban IPs<br>
|
||||
Good: Efficient<br>
|
||||
Bad: Radical (your site will only be available online for all users), not easy to setup<br>
|
||||
How to to: Create fake links with "killing" targets<br>
|
||||
Example: Use things like <a href="killme.cgi"><nothing></a>
|
||||
(again an example in php:)<br>
|
||||
<tt>
|
||||
<pre>
|
||||
<?php
|
||||
// Add IP.
|
||||
add_temp_firewall_rule($REMOTE_ADDR,"30s");
|
||||
?>
|
||||
function add_temp_firewall_rule($addr) {
|
||||
// The chain chhttp is flushed in a cron job to avoid ipchains overflow
|
||||
system("/usr/bin/sudo -u root /sbin/ipchains -I 1 chhttp -p tcp -s ".$addr." --dport 80 -j REJECT");
|
||||
syslog("user rejected due to too many copy attemps : ".$addr);
|
||||
}
|
||||
|
||||
<pre>
|
||||
|
||||
</tt>
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<a name="ABUSE2"></a>
|
||||
<li>Copyright issues<br>
|
||||
<br>
|
||||
You do not want people to "steal" your website, or even copy parts of it. First,
|
||||
stealing a website does not<br>
|
||||
require to have an offline browser. Second, direct (and credited) copy is sometimes better
|
||||
than disguised <br>
|
||||
plagiarism. Besides, several previous remarks are also interesting here: the more
|
||||
protected your website will be,<br>
|
||||
the potentially less attractive it will also be. There is no perfect solution, too. A
|
||||
webmaster asked me one day<br>
|
||||
to give him a solution to prevent any website copy. Not only for offline browsers, but
|
||||
also against "save as", <br>
|
||||
cut and paste, print.. and print screen. I replied that is was not possible, especially
|
||||
for the print screen - and<br>
|
||||
that another potential threat was the evil photographer. Maybe with a "this document
|
||||
will self-destruct in 5 seconds.."<br>
|
||||
or by shooting users after consulting the document.<br>
|
||||
More seriously, once a document is being placed on a website, there will always be the
|
||||
risks of copy (or plagiarism)<br>
|
||||
<br>
|
||||
To limit the risk, previous a- and h- solutions, in "bandwidth abuse" section,
|
||||
can be used<br>
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
|
||||
<a name="ABUSE3"></a>
|
||||
<li>Privacy<br>
|
||||
<br>
|
||||
Might be related to section 2.<br>
|
||||
But the greatest risk is maybe email grabbers. <br>
|
||||
<br>
|
||||
<ol type="a">
|
||||
<li>A solution can be to use javascript to hide emails. <br>
|
||||
Good: Efficient<br>
|
||||
Bad: Non-javascript browsers will not have the "clickable" link<br>
|
||||
How to do: Use javascript to build mailto: links<br>
|
||||
Example:<br>
|
||||
<tt>
|
||||
<script language="javascript"><br>
|
||||
<!--<br>
|
||||
function FOS(host,nom,info) {<br>
|
||||
var s;<br>
|
||||
if (info == "") info=nom+"@"+host;<br>
|
||||
s="mail";<br>
|
||||
document.write("<a href='"+s+"to:"+nom+"@"+host+"'>"+info+"</a>");<br>
|
||||
}<br>
|
||||
FOS('mycompany.com','smith?subject=Hi, John','Click here to email me!')<br>
|
||||
// --><br>
|
||||
</script><br>
|
||||
<noscript><br>
|
||||
smith at mycompany dot com<br>
|
||||
</noscript><br>
|
||||
</tt>
|
||||
<br>
|
||||
</li><li>Another one is to create images of emails<br>
|
||||
Good: Efficient, does not require javascript<br>
|
||||
Bad: There is still the problem of the link (mailto:), images are bigger than text, and it can cause problems for blind people (a good solution is use an ALT attribute with the email written like "smith at mycompany dot com")<br>
|
||||
How to do: Not so obvious of you do not want to create images by yourself<br>
|
||||
Example: (php, Unix)<br>
|
||||
|
||||
<tt>
|
||||
<?php<br>
|
||||
/*<br>
|
||||
Email contact displayer<br>
|
||||
Usage: email.php3?id=<4 bytes of user's md5><br>
|
||||
The <4 bytes of user's md5> can be calculated using the 2nd script (see below)<br>
|
||||
Example: http://yourhost/email.php3?id=91ff1a48<br>
|
||||
*/<br>
|
||||
$domain="mycompany.com";<br>
|
||||
$size=12;<br>
|
||||
<br>
|
||||
/* Find the user in the system database */<br>
|
||||
if (!$id)<br>
|
||||
exit;<br>
|
||||
unset($email);<br>
|
||||
unset($name);<br>
|
||||
unset($pwd);<br>
|
||||
unset($apwd);<br>
|
||||
$email="";<br>
|
||||
$name="";<br>
|
||||
$fp=@fopen("/etc/passwd","r");<br>
|
||||
if ($fp) {<br>
|
||||
$pwd=@fread($fp,filesize("/etc/passwd"));<br>
|
||||
@fclose($fp);<br>
|
||||
}<br>
|
||||
$apwd=split("\n",$pwd);<br>
|
||||
foreach($apwd as $line) {<br>
|
||||
$fld=split(":",$line);<br>
|
||||
if (substr(md5($fld[0]),0,8) == $id) {<br>
|
||||
$email=$fld[0]."@".$domain;<br>
|
||||
$nm=substr($fld[4],0,strpos($fld[4],","));<br>
|
||||
$name=$email;<br>
|
||||
if ($nm)<br>
|
||||
$name="\"".$nm."\" <".$email.">";<br>
|
||||
}<br>
|
||||
}<br>
|
||||
if (!$name)<br>
|
||||
exit;<br>
|
||||
<br>
|
||||
/* Create and show the image */<br>
|
||||
Header ("Content-type: image/gif");<br>
|
||||
$im = imagecreate ($size*strlen($name), $size*1.5);<br>
|
||||
$black = ImageColorAllocate ($im, 255, 255, 255);<br>
|
||||
$white = ImageColorAllocate ($im, 0,0,0);<br>
|
||||
ImageTTFText($im, $size, 0, 0, $size , $white,
|
||||
"/usr/share/enlightenment/E-docs/aircut3.ttf",$name);<br>
|
||||
ImageGif ($im);<br>
|
||||
ImageDestroy ($im);<br>
|
||||
?><br>
|
||||
<br>
|
||||
</tt>
|
||||
|
||||
The script to find the id:<br>
|
||||
<br>
|
||||
|
||||
<tt>
|
||||
#!/bin/sh<br>
|
||||
<br>
|
||||
# small script for email.php3<br>
|
||||
echo "Enter login:"<br>
|
||||
read login<br>
|
||||
echo "The URL is:"<br>
|
||||
printf "http://yourhost/email.php3?id="<br>
|
||||
printf $login|md5sum|cut -c1-8<br>
|
||||
echo <br>
|
||||
<br>
|
||||
</tt>
|
||||
|
||||
</li><li>You can also create temporary email aliases, each week, for all users<br>
|
||||
Good: Efficient, and you can give your real email in your reply-to address<br>
|
||||
Bad: Temporary emails<br>
|
||||
How to do: Not so hard todo<br>
|
||||
Example: (script & php, Unix)<br>
|
||||
|
||||
<tt>
|
||||
#!/bin/sh<br>
|
||||
#<br>
|
||||
# Anonymous random aliases for all users<br>
|
||||
# changed each week, to avoid spam problems<br>
|
||||
# on websites<br>
|
||||
# (to put into /etc/cron.weekly/)<br>
|
||||
<br>
|
||||
# Each alias is regenerated each week, and valid for 2 weeks<br>
|
||||
<br>
|
||||
# prefix for all users<br>
|
||||
# must not be the prefix of another alias!<br>
|
||||
USER_PREFIX="user-"<br>
|
||||
<br>
|
||||
# valid for 2 weeks<br>
|
||||
ALIAS_VALID=2<br>
|
||||
<br>
|
||||
# random string<br>
|
||||
SECRET="my secret string `hostname -f`"<br>
|
||||
<br>
|
||||
# build<br>
|
||||
grep -vE "^$USER_PREFIX" /etc/aliases > /etc/aliases.new<br>
|
||||
for i in `cut -f1 -d':' /etc/passwd`; do<br>
|
||||
if test `id -u $i` -ge 500; then<br>
|
||||
off=0<br>
|
||||
while test "$off" -lt $ALIAS_VALID; do<br>
|
||||
THISWEEK="`date +'%Y'` $[`date +'%U'`-$off]"<br>
|
||||
SECRET="`echo \"$SECRET $i $THISWEEK\" | md5sum | cut -c1-4`"<br>
|
||||
FIRST=`echo $i | cut -c1-3`<br>
|
||||
NAME="$USER_PREFIX$FIRST$SECRET"<br>
|
||||
echo "$NAME : $i" >> /etc/aliases.new<br>
|
||||
#<br>
|
||||
off=$[$off+1]<br>
|
||||
done<br>
|
||||
fi<br>
|
||||
done<br>
|
||||
<br>
|
||||
# move file<br>
|
||||
mv -f /etc/aliases /etc/aliases.old<br>
|
||||
mv -f /etc/aliases.new /etc/aliases<br>
|
||||
<br>
|
||||
# update aliases<br>
|
||||
newaliases<br>
|
||||
<br>
|
||||
</tt>
|
||||
|
||||
And then, put the email address in your pages through:
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<tt>
|
||||
<a href="mailto:<?php<br>
|
||||
$user="smith";<br>
|
||||
$alias=exec("grep ".$user." /etc/aliases | cut -f1 -d' ' | head -n1");<br>
|
||||
print $alias;<br>
|
||||
?>@mycompany.com>>
|
||||
</tt>
|
||||
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
<!-- ------------------------------------------------------------ -->
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<!-- ==================== Start epilogue ==================== -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td id="footer"><small>© 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -1,155 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
|
||||
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
|
||||
<title>HTTrack Website Copier - Offline Browser</title>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
#siteNavigation a, #siteNavigation .current {
|
||||
font-weight: bold; color: #448;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
|
||||
#siteNavigation .current { background-color: #ccd; }
|
||||
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
.tblRegular { border-collapse: collapse; }
|
||||
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
|
||||
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
|
||||
.tblNoBorder td { border: 0; }
|
||||
|
||||
|
||||
// -->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr>
|
||||
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
|
||||
<tr>
|
||||
<td id="subTitle">Open Source offline browser</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr class="blak">
|
||||
<td>
|
||||
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
|
||||
<tr>
|
||||
<td id="pageContent">
|
||||
<!-- ==================== End prologue ==================== -->
|
||||
|
||||
<h2 align="center"><em>Add a URL</em></h2>
|
||||
|
||||
<br>
|
||||
|
||||
<ol>
|
||||
<li>Enter a typical Web address</li>
|
||||
<br><small>Just type in your address in the field</small><br><br>
|
||||
<center><img src="img/addurl1.gif" border="0"></center>
|
||||
<br><br>OR<br><br>
|
||||
<li>Enter a Web address with authentication</li>
|
||||
<br><small>Useful when you need basic authentication to watch the Web page</small><br><br>
|
||||
<center><img src="img/addurl2.gif" border="0"></center>
|
||||
<br><br>OR<br><br>
|
||||
<li>Capture a link from your Web browser to HTTrack</li>
|
||||
<br><small>Use this tool only for form-based pages (pages delivered after submiting a form) that need some analysis</small><br><br>
|
||||
<center><img src="img/addurl3.gif" border="0"></center>
|
||||
<br>
|
||||
<br>
|
||||
<small>Set, as explained, your Web browser proxy preferences to the values indicated : set the proxy's address, and the proxy's port,
|
||||
then click on the button or link as you usually do in your Web browser.
|
||||
<br>The temporary proxy, installed by HTTrack, will then
|
||||
capture the link and display a confirmation page.
|
||||
<br><br>
|
||||
</small>
|
||||
<center><img src="img/addurl4.gif" border="0"></center>
|
||||
<br>
|
||||
<center><img src="img/addurl5.gif" border="0"></center>
|
||||
</ol>
|
||||
|
||||
<br><br><br><br>
|
||||
<p align="right">Back to <a href="index.html">Home</a></p>
|
||||
|
||||
<!-- ==================== Start epilogue ==================== -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td id="footer"><small>© 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,293 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
|
||||
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
|
||||
<title>HTTrack Website Copier - Cache format specification</title>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
#siteNavigation a, #siteNavigation .current {
|
||||
font-weight: bold; color: #448;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
|
||||
#siteNavigation .current { background-color: #ccd; }
|
||||
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
.tblRegular { border-collapse: collapse; }
|
||||
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
|
||||
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
|
||||
.tblNoBorder td { border: 0; }
|
||||
|
||||
|
||||
// -->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr>
|
||||
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
|
||||
<tr>
|
||||
<td id="subTitle">Open Source offline browser</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr class="blak">
|
||||
<td>
|
||||
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
|
||||
<tr>
|
||||
<td id="pageContent">
|
||||
<!-- ==================== End prologue ==================== -->
|
||||
|
||||
<h2 align="center"><em>Cache format specification</em></h2>
|
||||
|
||||
<br />
|
||||
|
||||
For updating purpose, HTTrack stores original (untouched) HTML data,
|
||||
references to downloaded files, and other meta-data (especially parts of the HTTP headers) in a cache,
|
||||
located in the hts-cache directory. Because local html pages are always modified to "fit" the local
|
||||
filesystem structure, and because meta-data such as the last-Modified date and Etag can not be stored
|
||||
with the associated files, the cache is absolutely mandatory for reprocessing (update/continue) phases.
|
||||
|
||||
<br /><br />
|
||||
|
||||
<h3>The (new) cache.zip format</h3>
|
||||
|
||||
The 3.31 release of HTTrack introduces a new cache format, more extensible and efficient than the previous one (ndx/dat format).
|
||||
|
||||
The main advantages of this cache are:
|
||||
|
||||
<ul>
|
||||
<li>One single file for a complete website cache archive</li>
|
||||
<li>Standard <a href="http://www.pkware.com/products/enterprise/white_papers/appnote.txt" target="_new">ZIP</a> format, that can be easily reused on most platforms and languages</li>
|
||||
<li>Compressed data with the efficient and opened <a href="http://www.gzip.org/zlib/" target="_new">zlib</a> format</li>
|
||||
</ul>
|
||||
|
||||
The cache is made of ZIP files entries ; with one ZIP file entry per fetched URL (successfully or not - errors are also stored).<br />
|
||||
For each entry:
|
||||
<ul>
|
||||
<li>The ZIP file name is the original URL [<small><a href="#orig">see notes below</a></small>]</li>
|
||||
<li>The ZIP file contents, <b>if available</b>, is the original (compressed, using the deflate algorythm) data</li>
|
||||
<li>The ZIP file extra field (in the local file header) contains a list of meta-fields, very similar to the <a href="http://www.ietf.org/rfc/rfc2616.txt?number=2616" target="new_">HTTP</a> headers fields. See also <a href="http://www.ietf.org/rfc/rfc2396.txt?number=2396" target="new_">RFC</a>.</li><br />
|
||||
<li>The ZIP file timestamp follows the "Last-Modified-Since" field given for this URL, if any</li>
|
||||
</ul>
|
||||
|
||||
Example of cache file:
|
||||
<br />
|
||||
|
||||
<pre>
|
||||
$ unzip -l hts-cache/new.zip
|
||||
Archive: hts-cache/new.zip
|
||||
HTTrack Website Copier/3.31-ALPHA-4 mirror complete in 3 seconds : 5 links scanned,
|
||||
3 files written (16109 bytes overall) [17690 bytes received at 5896 bytes/sec]
|
||||
(1 errors, 0 warnings, 0 messages)
|
||||
Length Date Time Name
|
||||
-------- ---- ---- ----
|
||||
94 07-18-03 08:59 http://www.httrack.com/robots.txt
|
||||
9866 01-17-04 01:09 http://www.httrack.com/html/cache.html
|
||||
0 05-11-03 13:31 http://www.httrack.com/html/images/bg_rings.gif
|
||||
207 01-19-04 05:49 http://www.httrack.com/html/fade.gif
|
||||
0 05-11-03 13:31 http://www.httrack.com/html/images/header_title_4.gif
|
||||
-------- -------
|
||||
10167 5 files
|
||||
</pre>
|
||||
|
||||
Example of cache file meta-data:
|
||||
<br />
|
||||
|
||||
<pre>
|
||||
HTTP/1.1 200 OK
|
||||
X-In-Cache: 1
|
||||
X-StatusCode: 200
|
||||
X-StatusMessage: OK
|
||||
X-Size: 94
|
||||
Content-Type: text/plain
|
||||
Last-Modified: Fri, 18 Jul 2003 08:59:11 GMT
|
||||
Etag: "40ebb5-5e-3f17b6df"
|
||||
X-Addr: www.httrack.com
|
||||
X-Fil: /robots.txt
|
||||
</pre>
|
||||
|
||||
There are also specific issues regarding this format:
|
||||
|
||||
<ul>
|
||||
<li>The data in the central directory (such as CD extra field, and CD comments) are not used</li>
|
||||
<li>The ZIP archive is allowed to contains more than 2^16 files (65535) ; in such case the total number of entries in the 32-bit central directory is 65536 (0xffff), but the presence of the 64-bit central directory is not mandatory</li>
|
||||
<li>The ZIP archive is allowed to contains more than 2^32 bytes (4GiB) ; in such case the 64-bit central directory must be present <b>(not currently supported)</b></li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
<b>Meta-data stored in the "extra field" of the local file headers</b><br />
|
||||
|
||||
The extra field is composed of text data, and this text data is composed of distinct lines of headers.
|
||||
The end of text, <b>or</b> a double CR/LF, mark the end of this zone.
|
||||
This method allows you to optionally store original HTTP headers just after the "meta-data" headers for informational use.<br />
|
||||
|
||||
<br />
|
||||
<b>The status line (the first headers line)</b><br />
|
||||
|
||||
Status-Line = HTTP-Version SP Status-Code SP X-Reason-Phrase CRLF<br />
|
||||
|
||||
<br />
|
||||
<b>Other lines:</b><br />
|
||||
|
||||
<br />
|
||||
<b>Specific fields:</b><br />
|
||||
<ul>
|
||||
<li>X-In-Cache</li><br>
|
||||
Indicates if the data are present (value=1) in the cache (that is, as ZIP data), or in an external file (value=0).
|
||||
This field MUST be the first field.
|
||||
|
||||
<li>X-StatusCode</li><br>
|
||||
The modified (by httrack) status code after processing. 304 error codes ("Not modified"), for example, are transformed into "200" codes after processing.
|
||||
|
||||
<li>X-StatusMessage</li><br>
|
||||
The modified (by httrack) status message.
|
||||
|
||||
<li>X-Size</li><br>
|
||||
The stored (either in cache, or in an external file) data size.
|
||||
|
||||
<li>X-Charset</li><br>
|
||||
The original charset.
|
||||
|
||||
<li>X-Addr</li><br>
|
||||
The original URL address part.
|
||||
|
||||
<li>X-Fil</li><br>
|
||||
The original URL path part.
|
||||
|
||||
<li>X-Save</li><br>
|
||||
The local filename, depending on user's "build structure" preferences.
|
||||
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
<b>Standard (RFC 2616) "useful" fields:</b><br />
|
||||
<ul>
|
||||
<li>Content-Type</li>
|
||||
<li>Last-Modified</li>
|
||||
<li>Etag</li>
|
||||
<li>Location</li>
|
||||
<li>Content-Disposition</li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
<b>Specific fields in "BNF-like" grammar:</b><br />
|
||||
|
||||
<pre>
|
||||
X-In-Cache = "X-In-Cache" ":" 1*DIGIT
|
||||
X-StatusCode = "X-StatusCode" ":" 1*DIGIT
|
||||
X-StatusMessage = "X-StatusMessage" ":" *<TEXT, excluding CR, LF>
|
||||
X-Size = "X-Size" ":" 1*DIGIT
|
||||
X-Charset = "X-Charset" ":" value
|
||||
X-Addr = "X-Addr" ":" scheme ":" "//" authority
|
||||
X-Fil = "X-Fil" ":" rel_path
|
||||
X-Save = "X-Save" ":" rel_path
|
||||
</pre>
|
||||
|
||||
<b>RFC standard fields:</b><br />
|
||||
|
||||
<pre>
|
||||
Content-Type = "Content-Type" ":" media-type
|
||||
Last-Modified = "Last-Modified" ":" HTTP-date
|
||||
Etag = "ETag" ":" entity-tag
|
||||
Location = "Location" ":" absoluteURI
|
||||
Content-Disposition = "Content-Disposition" ":" disposition-type *( ";" disposition-parm )
|
||||
</pre>
|
||||
|
||||
<br />
|
||||
And, for your information,
|
||||
<pre>
|
||||
X-Reason-Phrase = *<TEXT, with a maximum of 32 characters, and excluding CR, LF>
|
||||
</pre>
|
||||
|
||||
|
||||
<a name="orig">Note: Because the URLs may have an unexpected format, especially with double "/" inside, and other reserved characters ("?", "&" ..),
|
||||
various ZIP uncompressors can potentially have troubles accessing or decompressing the data.
|
||||
Libraries should generally handle this peculiar format, however.
|
||||
</a>
|
||||
|
||||
<br /><br />
|
||||
|
||||
<!-- ==================== Start epilogue ==================== -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td id="footer"><small>© 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,155 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
|
||||
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
|
||||
<title>HTTrack Website Copier - Offline Browser</title>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
#siteNavigation a, #siteNavigation .current {
|
||||
font-weight: bold; color: #448;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
|
||||
#siteNavigation .current { background-color: #ccd; }
|
||||
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
.tblRegular { border-collapse: collapse; }
|
||||
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
|
||||
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
|
||||
.tblNoBorder td { border: 0; }
|
||||
|
||||
|
||||
// -->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr>
|
||||
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
|
||||
<tr>
|
||||
<td id="subTitle">Open Source offline browser</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr class="blak">
|
||||
<td>
|
||||
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
|
||||
<tr>
|
||||
<td id="pageContent">
|
||||
<!-- ==================== End prologue ==================== -->
|
||||
|
||||
<h2 align="center"><em>Command-Line Documentation</em></h2>
|
||||
|
||||
<br>
|
||||
|
||||
The command-line version
|
||||
|
||||
<ul>
|
||||
<li><a href="options.html">Command line Options</a></li>
|
||||
<br>List of all powerful command line options<br><br>
|
||||
<li>How to use httrack command-line version:</li>
|
||||
<ul>
|
||||
<li>Open a shell window</li>
|
||||
<br>
|
||||
<br>
|
||||
<li>Type in <tt>httrack</tt> (or the complete path to the httrack executable)</li>
|
||||
<br><small><tt>httrack</tt></small>
|
||||
<br>
|
||||
<br>
|
||||
<li>Add the URLs, separated by a blank space</li>
|
||||
<br><small><tt>httrack www.someweb.com/foo/</tt></small>
|
||||
<br>
|
||||
<br>
|
||||
<li>If you need, add some options (see the <a href="options.html">option list</a>)</li>
|
||||
<br><small><tt>httrack www.someweb.com/foo/ -O "/webs" -N4 -P proxy.myhost.com:3128</tt></small>
|
||||
<br>
|
||||
<br>
|
||||
<li>Launch the command line, and wait until the mirror is finishing</li>
|
||||
<br><small>You can (especially on the Unix release) press ^C to stop the mirror or put httrack in background</small>
|
||||
<br>
|
||||
<br>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<!-- ==================== Start epilogue ==================== -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td id="footer"><small>© 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,270 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
|
||||
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
|
||||
<title>HTTrack Website Copier - Offline Browser</title>
|
||||
|
||||
<script language="javascript">
|
||||
<!--
|
||||
function FOS(host,nom,info) {
|
||||
var s;
|
||||
if (info == "") info=nom+"@"+host;
|
||||
s="mail";
|
||||
document.write("<a href='"+s+"to:"+nom+"@"+host+"'>"+info+"</a>");
|
||||
}
|
||||
// -->
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
#siteNavigation a, #siteNavigation .current {
|
||||
font-weight: bold; color: #448;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
|
||||
#siteNavigation .current { background-color: #ccd; }
|
||||
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
.tblRegular { border-collapse: collapse; }
|
||||
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
|
||||
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
|
||||
.tblNoBorder td { border: 0; }
|
||||
|
||||
|
||||
// -->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr>
|
||||
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
|
||||
<tr>
|
||||
<td id="subTitle">Open Source offline browser</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr class="blak">
|
||||
<td>
|
||||
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
|
||||
<tr>
|
||||
<td id="pageContent">
|
||||
<!-- ==================== End prologue ==================== -->
|
||||
|
||||
<h2 align="center"><em>Contact Us!</em></h2>
|
||||
|
||||
<br>
|
||||
|
||||
<h3>
|
||||
<center>
|
||||
<a href="http://www.httrack.com/" target="_blank">Please visit our website!</a>
|
||||
<br>
|
||||
</center>
|
||||
</h3>
|
||||
|
||||
<b>About this project:</b>
|
||||
|
||||
|
||||
<pre>
|
||||
Informations on this project:
|
||||
|
||||
This project has been developed by:
|
||||
Xavier Roche (xroche at httrack dot com)
|
||||
for the main engine and Windows interface
|
||||
and maintainer for v2.0 and v3.0
|
||||
Yann Philippot (yphilippot at lemel dot fr)
|
||||
for the java binary dot class parser
|
||||
David Lawrie (dalawrie at lineone dot net)
|
||||
Robert Lagadec (rlagadec at yahoo dot fr)
|
||||
for checking both English & French translations
|
||||
Juan Pablo Barrio Lera (University of León)
|
||||
for Spanish translations
|
||||
Rainer Klueting (rainer at klueting dot de)
|
||||
Bastian Gorke (bastiang at yahoo dot com)
|
||||
Rudi Ferrari (Wyando at netcologne dot de)
|
||||
Marcus Gaza (MarcusGaza at t-online dot de)
|
||||
for German translations
|
||||
Rudi Ferrari (Wyando at netcologne dot de)
|
||||
for Dutch translations
|
||||
Lukasz Jokiel (Opole University of Technology, Lukasz dot Jokiel at po dot opole dot pl)
|
||||
for Polish translations
|
||||
Rui Fernandes (CANTIC, ruiefe at mail dot malhatlantica dot pt)
|
||||
Pedro T dot Pinheiro (Universidade Nova de Lisboa-FCT, ptiago at mail dot iupi dot pt)
|
||||
for Portuguese translations
|
||||
Andrei Iliev (iliev at vitaplus dot ru)
|
||||
for Russian translations
|
||||
Witold Krakowski (wtkrak at netscape dot net )
|
||||
for Italian translations
|
||||
Jozsef Tamas Herczeg (hdodi at freemail dot hu)
|
||||
for Hungarian translation
|
||||
Paulo Neto (company at layout dot com dot br)
|
||||
for Brazilian translation
|
||||
Brook Qin (brookqwr at sina dot com)
|
||||
for simplified Chinese translation
|
||||
David Hing Cheong Hung (DAVEHUNG at mtr dot com dot hk)
|
||||
Addy Lin (addy1975 at pchome dot com dot tw)
|
||||
for traditional Chinese translation
|
||||
Jesper Bramm (bramm at get2net dot dk)
|
||||
for Danish translation
|
||||
Tõnu Virma
|
||||
for Estonian translation
|
||||
Staffan Ström (staffan at fam-strom dot org)
|
||||
for Swedish translation
|
||||
Mehmet Akif Köeoðlu (mak at ttnet dot net dot tr)
|
||||
for Turkish translation
|
||||
Aleksandar Savic (aleks at macedonia dot eu dot org)
|
||||
for Macedonian translation
|
||||
Takayoshi Nakasikiryo
|
||||
for Japanese translation
|
||||
Martin Sereday (sereday at slovanet dot sk)
|
||||
for Slovak translation
|
||||
Antonín Matìjèík (matejcik at volny dot cz)
|
||||
for Czech translation
|
||||
Andrij Shevchuk (http://programy dot com dot ua)
|
||||
for Ukrainian translation
|
||||
Tobias "Spug" Langhoff (spug_enigma at hotmail dot com)
|
||||
for Norwegian translation
|
||||
Jadran Rudeciur (jrudec at email dot si)
|
||||
for Slovenian translation
|
||||
Alin Gheorghe Miron (miron dot alin at personal dot ro)
|
||||
for Romanian translation
|
||||
Michael Papadakis (mikepap at freemail dot gr)
|
||||
for Greek translation
|
||||
|
||||
Thanks to:
|
||||
Leto Kauler (molotov at tasmail dot com)
|
||||
for the site/logos design
|
||||
|
||||
Special Thanks to:
|
||||
Patrick Ducrot & Daniel Carré (ENSI of Caen)
|
||||
for their initial support
|
||||
Fred Cohen (fc at all dot net)
|
||||
for HTTrack user's guide
|
||||
|
||||
Greetings to:
|
||||
Christian Marillat (marillat dot christian at wanadoo dot fr)
|
||||
for autoconf compliance and .deb package
|
||||
Jean-loup Gailly from gzip dot org
|
||||
for the help provided with Zlib
|
||||
Eric A dot Young (eay at cryptsoft dot com)
|
||||
for SSL cryptographic material (OpenSSL)
|
||||
|
||||
Russ Freeman from gipsymedia
|
||||
for hints on DLL dynamic load
|
||||
Paul DiLascia
|
||||
for helping to fix problems with CHtmlView
|
||||
ISMRA/Ensi of Caen
|
||||
for their initial support
|
||||
.. and all users that are using and supporting HTTrack!
|
||||
|
||||
</pre>
|
||||
<hr>
|
||||
<br>
|
||||
|
||||
If you want to ask any question to the authors, report bugs/problems,
|
||||
please first check the <a href="http://forum.httrack.com">HTTrack Website Copier forum</a>.<br>
|
||||
You can also contact by email, but due to the large volume of messages, it is impossible
|
||||
to always respond (especially for configuration help or other configuration-related
|
||||
questions).
|
||||
<br>
|
||||
|
||||
<script language="javascript">
|
||||
<!--
|
||||
FOS('httrack.com','httrack','httrack at httrack dot com (HTTrack project)');
|
||||
document.write('<br>');
|
||||
FOS('httrack.com','roche','roche at httrack dot com (Xavier ROCHE)');
|
||||
// -->
|
||||
</script>
|
||||
<noscript>
|
||||
httrack at httrack dot com (HTTrack project)<br>
|
||||
roche at httrack dot com (Xavier ROCHE)<br>
|
||||
</noscript>
|
||||
|
||||
|
||||
<br><hr><br>
|
||||
<br>
|
||||
This program is covered by the GNU General Public License.<br>
|
||||
HTTrack/HTTrack Website Copier is Copyright (C) 1998-2007 Xavier Roche and other contributors
|
||||
<br>
|
||||
|
||||
<!-- ==================== Start epilogue ==================== -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td id="footer"><small>© 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,158 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
|
||||
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
|
||||
<title>HTTrack Website Copier - Offline Browser</title>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
#siteNavigation a, #siteNavigation .current {
|
||||
font-weight: bold; color: #448;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
|
||||
#siteNavigation .current { background-color: #ccd; }
|
||||
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
.tblRegular { border-collapse: collapse; }
|
||||
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
|
||||
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
|
||||
.tblNoBorder td { border: 0; }
|
||||
|
||||
|
||||
// -->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr>
|
||||
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
|
||||
<tr>
|
||||
<td id="subTitle">Open Source offline browser</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr class="blak">
|
||||
<td>
|
||||
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
|
||||
<tr>
|
||||
<td id="pageContent">
|
||||
<!-- ==================== End prologue ==================== -->
|
||||
|
||||
<h2 align="center"><em>HTTrack Programming page</em></h2>
|
||||
|
||||
<br>
|
||||
|
||||
HTTrack can be used as a third-party program in batch files, or as library.
|
||||
Depending on your needs, you may look:
|
||||
|
||||
<br><br>
|
||||
|
||||
<h3>Programming</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="scripting.html">Simple use: scripting examples using the httrack commandline program</a></li><br>
|
||||
You can use tens of options (see <tt>httrack --help</tt>) to control precisely the mirror, and used embedded commands in httrack.
|
||||
<br><br>
|
||||
<li><a href="plug.html">More complex use: plugging external C functions to the httrack library</a></li><br>
|
||||
For advanced functions, you may have to use external C wrappers ; for example when adding advanced crawl features, such as "tuned" filestructure type
|
||||
<br><i>Important note: please read the license information of httrack before developing add-ons</i><br />
|
||||
See also the page <a href="plug_330.html">for versions prior to 3.41</a>
|
||||
<br><br>
|
||||
<li><a href="library.html">Advanced use: using the library</a></li><br>
|
||||
The library can be used to write graphical GUIs for httrack, or to run mirrors from a program.
|
||||
<br><i>Important note: please read the license information of httrack before developing add-ons</i>
|
||||
</ul>
|
||||
|
||||
<h3>Technical references</h3>
|
||||
<ul>
|
||||
<li><a href="cache.html">Cache format</a></li><br>
|
||||
HTTrack stores original HTML data and references to downloaded files in a cache, located in the hts-cache directory.
|
||||
This page describes the HTTrack cache format.
|
||||
</ul>
|
||||
|
||||
|
||||
<br><br>
|
||||
|
||||
<!-- ==================== Start epilogue ==================== -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td id="footer"><small>© 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
# Simple indexing test using HTTrack
|
||||
# A "real" script/program would use advanced search, and
|
||||
# use dichotomy to find the word in the index.txt file
|
||||
# This script is really basic and NOT optimized, and
|
||||
# should not be used for professional purpose :)
|
||||
|
||||
TESTSITE="http://localhost/"
|
||||
|
||||
# Create an index if necessary
|
||||
if ! test -f "index.txt"; then
|
||||
echo "Building the index .."
|
||||
rm -rf test
|
||||
httrack --display "$TESTSITE" -%I -O test
|
||||
mv test/index.txt ./
|
||||
fi
|
||||
|
||||
# Convert crlf to lf
|
||||
if test "`head index.txt -n 1 | tr '\r' '#' | grep -c '#'`" = "1"; then
|
||||
echo "Converting index to Unix LF style (not CR/LF) .."
|
||||
mv -f index.txt index.txt.old
|
||||
cat index.txt.old|tr -d '\r' > index.txt
|
||||
fi
|
||||
|
||||
keyword=-
|
||||
while test -n "$keyword"; do
|
||||
printf "Enter a keyword: "
|
||||
read keyword
|
||||
|
||||
if test -n "$keyword"; then
|
||||
FOUNDK="`grep -niE \"^$keyword\" index.txt`"
|
||||
|
||||
if test -n "$FOUNDK"; then
|
||||
if ! test `echo "$FOUNDK"|wc -l` = "1"; then
|
||||
# Multiple matches
|
||||
printf "Found multiple keywords: "
|
||||
echo "$FOUNDK"|cut -f2 -d':'|tr '\n' ' '
|
||||
echo ""
|
||||
echo "Use keyword$ to find only one"
|
||||
else
|
||||
# One match
|
||||
N=`echo "$FOUNDK"|cut -f1 -d':'`
|
||||
PM=`tail +$N index.txt|grep -nE "\("|head -n 1`
|
||||
if ! echo "$PM"|grep "ignored">/dev/null; then
|
||||
M=`echo $PM|cut -f1 -d':'`
|
||||
echo "Found in:"
|
||||
cat index.txt | tail "+$N" | head -n "$M" | grep -E "[0-9]* " | cut -f2 -d' '
|
||||
else
|
||||
echo "keyword ignored (too many hits)"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "not found"
|
||||
fi
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -1,943 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
|
||||
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows vista, windows seven, windows 8, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
|
||||
<title>HTTrack Website Copier - Offline Browser</title>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
#siteNavigation a, #siteNavigation .current {
|
||||
font-weight: bold; color: #448;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
|
||||
#siteNavigation .current { background-color: #ccd; }
|
||||
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
.tblRegular { border-collapse: collapse; }
|
||||
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
|
||||
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
|
||||
.tblNoBorder td { border: 0; }
|
||||
|
||||
|
||||
// -->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr>
|
||||
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
|
||||
<tr>
|
||||
<td id="subTitle">Open Source offline browser</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr class="blak">
|
||||
<td>
|
||||
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
|
||||
<tr>
|
||||
<td id="pageContent">
|
||||
<!-- ==================== End prologue ==================== -->
|
||||
|
||||
<h2 align="center"><em>F A Q</em></h2>
|
||||
|
||||
<br>
|
||||
|
||||
<p><em><br>
|
||||
<ul>
|
||||
<strong>Tips:</strong>
|
||||
<li>In case of troubles/problems during transfer, <b><u><font color="red">first check the hts-log.txt (and hts-err.txt) files to figure out what happened</b></u></font>. These log files report all
|
||||
events that may be useful to detect a problem. You can also ajust the debug level of the log files in the option
|
||||
</li><li>
|
||||
The tutorial written by Fred Cohen is a very good document to read, to understand how to use the engine,
|
||||
how the command line version works, and how the window version works, too! All options are described and explained in
|
||||
clear language!
|
||||
</li>
|
||||
</ul>
|
||||
</em><br></p>
|
||||
|
||||
<ul><br>
|
||||
|
||||
<h3><b>Very</b> Frequently Asked Questions:<br></h3>
|
||||
|
||||
<li><a href="#VF1">HTTrack does not capture all files I want to capture!</a><br></li>
|
||||
|
||||
<br>
|
||||
<h3>General questions:<br></h3>
|
||||
|
||||
<li><a href="#QG0">Is there any 'spyware' or 'adware' in this program? Can you prove that there isn't any?</a><br></li>
|
||||
|
||||
<li><a href="#QG0c">This software is 'free', but I bought it from an authorized reseller. What's going on?</a><br></li>
|
||||
|
||||
<li><a href="#QG0b">Is there any risks of viruses with this software?</a><br></li>
|
||||
|
||||
<li><a href="#QG1">The install is not working on Windows without administrator rights!</a><br></li>
|
||||
|
||||
<li><a href="#QG2">Where can I find French/other languages documentation?</a><br></li>
|
||||
|
||||
<li><a href="#QG3b">Is HTTrack working on Windows Vista/Windows Seven/Windows 8 ?</a><br></li>
|
||||
|
||||
<li><a href="#QG3">Is HTTrack working on Windows 95/98 ?</a><br></li>
|
||||
|
||||
<li><a href="#QG4">What's the difference between HTTrack, WinHTTrack and WebHTTrack?</a><br></li>
|
||||
|
||||
<li><a href="#QG5">Is HTTrack Mac compatible?</a><br></li>
|
||||
|
||||
<li><a href="#QG6">Can HTTrack be compiled on all Un*x?</a><br></li>
|
||||
|
||||
<li><a href="#QG7">I use HTTrack for professional purpose. What about restrictions/license fee?</a><br></li>
|
||||
|
||||
<li><a href="#QG7b">Is there any license royalties for distributing a mirror made with HTTrack?</a><br></li>
|
||||
|
||||
<li><a href="#QG8">Is a DLL/library version available?</a><br></li>
|
||||
|
||||
<li><a href="#QG9">Is there a GUI version available for Linux and Un*x?</a><br></li>
|
||||
|
||||
|
||||
<br><h3>Troubleshooting:<br></h3>
|
||||
|
||||
<li><a href="#Q0">Some sites are captured very well, other aren't. Why?</a><br></li>
|
||||
|
||||
<li><a href="#Q1">When I use HTTrack, nothing is mirrored (no files) What's happening?</a><br></li>
|
||||
|
||||
<li><a href="#QT1">Only the first page is caught. What's wrong?</a><br></li>
|
||||
|
||||
<li><a href="#Q1b">There are missing files! What's happening?</a><br></li>
|
||||
|
||||
<li><a href="#Q1bc">There are corrupted images/files! How to fix them?</a><br></li>
|
||||
|
||||
<li><a href="#Q1bb">FTP links are not caught! What's happening?</a><br></li>
|
||||
|
||||
<li><a href="#Q1b1">I got some weird messages telling that robots.txt do not allow several files to be captured. What's going on?</a><br></li>
|
||||
|
||||
<li><a href="#Q1b11">I have duplicate files! What's going on?</a><br></li>
|
||||
|
||||
<li><a href="#Q1b2">I'm downloading too many files! What can I do?</a><br></li>
|
||||
|
||||
<li><a href="#Q1b22">The engine turns crazy, getting thousands of files! What's going on?</a><br></li>
|
||||
|
||||
<li><a href="#Q1b3">File are sometimes renamed (the type is changed)! Why?</a><br></li>
|
||||
|
||||
<li><a href="#Q1b3b">File are sometimes *incorrectly* renamed! Why?</a><br></li>
|
||||
|
||||
<li><a href="#Q1b4b">How do I rename all ".dat" files into ".zip" files?</a><br></li>
|
||||
|
||||
<li><a href="#Q1c">I can not access several pages (access forbidden, or redirect to another location), but I can with my browser, what's going on?</a><br></li>
|
||||
|
||||
<li><a href="#Q2">Some pages can't be seen, or are displayed with errors!</a><br></li>
|
||||
|
||||
<li><a href="#QT4">Files are created with strange names, like '-1.html'!</a><br></li>
|
||||
|
||||
<li><a href="#Q2b">Some Java applets do not work properly!</a><br></li>
|
||||
|
||||
<li><a href="#QT5">When capturing real audio/video links (.ram), I only get a shortcut!</a><br></li>
|
||||
|
||||
<li><a href="#QT6">Using user:password@address is not working!</a><br></li>
|
||||
|
||||
<li><a href="#QT3">Are https URL working?</a><br></li>
|
||||
|
||||
<li><a href="#QT3b">Are ipv6 URL working?</a><br></li>
|
||||
|
||||
<li><a href="#QP3">HTTrack is taking too much time for parsing, it is very slow. What's wrong?</a><br></li>
|
||||
|
||||
<li><a href="#Q3">HTTrack is being idle for a long time without transfering. What's happening?</a><br></li>
|
||||
|
||||
<li><a href="#Q3b">I want to update a site, but it's taking too much time! What's happening?</a><br></li>
|
||||
|
||||
<li><a href="#Q3b2">I wanted to update a site, but after the update the site disappeared!! What's going on?</a><br></li>
|
||||
|
||||
<li><a href="#Q4">I am behind a firewall. What can I do?</a><br></li>
|
||||
|
||||
<li><a href="#Q14">HTTrack has crashed during a mirror, what's happening?</a><br></li>
|
||||
|
||||
<li><a href="#Q100">I want to update a mirrored project, but HTTrack is retransfering all pages. What's going on?</a><br></li>
|
||||
|
||||
<li><a href="#Q10a">I want to continue a mirrored project, but HTTrack is rescanning all pages. What's going on?</a><br></li>
|
||||
|
||||
<li><a href="#Q101">WinHTTrack window sometimes "disappears" at then end of a mirrored project. What's going on?<br></a></li>
|
||||
|
||||
<li><a href="#QT2">With WinHTTrack, sometimes the minimize in system tray causes a crash!</a><br></li>
|
||||
|
||||
|
||||
<h3><br>Questions concerning a mirror:<br></h3></li>
|
||||
|
||||
<li><a href="#Q5">I want to mirror a Web site, but there are some files outside the domain, too. How to retrieve them?</a><br></li>
|
||||
|
||||
<li><a href="#Q6">I have forgotten some URLs of files during a long mirror.. Should I redo all?</a><br></li>
|
||||
|
||||
<li><a href="#Q7">I just want to retrieve all ZIP files or other files in a web site/in a page. How do I do it?</a><br></li>
|
||||
|
||||
<li><a href="#Q8">There are ZIP files in a page, but I don't want to transfer them. How do I do it?</a><br></li>
|
||||
|
||||
<li><a href="#Q8b">I don't want to download ZIP files bigger than 1MB and MPG files smaller than 100KB. Is it possible?</a><br></li>
|
||||
|
||||
<li><a href="#Q9">I don't want to load gif files.. but what may happen if I watch the page?</a><br></li>
|
||||
|
||||
<li><a href="#Q9b">I don't want to download thumbnail images.. is it possible?</a><br></li>
|
||||
|
||||
<li><a href="#Q15">I get all types of files on a web site, but I didn't select them on filters!</a><br></li>
|
||||
|
||||
<li><a href="#Q10">When I use filters, I get too many files!</a><br></li>
|
||||
|
||||
<li><a href="#Q11">When I use filters, I can't access another domain, but I have filtered it!</a><br></li>
|
||||
|
||||
<li><a href="#Q12">Must I add a '+' or '-' in the filter list when I want to use filters?</a><br></li>
|
||||
|
||||
<li><a href="#Q13">I want to find file(s) in a web-site. How do I do it?</a><br></li>
|
||||
|
||||
<li><a href="#Q200">I want to download ftp files/ftp site. How do I do it?</a><br></li>
|
||||
|
||||
<li><a href="#QM1">How can I retrieve .asp or .cgi sources instead of .html result?</a><br></li>
|
||||
|
||||
<li><a href="#QM2">How can I remove these annoying <tt><!-- Mirrored from... --></tt> from html files?</a><br></li>
|
||||
|
||||
<li><a href="#QM3">Do I have to select between ascii/binary transfer mode?</a><br></li>
|
||||
|
||||
<li><a href="#QM4">Can HTTrack perform form-based authentication?</a><br></li>
|
||||
|
||||
<li><a href="#QM5">Can I redirect downloads to tar/zip archive?</a><br></li>
|
||||
|
||||
<li><a href="#QM6">Can I use username/password authentication on a site?</a><br></li>
|
||||
|
||||
<li><a href="#QM7">Can I use username/password authentication for a proxy?</a><br></li>
|
||||
|
||||
<li><a href="#QM8">Can HTTrack generates HP-UX or ISO9660 compatible files?</a><br></li>
|
||||
|
||||
<li><a href="#QM9">If there any SOCKS support?</a><br></li>
|
||||
|
||||
<li><a href="#QM10">What's this hts-cache directory? Can I remove it?</a><br></li>
|
||||
|
||||
<li><a href="#QM10b">What is the meaning of the <tt>Links scanned: 12/34 (+5)</tt> line in WinHTTrack/WebHTTrack?</a><br></li>
|
||||
|
||||
<li><a href="#QM11">Can I start a mirror from my bookmarks?</a><br></li>
|
||||
|
||||
<li><a href="#QM11c">Can I convert a local website (file:// links) to a standard website?</a><br></li>
|
||||
|
||||
<li><a href="#QM11b">Can I copy a project to another folder - Will the mirror work?</a><br></li>
|
||||
|
||||
<li><a href="#QM12">Can I copy a project to another computer/system? Can I then update it ?</a><br></li>
|
||||
|
||||
<li><a href="#QM13">How can I grab email addresses in web pages?</a><br></li>
|
||||
|
||||
<br><h3>Other problems:<br></h3></a>
|
||||
|
||||
<li><a href="#Q300">My problerm is not listed!</a><br></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</p>
|
||||
|
||||
<br>
|
||||
<hr>
|
||||
<br>
|
||||
|
||||
<u><strong>Very Frequently Asked Questions:</strong></u><br><br>
|
||||
|
||||
<a name="VF1">Q: <strong>HTTrack does not capture all files I want to capture!</strong><br>
|
||||
A: <em>This is a frequent question, generally related to the filters.
|
||||
<u>BUT first check if your problem is not related to the <a href="#Q1b1">robots.txt</a> website rules.</u>
|
||||
<br>
|
||||
<br>
|
||||
Okay, let me explain how to precisely control the capture process.<br>
|
||||
<br>
|
||||
Let's take an example:<br>
|
||||
<br>
|
||||
Imagine you want to capture the following site:<br>
|
||||
<tt>www.someweb.com/gallery/flowers/</tt><br>
|
||||
<br>
|
||||
HTTrack, by default, will capture all links encountered in <tt>www.someweb.com/gallery/flowers/</tt> or in lower directories, like
|
||||
<tt>www.someweb.com/gallery/flowers/roses/</tt>.<br>
|
||||
It will not follow links to other websites, because this behaviour might cause to capture the Web entirely!<br>
|
||||
It will not follow links located in higher directories, too (for example, <tt>www.someweb.com/gallery/flowers/</tt> itself) because this
|
||||
might cause to capture too much data.<br>
|
||||
<br>
|
||||
This is the <b><u>default behaviour</b></u> of HTTrack, BUT, of course, if you want, you can tell HTTrack to capture other directorie(s), website(s)!..
|
||||
<br>
|
||||
In our example, we might want also to capture all links in <tt>www.someweb.com/gallery/trees/</tt>, and in <tt>www.someweb.com/photos/</tt><br>
|
||||
<br>
|
||||
This can easily done by using filters: go to the Option panel, select the 'Scan rules' tab, and enter this line:
|
||||
(you can leave a blank space between each rules, instead of entering a carriage return)<br>
|
||||
<tt>+www.someweb.com/gallery/trees/*<br>
|
||||
+www.someweb.com/photos/*</tt><br>
|
||||
<br>
|
||||
This means "accept all links begining with <tt>www.someweb.com/gallery/trees/</tt> and <tt>www.someweb.com/photos/</tt>"
|
||||
- the <tt>+</tt> means "accept" and the final <tt>*</tt> means "any character will match after the previous ones".
|
||||
Remember the <tt>*.doc</tt> or <tt>*.zip</tt> encountered when you want to select all files from a certain type on your computer:
|
||||
it is almost the same here, except the begining "+"<br>
|
||||
<br>
|
||||
Now, we might want to exclude all links in <tt>www.someweb.com/gallery/trees/hugetrees/</tt>, because with the previous filter,
|
||||
we accepted too many files. Here again, you can add a filter rule to refuse these links. Modify the previous filters to:<br>
|
||||
<tt>+www.someweb.com/gallery/trees/*<br>
|
||||
+www.someweb.com/photos/*<br>
|
||||
-www.someweb.com/gallery/trees/hugetrees/*</tt><br>
|
||||
<br>
|
||||
You have noticed the <tt>-</tt> in the begining of the third rule: this means "refuse links matching the rule"
|
||||
; and the rule is "any files begining with <tt>www.someweb.com/gallery/trees/hugetrees/</tt><br>
|
||||
|
||||
Voila! With these three rules, you have precisely defined what you wanted to capture.<br>
|
||||
<br>
|
||||
A more complex example?<br>
|
||||
<br>
|
||||
Imagine that you want to accept all jpg files (files with .jpg type) that have "blue" in the name and located in www.someweb.com<br>
|
||||
<tt>+www.someweb.com/*blue*.jpg</tt><br>
|
||||
<br>
|
||||
More detailed information can be found <a href="filters.html">here</a>!<br>
|
||||
<br>
|
||||
</em>
|
||||
|
||||
<br>
|
||||
<u><strong>General questions:<br>
|
||||
</strong></u><br>
|
||||
|
||||
<a NAME="QG0">Q: <strong>Is there any 'spyware' or 'adware' in this program? Can you prove that there isn't any?</strong></a><br>
|
||||
A: <em>No ads (banners), and absolutely no 'spy' features inside the program.<br>
|
||||
The best proof is the software status: all sources are released, and everybody can check them. Open source is the best protection against privacy problems - HTTrack is an open source project, free of charge and free of any spy 'features'.<br>
|
||||
However, be sure to always download HTTrack from a <b>trusted source</b> (preferably httrack.com), as some rogue freeware sites are "embedding" free software inside adware/spyware installers. If the version you installed contained some embedded adware/tool bar/whatever, there is a high potential risk of virus/badware infection (the only official Internet Explorer feature is a 'Launch WinHTTrack' optional menu in the Tools section, which can be selected while installing).</em>
|
||||
|
||||
<br><br><a NAME="QG0c">Q: <strong>This software is 'free', but I bought it from an authorized reseller . What's going on?</strong></a><br>
|
||||
A: <em>
|
||||
HTTrack is free (free as in 'freedom') as it is covered by the <a href="http://www.gnu.org/licenses/gpl.txt" target="_new">GNU General Public License (GPL)</a>.
|
||||
You can freely download it, without paying any fees, copy it to your friends, and modify it if you respect the license.
|
||||
There are NO official/authorized resellers, because HTTrack is <b>NOT</b> a commercial product.
|
||||
But you can be charged for duplication fees, or any other services (example: software CDroms or shareware collections, or fees for maintenance),
|
||||
but you should have been informed that the software was free software/GPL, and you <b><u>MUST</u></b> have received a copy of the GNU General Public License.
|
||||
Otherwise this is dishonnest and unfair (ie. selling httrack on ebay without telling that it was a free software is a scam).
|
||||
</em>
|
||||
|
||||
<br><br><a NAME="QG0b">Q: <strong>Are there any risks of viruses with this software?</strong></a><br>
|
||||
A: <em>For the software itself:
|
||||
All official releases (at httrack.com) are checked against all known viruses, and the packaging process is also checked. Archives are stored on Un*x servers, not really concerned by viruses. It has been reported, however, that some rogue freeware sites are embedding free softwares and freewares inside badware installers. Always download httrack from the main site (www.httrack.com), and never from an untrusted source!<br>
|
||||
For files you are downloading on the WWW using HTTrack: You may encounter websites which were corrupted by viruses, and downloading data on these websites might be dangerous if you execute downloaded executables, or if embedded pages contain infected material (as dangerous as if using a regular Browser). Always ensure that websites you are crawling are safe.
|
||||
(Note: remember that using an antivirus software is a good idea once you are connected to the Internet)</em>
|
||||
|
||||
<br><br><a NAME="QG1">Q: <strong>The install is not working on Windows without administrator rights!</strong></a><br>
|
||||
A: <em>That's right. You can, however, install WinHTTrack on your own machine, and then copy your <tt>WinHTTrack</tt> folder from your <tt>Program Files</tt> folder to another machine, in a temporary directory (e.g. <tt>C:\temp\</tt>). You may download the 'non-installer' version, and unzip it in any directory (or an USB key).</em>
|
||||
|
||||
<br><br><a NAME="QG2">Q: <strong>Where can I find French/other languages documentation?</strong></a><br>
|
||||
A: <em>Windows interface is available on several languages, but not yet the documentation!</em>
|
||||
|
||||
<br><br><a NAME="QG3b">Q: <strong>Is HTTrack working on Windows Vista/Windows Seven/Windows 8 ?</strong></a><br>
|
||||
A: <em>Yes, it does</em>
|
||||
|
||||
<br><br><a NAME="QG3">Q: <strong>Is HTTrack working on Windows 95/98 ?</strong></a><br>
|
||||
A: <em>No, not anymore. You may try to pick an older release (such as 3.33)</em>
|
||||
|
||||
<br><br><a NAME="QG4">Q: <strong>What's the difference between HTTrack, WinHTTrack and WebHTTrack?</strong></a><br>
|
||||
A: <em>WinHTTrack is the Windows GUI release of HTTrack (with a native graphic shell) and WebHTTrack is the Linux/Posix release of HTTrack (with an html graphic shell)</em>
|
||||
|
||||
<br><br><a NAME="QG5">Q: <strong>Is HTTrack Mac compatible?</strong></a><br>
|
||||
A: <em>Yes, using the original sources, or with MacPorts.
|
||||
|
||||
<br><br><a NAME="QG6">Q: <strong>Can HTTrack be compiled on all Un*x?</strong></a><br>
|
||||
A: <em>It should. The <tt>configure.ac</tt> may be modified in some cases, however</em>
|
||||
|
||||
<br><br><a NAME="QG7">Q: <strong>I use HTTrack for professional purpose. What about restrictions/license fee?</strong></a><br>
|
||||
A: <em>HTTrack is covered by the GNU General Public License (GPL). There is no restrictions using HTTrack for professional purpose,
|
||||
except if you develop a software which uses HTTrack components (parts of the source, or any other component).
|
||||
See the <tt>license.txt</tt> file for more information</em>. See also the next question regarding copyright issues when reditributing downloaded material.
|
||||
|
||||
<br><br><a NAME="QG7b">Q: <strong>Is there any license royalties for distributing a mirror made with HTTrack?</strong></a><br>
|
||||
A: <em>On the HTTrack side, no. However, sharing, publishing or reusing copyrighted material downloaded from a site requires the authorization of the copyright holders, and possibly paying royalty fees. Always ask the authorization before creating a mirror of a site, even if the site appears to be royalty-free and/or without copyright notice.</em>
|
||||
|
||||
<br><br><a NAME="QG8">Q: <strong>Is a DLL/library version available?</strong></a><br>
|
||||
A: <em>Yes. The default distribution includes a DLL (Windows) or a .so (Un*X), used by the program</em>
|
||||
|
||||
<br><br><a NAME="QG9">Q: <strong>Is there a GUI version available for Linux and Un*x?</strong></a><br>
|
||||
A: <em>Yes. It is called WebHTTrack. See the download section at <a href="http://www.httrack.com">www.httrack.com!</a></em>
|
||||
|
||||
<br><br>
|
||||
<u><strong>Troubleshooting:<br>
|
||||
</strong></u><br>
|
||||
|
||||
<a NAME="Q0">Q: <strong>Some sites are captured very well, other aren't. Why?</strong><br>
|
||||
A: <em>
|
||||
There are several reasons (and solutions) for a mirror to fail. Reading the log files (ans this FAQ!) is generally a VERY good idea to figure out what occured.
|
||||
|
||||
<ul>
|
||||
<li>Links within the site refers to external links, or links located in another (or upper) directories, not captured by default - the use of filters is generally THE solution, as this is one of the powerful option in HTTrack. <u>See the above questions/answers</u>.</li>
|
||||
<li>Website <a href="#Q1b1">'robots.txt' rules</a> forbide access to several website parts - you can disable them, but only with great care!</li>
|
||||
<li>HTTrack is filtered (by its default User-agent IDentity) - you can change the Browser User-Agent identity to an anonymous one (MSIE, Netscape..) - here again, use this option with care, as this measure might have been put to avoid some bandwidth abuse (see also the <a href="abuse.html">abuse faq</a>!)</li>
|
||||
</ul>
|
||||
|
||||
There are cases, however, that can not be (yet) handled:
|
||||
|
||||
<ul>
|
||||
<li>Flash sites - no full support</li>
|
||||
<li>Intensive Java/Javascript sites - might be bogus/incomplete</li>
|
||||
<li>Complex CGI with built-in redirect, and other tricks - very complicated to handle, and therefore might cause problems</li>
|
||||
<li>Parsing problem in the HTML code (cases where the engine is fooled, for example by a false comment (<!--) which has no closing comment (-->) detected.
|
||||
Rare cases, but might occur.
|
||||
A bug report is then generally good!
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Note:
|
||||
For some sites, setting "Force old HTTP/1.0 requests" option can be useful, as this option uses more basic requests (no HEAD request for example).
|
||||
This will cause a performance loss, but will increase the compatibility with some cgi-based sites.
|
||||
<br>
|
||||
|
||||
<br></em>
|
||||
|
||||
<a NAME="QT1">Q: <strong>Only the first page is caught. What's wrong?</a></strong></br>
|
||||
A: <em>First, check the <tt>hts-log.txt</tt> file (and/or <tt>hts-err.txt</tt> error log file) - this can give you precious information.<br>
|
||||
The problem can be a website that redirects you to another site (for example, <tt>www.someweb.com</tt> to <tt>public.someweb.com</tt>) :
|
||||
in this case, use filters to accept this site<br>
|
||||
This can be, also, a problem in the HTTrack options (link depth too low, for example)</em>
|
||||
|
||||
<br><br><a NAME="QT2">Q: <strong>With WinHTTrack, sometimes the minimize in system tray causes a crash!</a></strong></a></br>
|
||||
A: <em>This bug sometimes appears in the shell on some systems. If you encounter this problem, avoid minimizing the window!</em>
|
||||
|
||||
<br><br><a NAME="QT3">Q: <strong>Are https URL working?</a></strong></a></br>
|
||||
A: <em>Yes, HTTrack does support (since 3.20 release) https (secure socket layer protocol) sites</em>
|
||||
|
||||
<br><br><a NAME="QT3b">Q: <strong>Are ipv6 URL working?</a></strong></a></br>
|
||||
A: <em>Yes, HTTrack does support (since 3.20 release) ipv6 sites, using A/AAAA entries, or direct v6 addresses (like http://[3ffe:b80:12:34:56::78]/)</em>
|
||||
|
||||
<br><br><a NAME="QT4">Q: <strong>Files are created with strange names, like '-1.html'!</a></strong></a></br>
|
||||
A: <em>Check the build options (you may have selected user-defined structure with wrong parameters!)</em>
|
||||
|
||||
<br><br><a NAME="QT5">Q: <strong>When capturing real audio/video links (.ram), I only get a shortcut!</a></strong></a></br>
|
||||
A: <em>Yes, but .ra/.rm associated file should be captured together - except if rtsp:// protocol is used (not supported by HTTrack yet), or if proper filters are needed</em>
|
||||
|
||||
<br><br><a NAME="QT6">Q: <strong>Using user:password@address is not working!</a></strong></a></br>
|
||||
A: <em>Again, first check the <tt>hts-log.txt</tt> and <tt>hts-err.txt</tt> error log files - this can give you precious information<br>
|
||||
The site may have a different authentication scheme - form based authentication, for example.
|
||||
In this case, use the URL capture features of HTTrack, it might work.
|
||||
<br>Note: If your username and/or password contains a '<tt>@</tt>' character, you may have to replace all '<tt>@</tt>'
|
||||
occurences by '<tt>%40</tt>' so that it can work, such as in <tt>user%40domain.com:foobar@www.foo.com/auth/.
|
||||
You may have to do the same for all "special" characters like spaces (%20), quotes (%22)..</tt>
|
||||
</em>
|
||||
<br><br>
|
||||
|
||||
<a NAME="Q1">Q: <strong>When I use HTTrack, nothing is mirrored (no files) What's
|
||||
happening?</strong><br>
|
||||
A: <em>First, be sure that the URL typed is correct. Then, check if you need to use a
|
||||
proxy server (see proxy options in WinHTTrack or the <tt>-P proxy:port</tt> option in the
|
||||
command line program). The site you want to mirror may only accept certain browsers. You
|
||||
can change your "browser identity" with the Browser ID option in the OPTION box.
|
||||
Finally, you can have a look at the hts-log.txt (and hts-err.txt) file to see what
|
||||
happened. <br>
|
||||
<br></em>
|
||||
|
||||
<a NAME="Q1b">Q: <strong>There are missing files! What's happening?</strong><br>
|
||||
A: <em>You may want to capture files that exist in a different folder, or in another web site.
|
||||
You may also want to capture files that are forbidden by default by the <a href="#Q1b1">robots.txt</a> website rules.
|
||||
In these cases, HTTrack does not capture these links automatically, you have to tell it to do so.
|
||||
<br><br>
|
||||
<ul><li>Either use the <a href="filters.html">filters</a>.<br>
|
||||
Example: You are downloading <tt>http://www.someweb.com/foo/</tt> and can not get .jpg images located
|
||||
in <tt>http://www.someweb.com/bar/</tt> (for example, http://www.someweb.com/bar/blue.jpg)<br>
|
||||
Then, add the filter rule <tt>+www.someweb.com/bar/*.jpg</tt> to accept all .jpg files from this location<br>
|
||||
You can, also, accept all files from the /bar folder with <tt>+www.someweb.com/bar/*</tt>, or only html files with <tt>+www.someweb.com/bar/*.html</tt> and so on..<br><br>
|
||||
</li><li>
|
||||
If the problems are related to robots.txt rules, that do not let you access some folders (check in the logs if you are not sure),
|
||||
you may want to disable the default robots.txt rules in the options. (but only disable this option with great care,
|
||||
some restricted parts of the website might be huge or not downloadable)
|
||||
</ul>
|
||||
</em>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1bc">Q: <strong>There are corrupted images/files! How to fix them?</strong><br>
|
||||
A: <em>First check the log files to ensure that the images do really exist remotely and are not fake html error pages renamed into .jpg ("Not found" errors, for example).
|
||||
Rescan the website with "Continue an interrupted download" to catch images that might be broken due to various errors (transfer timemout, for example).
|
||||
Then, check if the broken image/file name is present in the log (hts-log.txt) - in this case you will find there the reason why the file has not been properly caught.
|
||||
<br><u>If</u> this doesn't work, delete the corrupted files (Note: to detect corrupted images, you can browse the directories with a tool like ACDSee and then delete them)
|
||||
and rescan the website as described before. HTTrack will be obliged to recatch the deleted files, and this time it should work, if they do really exist remotely!.</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1bb">Q: <strong>FTP links are not caught! What's happening?</strong><br>
|
||||
A: <em>FTP files might be seen as external links, especially if they are located in outside domain. You have either to accept all external links (See the links options, -n option) or
|
||||
only specific files (see <a href="filters.html">filters</a> section). <br>
|
||||
Example: You are downloading <tt>http://www.someweb.com/foo/</tt> and can not get ftp://ftp.someweb.com files<br>
|
||||
Then, add the filter rule <tt>+ftp.someweb.com/*</tt> to accept all files from this (ftp) location<br>
|
||||
</em>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1b1">Q: <strong>I got some weird messages telling that robots.txt do not allow several files to be captured. What's going on?</strong><br>
|
||||
A: <em>
|
||||
These rules, stored in a file called robots.txt, are given by the website, to specify which links or folders should not be caught by robots and spiders
|
||||
- for example, /cgi-bin or large images files.
|
||||
They are followed by default by HTTrack, as it is advised. Therefore, you may miss some files that would have been downloaded without
|
||||
these rules - check in your logs if it is the case:<br>
|
||||
<tt>Info: Note: due to www.foobar.com remote robots.txt rules, links begining with these path will be forbidden: /cgi-bin/,/images/ (see in the options to disable this)
|
||||
</tt>
|
||||
<br>
|
||||
If you want to disable them, just change the corresponding option in the option list! (but only disable this option with great care,
|
||||
some restricted parts of the website might be huge or not downloadable)
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1b11"><strong>Q: I have duplicate files! What's going on?</strong><br>
|
||||
A: <em>This is generally the case for top indexes (index.html and index-2.html), isn't it?
|
||||
<br>
|
||||
This is a common issue, but that can not be easily avoided!<br>
|
||||
For example, http://www.foobar.com/ and http://www.foobar.com/index.html might be the same pages.
|
||||
But if links in the website refers both to http://www.foobar.com/ and http://www.foobar.com/index.html, these two pages will be caught.
|
||||
And because http://www.foobar.com/ must have a name, as you may want to browse the website locally (the / would give a directory listing, NOT the index itself!),
|
||||
HTTrack must find one. Therefore, two index.html will be produced, one with the -2 to show that the file had to be renamed.
|
||||
<br>
|
||||
It might be a good idea to consider that http://www.foobar.com/ and http://www.foobar.com/index.html are the same links, to avoid
|
||||
duplicate files, isn't it?
|
||||
NO, because the top index (/) can refer to ANY filename, and if index.html is generally the default name, index.htm can be choosen,
|
||||
or index.php3, mydog.jpg, or anything you may imagine. (some webmasters are really crazy)
|
||||
<br>
|
||||
<br>
|
||||
Note: In some rare cases, duplicate data files can be found when the website redirect to another file. This issue should be rare, and might be avoided using filters.
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1b2">Q: <strong>I'm downloading too many files! What can I do?</strong><br>
|
||||
A: <em>This is often the case when you use too large a filter, for example <tt>+*.html</tt>, which asks the
|
||||
engine to catch all .html pages (even ones on other sites!). In this case, try to use more specific filters, like <tt>+www.someweb.com/specificfolder/*.html</tt><br>
|
||||
If you still have too many files, use filters to avoid somes files. For example, if you have too many files from www.someweb.com/big/,
|
||||
use <tt>-www.someweb.com/big/*</tt> to avoid all files from this folder. Remember that the default behaviour of the engine, when
|
||||
mirroring http://www.someweb.com/big/index.html, is to catch everything in http://www.someweb.com/big/. Filters are your friends,
|
||||
use them!
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1b22">Q: <strong>The engine turns crazy, getting thousands of files! What's going on?</strong><br>
|
||||
A: <em>This can happen if a loop occurs in some bogus website. For example, a page that refers to itself, with a timestamp
|
||||
in the query string (e.g. <tt>http://www.someweb.com/foo.asp?ts=2000/10/10,09:45:17:147</tt>).
|
||||
These are really annoying, as it is VERY difficult to detect the loop (the timestamp might be a page number).
|
||||
To limit the problem: set a recurse level (for example to 6), or avoid the bogus pages (use the filters)
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1b3">Q: <strong>File are sometimes renamed (the type is changed)! Why?</strong><br>
|
||||
A: <em>By default, HTTrack tries to know the type of remote files. This is useful when links like
|
||||
<tt>http://www.someweb.com/foo.cgi?id=1</tt> can be either HTML pages, images or anything else.
|
||||
Locally, foo.cgi will not be recognized as an html page, or as an image, by your browser. HTTrack has to rename the file
|
||||
as foo.html or foo.gif so that it can be viewed.<br>
|
||||
</em>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1b3b">Q: <strong>File are sometimes *incorrectly* renamed! Why?</strong><br>
|
||||
A: <em>Sometimes, some data files are seen by the remote server as html files, or images : in this case HTTrack is
|
||||
being fooled.. and rename the file. This can generally be avoided by using the "use HTTP/1.0 requests" option.
|
||||
You might also avoid this by disabling the type checking in the option panel.
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1b4b">Q: <strong>How do I rename all ".dat" files into ".zip" files?</strong><br>
|
||||
A: <em>Simply use the <tt>--assume dat=application/x-zip</tt> option
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q1c">Q: <strong>I can not access several pages (access forbidden, or redirect to another location), but I can with my browser, what's going on?</strong><br>
|
||||
A: <em>You may need cookies! Cookies are specific data (for example, your username or password) that are sent to your browser once
|
||||
you have logged in certain sites so that you only have to log-in once. For example, after having entered your username in a website, you can
|
||||
view pages and articles, and the next time you will go to this site, you will not have to re-enter your username/password.<br>
|
||||
To "merge" your personnal cookies to an HTTrack project, just copy the cookies.txt file from your Netscape folder (or the cookies located into the Temporary Internet Files folder for IE)
|
||||
into your project folder (or even the HTTrack folder)
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
</a><a NAME="Q2">Q: <strong>Some pages can't be seen, or are displayed with errors!</strong><br>
|
||||
A: <em>Some pages may include javascript or java files that are not recognized. For
|
||||
example, generated filenames. There may be transfer problems, too (broken pipe, etc.). But
|
||||
most mirrors do work. We still are working to improve the mirror quality of HTTrack.<br>
|
||||
</em>
|
||||
<br>
|
||||
|
||||
</a><a NAME="Q2b">Q: <strong>Some Java applets do not work properly!</strong><br>
|
||||
A: <em>Java applets may not work in some cases, for example if HTTrack failed to detect all included classes
|
||||
or files called within the class file. Sometimes, Java applets need to be online, because remote files are
|
||||
directly caught. Finally, the site structure can be incompatible with the class (always try to keep the original site structure
|
||||
when you want to get Java classes)<br>
|
||||
If there is no way to make some classes work properly, you can exclude them with the filters.
|
||||
They will be available, but only online.
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
</a><a NAME="QP3">Q: <strong>HTTrack is taking too much time for parsing, it is very slow. What's wrong?</strong><br>
|
||||
A: <em>Former (before 3.04) releases of HTTrack had problems with parsing. It was really slow, and performances -especially
|
||||
with huge HTML files- were not really good. The engine is now optimized, and should parse very quickly all html files.
|
||||
For example, a 10MB HTML file should be scanned in less than 3 or 4 seconds.<br>
|
||||
<br>
|
||||
Therefore, higher values mean that the engine had to wait a bit for testing several links.
|
||||
|
||||
<ul>
|
||||
<li>Sometimes, links are malformed in pages.
|
||||
"<tt>a href="/foo"</tt>" instead of "<tt>a href="/foo/"</tt>", for example, is a common mistake. It will force the engine to
|
||||
make a supplemental request, and find the real <tt>/foo/</tt> location.
|
||||
</li>
|
||||
<br><br>
|
||||
<li>Dynamic pages. Links with names terminated by <tt>.php3</tt>, <tt>.asp</tt> or other type which are different from the regular
|
||||
<tt>.html</tt> or <tt>.htm</tt> will require a supplemental request, too. HTTrack has to "know" the type (called "MIME type") of a file
|
||||
before forming the destination filename. Files like foo.gif are "known" to be images, ".html" are obviously HTML pages - but ".php3"
|
||||
pages may be either dynamically generated html pages, images, data files...<br>
|
||||
<br>
|
||||
If you KNOW that ALL ".php3" and ".asp" pages are in fact HTML pages on a mirror, use the <tt>assume</tt> option:<br>
|
||||
<tt>--assume php3=text/html,asp=text/html</tt>
|
||||
<br><br>
|
||||
This option can be used to change the type of a file, too : the MIME type "application/x-MYTYPE" will always have the "MYTYPE" type.
|
||||
Therefore, <br>
|
||||
<tt>--assume dat=application/x-zip</tt>
|
||||
<br>
|
||||
will force the engine to rename all dat files into zip files
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</em><br>
|
||||
<br>
|
||||
|
||||
</a><a NAME="Q3">Q: <strong>HTTrack is being idle for a long time without
|
||||
transfering. What's happening?</strong><br>
|
||||
A: <em>Maybe you try to reach some very slow sites. Try a lower TimeOut value (see
|
||||
options, or <tt>-Txx</tt> option in the command line program). Note that you will abandon
|
||||
the entire site (except if the option is unchecked) if a timeout happen You can, with the
|
||||
Shell version, skip some slow files, too.</em><br>
|
||||
<br>
|
||||
|
||||
</a><a NAME="Q3b">Q: <strong>I want to update a site, but it's taking too much time! What's happening?</strong><br>
|
||||
A: <em>First, HTTrack always tries to minimize the download flow by interrogating the server about the
|
||||
file changes. But, because HTTrack has to rescan all files from the begining to rebuild the local site structure,
|
||||
it can take some time.
|
||||
Besides, some servers are not very smart and always consider that they get newer files, forcing HTTrack to reload them,
|
||||
even if no changes have been made!
|
||||
</em><br>
|
||||
<br>
|
||||
|
||||
</a><a NAME="Q3b2">Q: <strong>I wanted to update a site, but after the update the site disappeared!! What's going on?</strong><br>
|
||||
A: <em>You may have done something wrong, but not always
|
||||
|
||||
<ul>
|
||||
<li>The site has moved : the current location only shows a notification. Therefore, all other files have been deleted to show the current state of the website!</li>
|
||||
<li>The connection failed: the engine could not catch the first files, and therefore deleted everything.
|
||||
To avoid that, using the option "do not purge old files" might be a good idea</li>
|
||||
<li>You tried to add a site to the project BUT in fact deleted the former addresses.<br>
|
||||
Example: A project contains '<tt>www.foo.com www.bar.com</tt>' and you want to add '<tt>www.doe.com</tt>'.
|
||||
Ensure that '<tt>www.foo.com www.bar.com www.doe.com</tt>' is the new URL list, and NOT '<tt>www.doe.com</tt>'!
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</em><br>
|
||||
|
||||
</a><a NAME="Q4">Q: <strong>I am behind a firewall. What can I do?</strong><br>
|
||||
A: <em>You need to use a proxy, too. Ask your administrator to know the proxy server's
|
||||
name/port. Then, use the proxy field in HTTrack or use the <tt>-P proxy:port</tt> option
|
||||
in the command line program.</em><br>
|
||||
</a></p>
|
||||
|
||||
<p><a NAME="Q14">Q: <strong>HTTrack has crashed during a mirror, what's happening?</strong><br>
|
||||
A: <em>We are trying to avoid bugs and problems so that the program can be as reliable as
|
||||
possible. But we can not be infallible. If you occurs a bug, please check if you have the
|
||||
latest release of HTTrack, and send us an email with a detailed description of your
|
||||
problem (OS type, addresses concerned, crash description, and everything you deem to be
|
||||
necessary). This may help the other users too.</em><br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q100">Q: <strong>I want to update a mirrored project, but HTTrack is retransfering all pages. What's going on?</strong><br>
|
||||
A: <em>First, HTTrack always rescans all local pages to reconstitute the website structure, and it can take some time.
|
||||
Then, it asks the server if the files that are stored locally are up-to-date. On most sites, pages are not
|
||||
updated frequently, and the update process is fast. But some sites have dynamically-generated pages that are considered as
|
||||
"newer" than the local ones.. even if they are identical! Unfortunately, there is no possibility to avoid this problem,
|
||||
which is strongly linked with the server abilities.
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q10a">Q: <strong>I want to continue a mirrored project, but HTTrack is rescanning all pages. What's going on?</strong><br>
|
||||
A: <em>HTTrack has to (quickly) rescan all pages from the cache, without retransfering them, to rebuild the internal file structure. However, this process can take some time with huge sites
|
||||
with numerous links.
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q101">Q: <strong>HTTrack window sometimes "disappears" at then end of a mirrored project. What's going on?</strong><br>
|
||||
A: <em>This is a known bug in the interface. It does NOT affect the quality of the mirror, however. We are still hunting it down,
|
||||
but this is a smart bug..
|
||||
</em>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<br><u><strong>Questions concerning a mirror:</strong></u><br>
|
||||
|
||||
<br>
|
||||
<a NAME="Q5">Q: <strong>I want to mirror a Web site, but there are some files outside
|
||||
the domain, too. How to retrieve them?</strong><br>
|
||||
A: <em>If you just want to retrieve files that can be reached through links, just activate
|
||||
the 'get file near links' option. But if you want to retrieve html pages too, you can both
|
||||
use wildcards or explicit addresses ; e.g. add <tt>www.someweb.com/*</tt> to accept all
|
||||
files and pages from www.someweb.com.<br>
|
||||
<br>
|
||||
</em></a><a NAME="Q6">Q: <strong>I have forgotten some URLs of files during a long
|
||||
mirror.. Should I redo all?</strong><br>
|
||||
A: <em>No, if you have kept the 'cache' files (in hts-cache), cached files will not be
|
||||
retransferred.</em><br>
|
||||
<br>
|
||||
</a><a NAME="Q7">Q: <strong>I just want to retrieve all ZIP files or other files in a web
|
||||
site/in a page. How do I do it?</strong><br>
|
||||
A: <em>You can use different methods. You can use the 'get files near a link' option if
|
||||
files are in a foreign domain. You can use, too, a filter adress: adding <tt>+*.zip</tt>
|
||||
in the URL list (or in the filter list) will accept all ZIP files, even if these files are
|
||||
outside the address. <br>
|
||||
Example : <tt>httrack www.someweb.com/someaddress.html +*.zip</tt> will allow
|
||||
you to retrieve all zip files that are linked on the site.</em><br>
|
||||
<br>
|
||||
</a><a NAME="Q8">Q: <strong>There are ZIP files in a page, but I don't want to transfer
|
||||
them. How do I do it?</strong><br>
|
||||
A: <em>Just filter them: add <tt>-*.zip</tt></em> in the filter list.<br>
|
||||
<br>
|
||||
</a><a NAME="Q8b">Q: <strong>I don't want to download ZIP files bigger than 1MB and MPG files smaller than 100KB. Is it possible?</strong><br>
|
||||
A: <em>You can use <a href="filters.html">filters</a> for that ; using the syntax:<br>
|
||||
<tt>-*.zip*[>1000] -*.mpg*[<100]</tt><br>
|
||||
<br>
|
||||
</a><a NAME="Q9">Q: <strong>I don't want to load gif files.. but what may happen if I
|
||||
watch the page?</strong><br>
|
||||
A: <em>If you have filtered gif files (<tt>-*.gif</tt>), links to gif files will be
|
||||
rebuilt so that your browser can find them on the server.</em><br>
|
||||
<br>
|
||||
</a><a NAME="Q9b">Q: <strong>I don't want to download thumbnail images.. is it possible?</strong><br>
|
||||
A: <em>Filters can not be used with image pixel size ; but you can filter on file size (bytes).
|
||||
Use advanced <a href="filters.html">filters</a> for that ; such as:<br>
|
||||
<tt>-*.gif*[<10]</tt> to exclude gif files smaller than 10KiB.
|
||||
</em><br>
|
||||
<br>
|
||||
</a><a NAME="Q15">Q: <strong>I get all types of files on a web site, but I didn't select
|
||||
them on filters!</strong><br>
|
||||
A: <em>By default, HTTrack retrieves all types of files on authorized links. To avoid
|
||||
that, define filters like </a><a NAME="Q7"><tt>-* +<website>/*.html
|
||||
+<website>/*.htm +<website>/ +*.<type wanted></tt></a><a NAME="Q10"><br>
|
||||
Example: <tt>httrack www.someweb.com/index.html -* +www.someweb.com/*.htm* +www.someweb.com/*.gif +www.someweb.com/*.jpg</tt><br>
|
||||
<br>
|
||||
</em><a NAME="Q10">Q: <strong>When I use filters, I get too many files!</strong><br>
|
||||
A: <em>You might use too large a filter, for example <tt>*.html</tt> will get ALL html
|
||||
files identified. If you want to get all files on an address, use <tt>www.<address>/*.html</tt>.<br>
|
||||
If you want to get ONLY files defined by your filters, use something like <tt>-* +www.foo.com/*</tt>, because
|
||||
<tt>+www.foo.com/*</tt> will only accept selected links without forbidding other ones!<br>
|
||||
There are lots of possibilities using filters.<br>
|
||||
Example:<tt>httrack www.someweb.com +*.someweb.com/*.htm*</tt><br>
|
||||
<br>
|
||||
</em></a><a NAME="Q11">Q: <strong>When I use filters, I can't access another domain, but I
|
||||
have filtered it!</strong><br>
|
||||
A: <em>You may have done a mistake declaring filters, for example <tt>+www.someweb.com/*
|
||||
-*someweb* </tt></em>will not work, because -*someweb* has an upper priority (because it has
|
||||
been declared after +www.someweb.com)<br>
|
||||
<br>
|
||||
</a><a NAME="Q12">Q: <strong>Must I add a '+' or '-' in the filter list when I want
|
||||
to use filters?</strong><br>
|
||||
A: <em>YES. '+' is for accepting links and '-' to avoid them. If you forget it, HTTrack
|
||||
will consider that you want to accept a filter if there is a wild card in the syntax - e.g.
|
||||
+<filter> is identical to <filter> if <filter> contains a wild card (*)
|
||||
(else it will be considered as a normal link to mirror)</em></a><br>
|
||||
<br>
|
||||
Q: <strong>I want to find file(s) in a web-site. How do I do it?</strong><br>
|
||||
A: <a NAME="Q13"><em>You can use the filters: forbid all files (add a <tt>-*</tt> in the
|
||||
filter list) and accept only html files and the file(s) you want to retrieve (BUT do not
|
||||
forget to add <tt>+<website>*.html</tt> in the filter list, or pages will not be
|
||||
scanned! Add the name of files you want with a <tt>*/</tt> before ; i.e. if you want to
|
||||
retrieve file.zip, add <tt>*/file.zip</tt>)<br>
|
||||
Example:<tt>httrack www.someweb.com +www.someweb.com/*.htm* +thefileiwant.zip</tt><br>
|
||||
<br>
|
||||
</em>
|
||||
|
||||
<a NAME="Q200">Q: <strong>I want to download ftp files/ftp site. How do I do it?</strong><br>
|
||||
A: <em>First, HTTrack is not the best tool to download many ftp files. Its ftp engine is basic (even if reget are
|
||||
possible) and if your purpose is to download a complete site, use a specific client.<br>
|
||||
You can download ftp files just by typing the URL, such as <tt>ftp://ftp.somesite.com/pub/files/file010.zip</tt> and list ftp directories
|
||||
like <tt>ftp://ftp.somesite.com/pub/files/</tt></em>.<br>
|
||||
Note: For the filters, use something like <tt>+ftp.somesite.com/*</tt>
|
||||
<br>
|
||||
|
||||
<br><a NAME="QM1">Q: <strong>How can I retrieve .asp or .cgi sources instead of .html result?</strong></a><br>
|
||||
A: <em>You can't! For security reasons, web servers do not allow that.</em>
|
||||
|
||||
<br><br><a NAME="QM2">Q: <strong>How can I remove these annoying <tt><!-- Mirrored from... --></tt> from html files?</strong></a><br>
|
||||
A: <em>Use the footer option (-%F, or see the WinHTTrack options)</em>
|
||||
|
||||
<br><br><a NAME="QM3">Q: <strong>Do I have to select between ascii/binary transfer mode?</strong></a><br>
|
||||
A: <em>No, http files are always transferred as binary files. Ftp files, too (even if ascii mode could be selected)</em>
|
||||
|
||||
<br><br><a NAME="QM4">Q: <strong>Can HTTrack perform form-based authentication?</strong></a><br>
|
||||
A: <em>Yes. See the URL capture abilities (--catchurl for command-line release, or in the WinHTTrack interface)</em>
|
||||
|
||||
<br><br><a NAME="QM5">Q: <strong>Can I redirect downloads to tar/zip archive?</strong></a><br>
|
||||
A: <em>Yes. See the shell system command option (-V option for command-line release)</em>
|
||||
|
||||
<br><br><a NAME="QM6">Q: <strong>Can I use username/password authentication on a site?</strong></a><br>
|
||||
A: <em>Yes. Use user:password@your_url (example: <tt>http://foo:bar@www.someweb.com/private/mybox.html</tt>)</em>
|
||||
|
||||
<br><br><a NAME="QM7">Q: <strong>Can I use username/password authentication for a proxy?</strong></a><br>
|
||||
A: <em>Yes. Use user:password@your_proxy_name as your proxy name (example: <tt>smith:foo@proxy.mycorp.com</tt>)</em>
|
||||
|
||||
<br><br><a NAME="QM8">Q: <strong>Can HTTrack generates HP-UX or ISO9660 compatible files?</strong></a><br>
|
||||
A: <em>Yes. See the build options (-N, or see the WinHTTrack options)</em>
|
||||
|
||||
<br><br><a NAME="QM9">Q: <strong>If there any SOCKS support?</strong></a><br>
|
||||
A: <em>Not yet!</em>
|
||||
|
||||
<br><br><a NAME="QM10">Q: <strong>What's this hts-cache directory? Can I remove it?</strong></a><br>
|
||||
A: <em>NO if you want to update the site, because this directory is used by HTTrack for this purpose.
|
||||
If you remove it, options and URLs will not be available for updating the site</em>
|
||||
|
||||
<br><br><a NAME="QM10b">Q: <strong>What is the meaning of the <tt>Links scanned: 12/34 (+5)</tt> line in WinHTTrack/WebHTTrack?</strong></a><br>
|
||||
A: <em>12 is the number of links scanned and stored, 34 the total number of links detected to be parsed, and 5 the number of files downloaded in background.
|
||||
In this example, 17 links were downloaded out of a (temporary) total of 34 links.</em>
|
||||
|
||||
<br><br><a NAME="QM11">Q: <strong>Can I start a mirror from my bookmarks?</strong></a><br>
|
||||
A: <em>Yes. Drag&Drop your bookmark.html file to the WinHTTrack window (or use file://filename for command-line release) and select
|
||||
bookmark mirroring (mirror all links in pages, -Y) or bookmark testing (--testlinks)<em></em>
|
||||
|
||||
<br><br><a NAME="QM11c">Q: <strong>Can I convert a local website (file:// links) to a standard website?</strong></a><br>
|
||||
A: <em>Yes. Just start from the top index (example: file://C:\foopages\index.html) and mirror the local website.
|
||||
HTTrack will convert all file:// links to relative ones.
|
||||
</em>
|
||||
|
||||
<br><br><a NAME="QM11b">Q: <strong>Can I copy a project to another folder - Will the mirror work?</strong></a><br>
|
||||
A: <em>Yes. There is no absolute links, all links are relative.
|
||||
You can copy a project to another drive/computer/OS, and browse is without installing anything.</em>
|
||||
|
||||
<br><br><a NAME="QM12">Q: <strong>Can I copy a project to another computer/system? Can I then update it ?</strong></a><br>
|
||||
A: <em>Absolutely! You can keep your HTTrack favorite folder (C:\My Web Sites) in your local hard disk, copy it
|
||||
for a friend, and possibly update it, and then bring it back!<br>You can copy individual folders (projects), too: exchange
|
||||
your favorite websites with your friends, or send an old version of a site to someone who has a faster connection, and
|
||||
ask him to update it!</i><br>
|
||||
|
||||
|
||||
<br><small>
|
||||
Note: Export (Windows <-> Linux)<br>
|
||||
The file and cache structure is compatible between Linux/Windows, but you may have to do some changes, like the path<br>
|
||||
<table border="1">
|
||||
<tr><th>
|
||||
Windows -> Linux/Unix
|
||||
</th></tr>
|
||||
<tr><td>
|
||||
Copy (in binary mode) the entire folder and then to update it, enter into it and do a<br>
|
||||
<tt>
|
||||
httrack --update -O ./
|
||||
</tt>
|
||||
<br><br>
|
||||
<i>
|
||||
Note: You can then safely replace the existing folder (under Windows) with this one, because
|
||||
the Linux/Unix version did not change any options<br>
|
||||
Note: If you often switch between Windows/Linux with the same project, it might be a good idea to edit the hts-cache/doit.log file
|
||||
and delete old "-O" entries, because each time you do a <tt>httrack --update -O ./</tt> an entry is added,
|
||||
causing the command line to be long
|
||||
</i>
|
||||
</td></tr>
|
||||
<tr><th>
|
||||
Linux/Unix -> Windows
|
||||
</th></tr>
|
||||
<tr><td>
|
||||
Copy (in binary mode) the entire folder in your favorite Web mirror folder.
|
||||
Then, select this project, AND retype ALL URLs AND redefine all options as if you were
|
||||
creating a new project.
|
||||
This is necessary because the profile (winprofile.ini) has not be created with the Linux/Unix version.
|
||||
But do not be afraid, WinHTTrack will use cached files to update the project!
|
||||
</td></tr>
|
||||
</table>
|
||||
</small>
|
||||
|
||||
</em>
|
||||
|
||||
<br><br><a NAME="QM13">Q: <strong>How can I grab email addresses in web pages?</strong></a><br>
|
||||
A: <em>You can not. HTTrack has not be designed to be an email grabber, like many other (bad) products.
|
||||
</em>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<u><strong>Other problems:</strong></u><br>
|
||||
<br>
|
||||
|
||||
<a NAME="Q300">Q: <strong>My problerm is not listed!</strong><br>
|
||||
A: <em>Feel free to <a href="contact.html">contact us</a>!
|
||||
</em><br>
|
||||
|
||||
</em></p><h3><br>
|
||||
|
||||
<!-- ==================== Start epilogue ==================== -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td id="footer"><small>© 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,477 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
|
||||
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
|
||||
<title>HTTrack Website Copier - Offline Browser</title>
|
||||
|
||||
<style type="text/css">
|
||||
<!--
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
#siteNavigation a, #siteNavigation .current {
|
||||
font-weight: bold; color: #448;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
|
||||
#siteNavigation .current { background-color: #ccd; }
|
||||
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
.tblRegular { border-collapse: collapse; }
|
||||
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
|
||||
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
|
||||
.tblNoBorder td { border: 0; }
|
||||
|
||||
|
||||
// -->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr>
|
||||
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
|
||||
<tr>
|
||||
<td id="subTitle">Open Source offline browser</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
|
||||
<tr class="blak">
|
||||
<td>
|
||||
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
|
||||
<tr>
|
||||
<td id="pageContent">
|
||||
<!-- ==================== End prologue ==================== -->
|
||||
|
||||
<h2 align="center"><em>Filters: Advanced</em></h2>
|
||||
|
||||
<br>
|
||||
|
||||
See also: The <a href="faq.html#VF1">FAQ</a><br>
|
||||
|
||||
<br>
|
||||
|
||||
<i>You have to know that once you have defined
|
||||
starts links, the default mode is to mirror these links - i.e. if one of your start page is
|
||||
www.someweb.com/test/index.html, all links starting with www.someweb.com/test/ will be
|
||||
accepted. But links directly in www.someweb.com/.. will not be accepted, however, because
|
||||
they are in a higher strcuture. This prevent HTTrack from mirroring the whole site. (All
|
||||
files in structure levels equal or lower than the primary links will be retrieved.)<br>
|
||||
</i>
|
||||
<br>
|
||||
<b>But</b> you may want to download files that are not directly in the subfolders, or on the
|
||||
contrary refuse files of a particular type. That is the purpose of filters.
|
||||
<br>
|
||||
|
||||
<p>
|
||||
<h4>Scan rules based on URL or extension (e.g. accept or refuse all .zip or .gif files)</h4>
|
||||
</p>
|
||||
|
||||
To accept a family of links (for example, all links with a specific name or type), you just have to add
|
||||
an authorization filter, like <b><tt>+*.gif</tt></b>. The pattern is a plus (this one: <b><tt>+</tt></b>),
|
||||
followed by a pattern composed of letters and wildcards (this one: <b><tt>*</tt></b>).
|
||||
<br><br>
|
||||
To forbide a family of links, define
|
||||
an authorization filter, like <b><tt>-*.gif</tt></b>. The pattern is a dash (this one: <b><tt>-</tt></b>),
|
||||
followed by a the same kind of pattern as for the authorization filter.
|
||||
<br><br>
|
||||
Example: +*.gif will accept all files finished by .gif<br>
|
||||
Example: -*.gif will refuse all files finished by .gif<br>
|
||||
<br>
|
||||
|
||||
<p>
|
||||
<h4>Scan rules based on size (e.g. accept or refuse files bigger/smaller than a certain size)</h4>
|
||||
</p>
|
||||
|
||||
Once a link is scheduled for download, you can still refuse it (i.e. abort the download) by checking its
|
||||
size to ensure that you won't reach a defined limit.
|
||||
|
||||
Example: You may want to accept all files on the domain www.example.com, using '+www.example.com/*',
|
||||
including gif files inside this domain and outside (eternal images), but not take to large images,
|
||||
or too small ones (thumbnails)<br>
|
||||
Excluding gif images smaller than 5KB and images larger than 100KB is therefore a good option;
|
||||
+www.example.com +*.gif -*.gif*[<5] -*.gif*[>100]
|
||||
|
||||
<br>
|
||||
|
||||
Important notice: size scan rules are checked <font color=red><b>after</b></font> the link was scheduled for download,
|
||||
allowing to abort the connection.
|
||||
|
||||
|
||||
<p>
|
||||
<h4>Scan rules based on MIME types (e.g. accept or refuse all files of type audio/mp3)</h4>
|
||||
</p>
|
||||
|
||||
Once a link is scheduled for download, you can still refuse it (i.e. abort the download) by matching its MIME
|
||||
type against certain patterns.
|
||||
|
||||
Example: You may want to accept all files on the domain www.example.com, using '+www.example.com/*', and
|
||||
exclude all gif files, using '-*.gif'. But some dynamic scripts (such as www.example.com/dynamic.php) can
|
||||
both generate html content, or image data content, depending on the context. Excluding this script, using
|
||||
the scan rule '-www.example.com/dynamic.php', is therefore not a good solution.
|
||||
|
||||
<br>
|
||||
The only reliable way in such cases is to exclude the specific mime type 'image/gif', using the scan rule
|
||||
syntax:<br>
|
||||
-mime:image/gif
|
||||
<br>
|
||||
|
||||
Important notice: MIME types scan rules are <font color=red><b>only</b></font> checked against links that were
|
||||
scheduled for download, i.e. links <b>already authorized</b> by url scan rules.
|
||||
Hence, using '+mime:image/gif' will only be a hint to accept images that were already authorized,
|
||||
if previous MIME scan rules excluded them - such as in '-mime:*/* +mime:text/html +mime:image/gif'
|
||||
|
||||
<br>
|
||||
|
||||
<br>
|
||||
<h3>Scan rules patterns:</h3>
|
||||
|
||||
<p>
|
||||
<h4>1.a. Scan rules based on URL or extension</h4>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
Filters are analyzed by HTTrack from the first filter to the last one. The complete URL
|
||||
name is compared to filters defined by the user or added automatically by HTTrack. <br><br>
|
||||
A scan rule has an higher priority is it is declared later - hierarchy is important: <br>
|
||||
|
||||
<br>
|
||||
<table BORDER="1" CELLPADDING="2">
|
||||
<tr><td nowrap>
|
||||
<tt>+*.gif -image*.gif</tt>
|
||||
</td><td>
|
||||
Will accept all gif files BUT image1.gif,imageblue.gif,imagery.gif and so on
|
||||
</tr>
|
||||
<tr><td nowrap>
|
||||
<tt>-image*.gif +*.gif</tt>
|
||||
</td><td>
|
||||
Will accept all gif files, because the second pattern is prioritary (because it is defined AFTER the first one)
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
Note: these scan rules can be mixed with scan rules based on size (see 1.b)<br>
|
||||
|
||||
<br>
|
||||
We saw that patterns are composed of letters and wildcards (<b><tt>*</tt></b>), as in */image*.gif
|
||||
|
||||
<p align="JUSTIFY"><br>
|
||||
Special wild cards can be used for specific characters: (*[..])</p>
|
||||
<table BORDER="1" CELLPADDING="2">
|
||||
<tr>
|
||||
<td nowrap><tt>*</tt></td>
|
||||
<td>any characters (the most commonly used)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[file] or *[name]</tt></td>
|
||||
<td>any filename or name, e.g. not /,? and ; characters</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[path]</tt></td>
|
||||
<td>any path (and filename), e.g. not ? and ; characters</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[a,z,e,r,t,y]</tt></td>
|
||||
<td>any letters among a,z,e,r,t,y</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[a-z]</tt></td>
|
||||
<td>any letters</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[0-9,a,z,e,r,t,y]</tt></td>
|
||||
<td>any characters among 0..9 and a,z,e,r,t,y</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[\*]</tt></td>
|
||||
<td>the * character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[\\]</tt></td>
|
||||
<td>the \ character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[\[\]]</tt></td>
|
||||
<td>the [ or ] character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[]</tt></td>
|
||||
<td>no characters must be present after</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<p align="JUSTIFY"><br>
|
||||
Here are some examples of filters: (that can be generated automatically using the
|
||||
interface)</p>
|
||||
<table BORDER="1" CELLPADDING="2">
|
||||
<tr>
|
||||
<td nowrap><tt>www.thisweb.com* </tt></td>
|
||||
<td>This will refuse/accept this web site (all links located in it will be rejected)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*.com/*</tt></td>
|
||||
<td>This will refuse/accept all links that contains .com in them</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*cgi-bin* </tt></td>
|
||||
<td>This will refuse/accept all links that contains cgi-bin in them</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>www.*[path].com/*[path].zip </tt></td>
|
||||
<td>This will refuse/accept all zip files in .com addresses</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*someweb*/*.tar*</tt></td>
|
||||
<td>This will refuse/accept all tar (or tar.gz etc.) files in hosts containing someweb</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*/*somepage*</tt></td>
|
||||
<td>This will refuse/accept all links containing somepage (but not in the address)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*.html</tt></td>
|
||||
<td>This will refuse/accept all html files. <br>
|
||||
Warning! With this filter you will accept ALL html files, even those in other addresses.
|
||||
(causing a global (!) web mirror..) Use www.someweb.com/*.html to accept all html files from
|
||||
a web.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*.html*[]</tt></td>
|
||||
<td>Identical to <tt>*.html</tt>, but the link must not have any supplemental characters
|
||||
at the end (links with parameters, like <tt>www.someweb.com/index.html?page=10</tt>, will be
|
||||
refused)</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
<h4>1.b. Scan rules based on size</h4>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
Filters are analyzed by HTTrack from the first filter to the last one. The sizes
|
||||
are compared against scan rules defined by the user.<br><br>
|
||||
A scan rule has an higher priority is it is declared later - hierarchy is important.<br>
|
||||
|
||||
Note: scan rules based on size can be mixed with regular URL patterns<br>
|
||||
|
||||
<p align="JUSTIFY"><br>
|
||||
Size patterns:</p>
|
||||
<table BORDER="1" CELLPADDING="2">
|
||||
<tr>
|
||||
<td nowrap><tt>*[<NN]</tt></td>
|
||||
<td>the file size must be smaller than NN KB
|
||||
<br>(note: this may cause broken files during the download)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[>NN]</tt></td>
|
||||
<td>the file size must be greater than NN KB
|
||||
<br>(note: this may cause broken files during the download)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>*[<NN>MM]</tt></td>
|
||||
<td>the file size must be smaller than NN KB and greater than MM KB
|
||||
<br>(note: this may cause broken files during the download)</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p align="JUSTIFY"><br>
|
||||
Here are some examples of filters: (that can be generated automatically using the
|
||||
interface)</p>
|
||||
<table BORDER="1" CELLPADDING="2">
|
||||
<tr>
|
||||
<td nowrap><tt>-*[<10]</tt></td>
|
||||
<td>the file will be forbidden if its size is smaller than 10 KB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>-*[>50]</tt></td>
|
||||
<td>the file will be forbidden if its size is greater than 50 KB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>-*[<10] -*[>50]</tt></td>
|
||||
<td>the file will be forbidden if if its size is smaller than 10 KB <b>or</b> greater than 50 KB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>+*[<80>1]</tt></td>
|
||||
<td>the file will be accepted if if its size is smaller than 80 KB <b>and</b> greater than 1 KB</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<p>
|
||||
<h4>2. Scan rules based on MIME types</h4>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
Filters are analyzed by HTTrack from the first filter to the last one. The complete MIME
|
||||
type is compared against scan rules defined by the user.<br><br>
|
||||
A scan rule has an higher priority is it is declared later - hierarchy is important<br>
|
||||
|
||||
Note: scan rules based on MIME types can <b>NOT</b> be mixed with regular URL patterns or size patterns within the same rule, but you can use both of them in distinct ones<br>
|
||||
|
||||
<p align="JUSTIFY"><br>
|
||||
Here are some examples of filters: (that can be generated automatically using the
|
||||
interface)</p>
|
||||
<table BORDER="1" CELLPADDING="2">
|
||||
<tr>
|
||||
<td nowrap><tt>-mime:application/octet-stream</tt></td>
|
||||
<td>This will refuse all links of type 'application/octet-stream' that were already scheduled for download
|
||||
(i.e. the download will be aborted)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>-mime:application/*</tt></td>
|
||||
<td>This will refuse all links of type begining with 'application/' that were already scheduled for download
|
||||
(i.e. the download will be aborted)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>-mime:application/* +mime:application/pdf</tt></td>
|
||||
<td>This will refuse all links of type begining with 'application/' that were already scheduled for download, except for 'application/pdf' ones
|
||||
(i.e. all other 'application/' link download will be aborted)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>-mime:video/*</tt></td>
|
||||
<td>This will refuse all video links that were already scheduled for download
|
||||
(i.e. all other 'application/' link download will be aborted)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>-mime:video/* -mime:audio/*</tt></td>
|
||||
<td>This will refuse all audio and video links that were already scheduled for download
|
||||
(i.e. all other 'application/' link download will be aborted)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap><tt>-mime:*/* +mime:text/html +mime:image/*</tt></td>
|
||||
<td>This will refuse all links that were already scheduled for download, except html pages, and images
|
||||
(i.e. all other link download will be aborted). Note that this is a very unefficient way of filtering
|
||||
files, as aborted downloads will generate useless requests to the server. You are strongly advised to
|
||||
use additional URL scan rules</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
<h4>2. Scan rules based on URL or size, and scan rules based on MIME types interactions</h4>
|
||||
</p>
|
||||
|
||||
You must use scan rules based on MIME types very carefully, or you will end up with an imcomplete
|
||||
mirror, or create an unefficient download session (generating costly and useless requests to the server)
|
||||
<br>
|
||||
|
||||
<p align="JUSTIFY"><br>
|
||||
Here are some examples of good/bad scan rules interactions:</p>
|
||||
<table BORDER="1" CELLPADDING="1">
|
||||
<tr>
|
||||
<td>Purpose</td>
|
||||
<td>Method</td>
|
||||
<td>Result</td>
|
||||
</tr>
|
||||
<!-- -->
|
||||
<tr>
|
||||
<td rowspan=2>Download all html and images on www.example.com</td>
|
||||
<td bgcolor="#55ff55"><tt>-*<br /> +www.example.com/*.html<br /> +www.example.com/*.php<br /> +www.example.com/*.asp<br /> +www.example.com/*.gif <br />+www.example.com/*.jpg <br />+www.example.com/*.png<br /> -mime:*/* +mime:text/html +mime:image/*</tt></td>
|
||||
<td>Good: efficient download</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="#FF5555"><tt>-*<br />+www.example.com/*<br />-mime:*/* +mime:text/html +mime:image/*</tt></td>
|
||||
<td>Bad: many aborted downloads, leading to poor performances and server load</td>
|
||||
</tr>
|
||||
<!-- -->
|
||||
<tr>
|
||||
<td rowspan=2>Download only html on www.example.com, plus ZIP files</td>
|
||||
<td bgcolor="#55ff55"><tt>-*<br /> +www.example.com/*.html<br />+www.example.com/somedynamicscript.php<br />+www.example.com/*.zip<br>-mime:* +mime:text/html +mime:application/zip</tt></td>
|
||||
<td>Good: ZIP files will be downloaded, even those generated by 'somedynamicscript.php'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="#FF5555"><tt>-*<br /> +www.example.com/*.html<br>-mime:* +mime:text/html +mime:application/zip</tt></td>
|
||||
<td>Bad: ZIP files will never be scheduled for download, and hence the zip mime scan rule will never be used</td>
|
||||
</tr>
|
||||
<!-- -->
|
||||
<tr>
|
||||
<td rowspan=2>Download all html, and images smaller than 100KB on www.example.com</td>
|
||||
<td bgcolor="#55ff55"><tt>-*<br /> +www.example.com/*.html<br /> +www.example.com/*.php<br /> +www.example.com/*.asp<br /> +www.example.com/*.gif*[<100] <br />+www.example.com/*.jpg*[<100] <br />+www.example.com/*.png*[<100]<br /> -mime:*/* +mime:text/html +mime:image/*</tt></td>
|
||||
<td>Good: efficient download</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="#FF5555"><tt>-*<br />+www.example.com/**[<100]<br />-mime:*/* +mime:text/html +mime:image/*</tt></td>
|
||||
<td>Bad: many aborted downloads, leading to poor performances and server load</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<!-- ==================== Start epilogue ==================== -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td id="footer"><small>© 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
|
||||
body {
|
||||
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
|
||||
background: #77b;
|
||||
}
|
||||
body, td {
|
||||
font: 0.96em/1.3em "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#subTitle {
|
||||
background: #000; color: #fff; padding: 4px; font-weight: bold;
|
||||
}
|
||||
|
||||
/*
|
||||
Width for "#siteNavigation td" based on number of buttons
|
||||
Six: 16.6%
|
||||
*/
|
||||
#siteNavigation td { width: 16.6%; }
|
||||
#siteNavigation a {
|
||||
display: block; padding: 2px;
|
||||
text-align: center; font-weight: bold; color: #448; /* font-size: 12px; */ background-color: #99c;
|
||||
}
|
||||
#siteNavigation a:link { text-decoration: none; }
|
||||
#siteNavigation a:visited { text-decoration: none; }
|
||||
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
|
||||
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
|
||||
|
||||
a:link { text-decoration: underline; color: #00f; }
|
||||
a:visited { text-decoration: underline; color: #000; }
|
||||
a:hover { text-decoration: underline; color: #c00; }
|
||||
a:active { text-decoration: underline; }
|
||||
|
||||
|
||||
|
||||
#pageContent {
|
||||
clear: both;
|
||||
border-bottom: 6px solid #000;
|
||||
padding: 10px; padding-top: 20px;
|
||||
line-height: 1.65em;
|
||||
background-image: url(images/bg_rings.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top right;
|
||||
}
|
||||
#pageContent p { margin: 0; margin-bottom: 30px; }
|
||||
|
||||
|
||||
|
||||
#pageContent, #siteNavigation {
|
||||
background-color: #ccd;
|
||||
}
|
||||
|
||||
.tableWidth { min-width: 400px; }
|
||||
|
||||
|
||||
/* ----------------------------------- */
|
||||
|
||||
|
||||
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
|
||||
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
|
||||
|
||||
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
|
||||
|
||||
h1 { margin: 0; font-weight: bold; font-size: 2em; }
|
||||
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
|
||||
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
|
||||
|
||||
.blak { background-color: #000; }
|
||||
.hide { display: none; }
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 53 B |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |