Dateien gelöscht...

This commit is contained in:
root 2023-10-19 15:34:58 +02:00
parent 1ad4c38bbc
commit 9982628473
141 changed files with 0 additions and 39507 deletions

View File

@ -1,12 +0,0 @@
This file contains a list of the people who have contributed code and/or
documentation to the vchanger project. Thanks to all!
Principle Authors:
Josh Fisher
Contributors:
Bill Arlofski
Wanderlei Hüttel
Steven A. Falco

View File

@ -1,381 +0,0 @@
COPYRIGHTS:
Vchanger is Copyright (C) 2008-2017 Josh Fisher.
LICENSE:
Vchanger is licensed under the GNU GPL version 2, the full text
of which is included below.
IP RIGHTS:
Recipient understands that although each Contributor grants the
licenses to its Contributions set forth herein, no assurances are
provided by any Contributor that the Program does not infringe
the patent or other intellectual property rights of any other
entity. Each Contributor disclaims any liability to Recipient
for claims brought by any other entity based on infringement of
intellectual property rights or otherwise. As a condition to
exercising the rights and licenses granted hereunder, each
Recipient hereby assumes sole responsibility to secure any other
intellectual property rights needed, if any. For example, if a
third party patent license is required to allow Recipient to
distribute the Program, it is Recipient's responsibility to
acquire that license before distributing the Program.
DISCLAIMER:
NO WARRANTY
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
=====================================
============== Text of GPL version 2 license ========
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) 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
this service 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 make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. 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.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
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
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the 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 a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE 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.
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
convey 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 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision 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, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This 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.

View File

@ -1,96 +0,0 @@
vchanger ChangeLog
1.0.3 (2020-05-06)
- Redesign locking mechanism for multiple instances using POSIX
semaphores.
- Use at, rather than nohup, in scripts invoked by udev rules to fix
nohup not working as expected on some platforms.
(Patch from Steven A. Falco)
- Add spec file for Fedora 29 (Provided by Steven A. Falco)
- Correct number of slots reported by SIZE command (Fixes bug 17)
- Rename logging variables that conflict with cmath's log function (Fixes bug 18)
1.0.2 (2018-06-14)
- Use named mutex to prevent instances of vchanger invoked by Bacula during
a bconsole call from initiating further bconsole calls. Prevents a race
condition caused by the need for Bacula to invoke additional instances of
vchanger when vcahnger invokes bconsole to issue 'update slots' and
'label barcodes' commands. (Fixes bug 15)
- Prevent load command from loading the same virtual slot into more than
one virtual drive. (Fixes bug 13)
- Fix bconsole update slots command needs drive to be specified. [Patch
from Bill Arlofski] (Fixes bug 14)
- Improve generated volume label format. [Patch from Wanderlei Huttel]
- Additional logging to help debug udev/UUID assignment problems
1.0.1 (2015-06-09)
- When looking up the mountpoint of a magazine by UUID with libudev,
also look for mountpoint of device alias names in DEVLINKS in addition
to the DEVNAME. (Fixes bug 12)
- The f_mntonname field in struct statfs was misspelled, causing a compile
error on BSD systems. (Fixes bug 10)
- Use static linking of libwinpthread on Windows builds to prevent missing
libwinpthreads-1.dll error. (Fixes bug 11)
- Set signal handler for SIGPIPE to SIG_IGN and do not reacquire process
lockfile when deleting the update lockfile. This should prevent a race
condition in vchanger when Bacula invokes other instances of vchanger
recursively when an 'update slots' or 'label barcodes' command is issued
via bconsole. (Fixes bug 9)
- Fixed nsis script error causing Windows installer to install incorrectly
for 64-bit Windows and fail to create Start Menu items. Also now correctly
removes itself from the Installed Programs list when uninstalled.
1.0.0 (2015-04-14)
- Major change to magazine and work directory structure.
- Virtual drive symlink points to volume file directly
- All drive and magazine state info kept in work directory
- Magazines have a dynamic number of virtual slots corresponding
to a variable number of volume files
- Volume files may be moved from one magazine to another
- Allow an unlimited number of virtual drives
- Add ability to issue 'update slots' and 'label barcodes' commands
to Bacula to support plug-n-play of removable drives
- Add support for undocumented Bacula Autochanger Interface command LISTALL
- Added extended API command CREATEVOLS to allow creating and labelling
volume files with a single command.
- Added extended API command REFRESH to support plug-n-play of removable
drives
- Removed deprecated extended API command INITMAG
- Add udev support for finding devices by UUID
- Increased amount of logging
- Enable use of getfsstat() for finding mountpoint by UUID to support
building for BSD / OSX
- Allow building without UUID capability to support minimal systems having
neither libudev nor libblkid/libuuid.
- Changed Windows version requirement to Server 2008+ / Vista+
- Allow cross-compile of 64-bit Windows target
0.8.6 (2010-05-13)
- Use opendir instead of stat to trigger automounts
- Add ability to configure logging level
- Add extensive logging output to enhance debugging
- Maintain persistent magazine bay state to prevent magazines
in multi-magazine changers from inadvertently being moved
when a lower numbered bay has its magazine detached.
0.8.5 (2010-02-05)
- Fix esfsprogs link errors on some Linux distros (bug 2941290)
- Merge "safe strncat" patch
0.8.4 (2009-12-02)
- Ignore slot number passed to 'loaded' command (bug 2907225)
- Fix libblkid linking for FreeBSD (bug 2872006)
0.8.3 (2009-10-27)
- Add specification of magazines by partition UUID
- Add LISTMAGS command to list magazines assigned to an autochanger
- Empty, rather than delete, loadedN files to prevent out of space
error on magazine partition
- Fix error parsing index files. (bug 2785183)
- Fixes for FreeBSD compatibility. (bug 2872006)
0.8.2 [2009-04-14]
- Corrections to documentation
0.8.1 [2009-01-27]
- Add extended command INITMAG for initializing new magazines
- Added command line flags to set uid and gid when run as root
- Force LOADED command to return zero when no slot is loaded
- Changed 99-by-label-fix.rules to work with centos5/el5
- Added stateN files to track the loaded state of each virtual
drive when last invoked
- Removed debug line inadvertently left in by_label_fix.sh
0.8.0 [2008-10-03]
- Initial Release

View File

@ -1,52 +0,0 @@
This file explains general installation instructions. The documentation
included in the ./doc directory of the vchanger source archive should be
consulted instead.
--------------------------------------------------------------------------
Using GNU autoconfig
--------------------------------------------------------------------------
1. Run ./configure to generate config.h and the various Makefiles.
./configure --help gives a list of possible options. Usually,
the default options will suffice to install vchanger under the
/usr/local directory.
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Or if you're using a non Bourne-compatible shell, you can do:
sh -c 'CFLAGS="-O2 -g" ./configure
A typical vchanger development configuration for Linux is:
CFLAGS="-g -O2 -Wall" \
./configure
2. Carefully review the output from ./configure. If it is not
what you want, re-run the ./configure. Often ./configure "caches"
things and thus remembers the last ./configure options. If you
want to be sure you are starting fresh after a ./configure,
do a:
make distclean
before re-running ./configure. "make distclean" wipes out any
knowledge of the ./configure, so don't do it after you have a
configuration that suits your needs, otherwise the "make" will
not work.
3. Build it
make
4. Install it
make install-strip
5. Create a autochanger configuration file and configure Bacula(TM)
to use that autochanger. Please see the documentation in the
./doc directory for details.

View File

@ -1,817 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2013 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.
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/vchanger
pkgincludedir = $(includedir)/vchanger
pkglibdir = $(libdir)/vchanger
pkglibexecdir = $(libexecdir)/vchanger
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 = :
subdir = .
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
$(srcdir)/config.h.in AUTHORS COPYING ChangeLog INSTALL NEWS \
README config.guess depcomp install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-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 \
tags-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
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)$(docdir)"
DATA = $(doc_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
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__post_remove_distdir = $(am__remove_distdir)
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
DIST_TARGETS = dist-gzip
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 = ${SHELL} /root/vchanger/missing aclocal-1.13
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 1
AUTOCONF = ${SHELL} /root/vchanger/missing autoconf
AUTOHEADER = ${SHELL} /root/vchanger/missing autoheader
AUTOMAKE = ${SHELL} /root/vchanger/missing automake-1.13
AWK = mawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /usr/bin/grep -E
EXEEXT =
GREP = /usr/bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LDFLAGS =
LIBOBJS =
LIBS =
LTLIBOBJS =
MAKEINFO = ${SHELL} /root/vchanger/missing makeinfo
MKDIR_P = /usr/bin/mkdir -p
OBJEXT = o
PACKAGE = vchanger
PACKAGE_BUGREPORT = jfisher@jaybus.com
PACKAGE_NAME = vchanger
PACKAGE_STRING = vchanger 1.0.3
PACKAGE_TARNAME = vchanger
PACKAGE_URL =
PACKAGE_VERSION = 1.0.3
PATH_SEPARATOR = :
SET_MAKE =
SHELL = /bin/bash
STRIP = strip
VERSION = 1.0.3
WINLDADD =
abs_builddir = /root/vchanger
abs_srcdir = /root/vchanger
abs_top_builddir = /root/vchanger
abs_top_srcdir = /root/vchanger
ac_ct_CC = gcc
ac_ct_CXX = g++
am__include = include
am__leading_dot = .
am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build_alias =
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = $(datadir)/doc/$(PACKAGE)-${VERSION}
dvidir = ${docdir}
exec_prefix = ${prefix}
host_alias =
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /root/vchanger/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix =
top_builddir = .
top_srcdir = .
AUTOMAKE_OPTIONS = foreign
SUBDIRS = src doc scripts
doc_DATA = AUTHORS \
ChangeLog \
COPYING \
INSTALL \
NEWS \
README \
ReleaseNotes \
doc/vchangerHowto.html \
doc/vchanger-example.conf \
doc/example-vchanger-udev.rules
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign 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: $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(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: $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
install-docDATA: $(doc_DATA)
@$(NORMAL_INSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(docdir)" || 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)$(docdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
done
uninstall-docDATA:
@$(NORMAL_UNINSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
# 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.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
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"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
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; \
$(am__define_uniq_tagged_files); \
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-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
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"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
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__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_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.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 $(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__post_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 $(DATA) config.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(docdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
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 mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-docDATA
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
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-docDATA
.MAKE: $(am__recursive_targets) all install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
distcheck distclean distclean-generic distclean-hdr \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-docDATA 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 pdf pdf-am ps ps-am tags \
tags-am uninstall uninstall-am uninstall-docDATA
# 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:

View File

@ -1,13 +0,0 @@
AUTOMAKE_OPTIONS = foreign
SUBDIRS = src doc scripts
docdir = $(datadir)/doc/$(PACKAGE)-${VERSION}
doc_DATA = AUTHORS \
ChangeLog \
COPYING \
INSTALL \
NEWS \
README \
ReleaseNotes \
doc/vchangerHowto.html \
doc/vchanger-example.conf \
doc/example-vchanger-udev.rules

View File

@ -1,817 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 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__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
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 = :
subdir = .
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
$(srcdir)/config.h.in AUTHORS COPYING ChangeLog INSTALL NEWS \
README config.guess depcomp install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-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 \
tags-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
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)$(docdir)"
DATA = $(doc_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
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__post_remove_distdir = $(am__remove_distdir)
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
DIST_TARGETS = dist-gzip
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_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
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@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
WINLDADD = @WINLDADD@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
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_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = $(datadir)/doc/$(PACKAGE)-${VERSION}
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
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@
AUTOMAKE_OPTIONS = foreign
SUBDIRS = src doc scripts
doc_DATA = AUTHORS \
ChangeLog \
COPYING \
INSTALL \
NEWS \
README \
ReleaseNotes \
doc/vchangerHowto.html \
doc/vchanger-example.conf \
doc/example-vchanger-udev.rules
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign 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: $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(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: $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
install-docDATA: $(doc_DATA)
@$(NORMAL_INSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(docdir)" || 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)$(docdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
done
uninstall-docDATA:
@$(NORMAL_UNINSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
# 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.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
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"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
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; \
$(am__define_uniq_tagged_files); \
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-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
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"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
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__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_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.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 $(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__post_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 $(DATA) config.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(docdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
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 mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-docDATA
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
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-docDATA
.MAKE: $(am__recursive_targets) all install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
distcheck distclean distclean-generic distclean-hdr \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-docDATA 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 pdf pdf-am ps ps-am tags \
tags-am uninstall uninstall-am uninstall-docDATA
# 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:

View File

@ -1 +0,0 @@
Please see the ReleaseNotes file.

View File

@ -1,6 +0,0 @@
vchanger is designed to implement a disk-based virtual autochanger device for
use with Bacula(TM), an open-source network backup solution.
Please see the vchangerHowto.html in the doc directory of the vchanger source
for further documentation and installation instructions.

View File

@ -1,284 +0,0 @@
Release Notes for vchanger 1.0.3 2020-05-07
Release 1.0.3
This is mostly a bug fix release, correcting the number of slots
reported by SIZE/LIST commands, a compilation error on FreeBSD,
and failure of the launch scripts invoked by udev on some platforms.
The locking mechanism to allow multiple instances and automatically
issuing 'update slots' and other commands to bconsole has been
redesigned to use POSIX semaphores.
Bugs Fixed:
17 SIZE/LIST commands return wrong number of slots
18 Compilation fails on FreeBSD 13 (head)
==================================================================
Release 1.0.2
This is a bug fix release, fixing three issues found in version 1.0.1
and improving volume label formatting for CREATEVOLS command and logging
of udev/UUID mountpoint discovery.
Bugs Fixed:
13 LOAD command allows loading slot into multiple drives
14 Hang when bconsole called to update slots
15 Race condition in bconsole call may hang vchanger
==================================================================
Release 1.0.1
This is a bug fix release, fixing four issues found in version 1.0.0.
Additionally, the Windows installer was fixed to correctly install on
64-bit Windows and create Start Menu items.
Bugs Fixed:
9 Vchanger may hang when issuing commands to Bacula
10 uuidlookup.c compilation failure on FreeBSD 9.3
11 Missing libwinpthread-1.dll error in Windows version
12 Mounted magazines specified by UUID not always detected
==================================================================
Release 1.0.0
This is a major release adding several features and a change in the
structure of magazines and the way volume files are "loaded" into
virtual drives. These changes allow for an unlimited and variable
number of volume files on each magazine, and allow adding and deleting
volumes to/from magazines, as well as moving volume files from one
magazine to another. Virtual drives are now symlinks dynamically
created by the LOAD command. An unlimited number of virtual drives per
autochanger is supported without requiring a vchanger configuration
change. The number of virtual drives used is determined solely by the
Device resources defined in bacula-sd.conf.
Also, vchanger will now automatically issue 'update slots' and
'label barcodes' commands to Bacula via bconsole when it detects a
change in the availability of any of its defined magazines or when
volume files are created with the CREATEVOLS command. Together with
an automounting mechanism, this makes the attachment and detachment
of removable drives a plug-n-play operation.
To aid in using removable drives on systems having udev, vchanger now
includes a udev rules generator and helper scripts to enable the
automatic mounting of magazine filesystems triggered by udev hotplug
events. The advantage to using this automounting method, as opposed to
autofs or window manager automounters using dbus, etc., is that these
scripts will invoke vchanger with a new REFRESH command that will issue
an 'update slots' command via bconsole whenever removable drives
are attached or detached.
Change Summary:
The concept of a 'magazine' has changed. A magazine remains a
directory, usually the mountpoint of a filesystem, however no metadata
files are now stored on the magazines and volume files are not renamed
when loading and unloading virtual drives. There is now no requirement
that all magazines have the same number of volumes, and volume files
may have any filename. New volume files can be created on a magazine
at any time. A new extended interface command, CREATEVOLS, has been
implemented for this purpose. A magazine is now simply a filesystem
(or directory) containing some variable number of volume files. Any
directory containing volume files can be used as a magazine in
vchanger, including for example volumes created using Bacula's
built-in disk storage handling. Volume files may be deleted from
magazines or moved between magazines. The only caveat is that the
volume's Media Type must match that of the autochanger's Storage
resource.
Virtual drives are now simply a symlink in the autochanger's work
directory. The drive number is the name of the symlink. For example,
if the autochanger's work directory is /var/spool/vchanger/changer1,
then virtual drive 0 is a symlink at the path
/var/spool/vchanger/changer1/0. The symlink's path is then specified as
the Archive Device in the Device resource defined in bacula-sd.conf for
the autochanger's drive 0. Vchanger implements the LOAD command by
creating this symlink pointing at the volume file mapped to the slot
requested to be loaded. A subsequent UNLOAD command deletes the
symlink. In previous versions, a LOAD created a symlink pointing to the
mountpoint of the magazine and then renamed the volume file on the
magazine to 'drive0', 'drive1', etc. This was because the original
design criteria, (dating to before the release of Bacula 2.0.0),
required that vchanger run on Windows Server 2003, which did not have
the capability of file-level symlinks. However, file-level symlinks is
a much more robust method, handling any "out of space" conditions in a
clean, expected way. For that reason, use of vchanger on versions of
Windows without file-level symlinks is no longer supported.
An autochanger's magazines are assigned in its vchanger configuration
file. An unlimited number of magazines is supported and the storage space used
by an autochanger can be scaled at any time by simply adding additional
magazines and creating volume files on them. Expansion of the storage
space does not require any change to Bacula's configuration. Any
combination of one or more of the assigned magazines can be attached
(mounted) at any time.
When a magazine is attached or detached there is of course a change in
which volumes are available for reading and writing. Bacula must be
instructed to update its database to reflect the change. This is
analogous to swapping tapes in a tape autochanger library. Bacula has a
bconsole command used for this purpose, the 'update slots' command. In
general, one would insert or remove tapes and then issue an 'update slots'
command in bconsole to inform Bacula of the change. With vchanger,
attaching or detaching a magazine also requires that the 'update slots'
command be issued, however vchanger now detects changes to the currently
available volume files and automatically issues the 'update slots'
command when needed. This allows swapping magazines to be a true
plug-n-play operation.
The scripts directory in the vchanger source tree contains a script to
generate the udev rules needed to automatically mount the magazines
filesystems defined in the vchanger configuration file. These rules will
cause udev to launch scripts, also included in the scripts directory, to
handle a "hot add" event by mounting the magazine filesystem and invoking
vchanger with the REFRESH command to issue an 'update slots' command to
Bacula. Likewise, a "hot delete" event will launch a script to unmount
the filesystem and again invoke vchanger with the REFRESH command.
If vchanger is compiled on a system supporting udev, then libudev will be
used to determine the device node of magazine partitions specified by
UUID. If compiled on a system without udev, the older method of using
libblkid and libuuid will be used if available. For Windows builds,
win32 API functions are used to map filesystem UUID to device node. If
the getmntent() function is not available on the target system for
determining a filesystem's mountpoint, then vchanger will use the
getfsstat() function, allowing magazines to be specified by UUID on many
BSD and OSX systems. A build for a minimal system having neither libudev
nor libblkid will succeed, however specifying magazines by UUID will not
function and result in an error, meaning that such minimal systems must
only specify magazines by directory path. These changes should alleviate
many of the problems people have had in the past building vchanger for
non-Linux systems.
Bugs Fixed:
5 Compile errors on Debian or Ubuntu
6 Broken libblkid returns wrong device for UUID
7 Limitation on number of virtual drives
8 Compile errors under Solaris 10
==================================================================
Release 0.8.6
When using the automount_dir directive, opendir() is now used rather
than stat(), to trigger automounts. For some combinations of Linux
kernel and older versions of autofs, stat() is not sufficient to
trigger an automount.
Extensive logging was added to this version, along with a new
configuration directive to set the logging level. This should greatly
help problem diagnosis.
State information for the magazine bays is now kept in the work
directory along with virtual drive state. In a multi-magazine changer,
when a magazine was unloaded from a bay, magazines in higher numbered
bays were being shifted down to appear loaded into a different bay
than they were before the magazine was unloaded. With this version,
magazines will remain loaded in the same bay until they are unloaded.
Bugs Fixed:
==================================================================
Release 0.8.5
Minor bug fix release. Fixes link errors for older versions of
e2fsprogs on some distros (bug 4). Also applies the "safe strncat"
patch to prevent a buffer overrun present in strncat in some standard
C libraries.
Bugs Fixed:
4 Compile errors related to e2fsprogs libraries
==================================================================
Release 0.8.4
This release is a bug fix release. All users of version 0.8.3 should
upgrade to 0.8.4 to prevent a bug causing Bacula to mark volumes in
error.
Change Summary:
The slot number passed in parameter 3 is now ignored for the LOADED
command. This should fix a bug causing Bacula to mark a volume
loaded into a drive in error when a job starts after the magazine
has been removed.
Bugs Fixed:
3 LOADED command fails when param 3 (slot) is zero
2 Compile fail on FreeBSD 7.2
==================================================================
Release 0.8.3
This release adds the ability to specify magazine partitions by UUID,
making it much easier to use multiple simultaneous magazines.
Change Summary:
Specifying magazine partitions by UUID is a paradigm shift in the way
magazines may be assigned to a particular autochanger. Previously,
magazines were assigned to an autochanger by giving the magazine a
filesystem label matching the autochanger's name. Standard udev
rules on many distributions create a device symlink in
/dev/disk/by-label that allow easily configuring autofs to mount the
magazine at a known mountpoint. This works well for a single magazine
autochanger, but for a multi-magazine autochanger special udev rules
are needed to create unique device symlinks when all of the
magazines have the same filesystem label. Since the standard udev
rules on most systems create device symlinks by filesystem UUID
under /dev/disk/by-uuid, assigning magazines to an autochanger by UUID
makes it much easier to configure automounting that will work for an
autochanger with any number of simultaneously mounted magazines.
Note that magazines may still be specified as a directory path, so the
previous methods still work, however it is recommended to assign
magazines by UUID if possible.
As an aid to working with multi-magazine autochangers, a new extended
API command, LISTMAGS, was added to list the magazines currently
"inserted" into each of the autochanger's magazine bays. Like the
INITMAG command, it is an extension to the Bacula Autochanger API and so
is never invoked by Bacula.
Bugs Fixed:
1 Unable to detect when drives inserted using the vchanger
2 Compile fail on FreeBSD 7.2
==================================================================
Release 0.8.2
This release fixes some documentation errors. No changes were
made to the vchanger source.
Change Summary:
2009-04-14
- Fixed ambiguities in the Howto kindly pointed out by Sean Brannon.
2009-01-27
- Added command line flags to set uid and gid when run as root
- Force LOADED command to return zero when no slot is loaded
- Changed 99-by-label-fix.rules to work with centos5/el5
- Added stateN files to track the loaded state of each virtual
drive when last invoked
- Removed debug line inadvertently left in by_label_fix.sh
2008-10-03
- This initial release has been running on a test server with
Bacula 2.4.2 on Linux for over a week, so is considered beta.
Bugs Fixed:
=================================================================

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,320 +0,0 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
/* Copyright notice */
#define COPYRIGHT_NOTICE "vchanger Copyright (c) 2006-2020 Josh Fisher"
/* Define to 1 if you have the <alloca.h> header file. */
#define HAVE_ALLOCA_H 1
/* Have blkid_evaluate_tag function */
/* #undef HAVE_BLKID_EVALUATE_TAG */
/* Have blkid_get_devname function */
/* #undef HAVE_BLKID_GET_DEVNAME */
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* have header direct.h */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file. */
#define HAVE_DIRENT_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `getfsstat' function. */
/* #undef HAVE_GETFSSTAT */
/* Define to 1 if you have the `getline' function. */
#define HAVE_GETLINE 1
/* Define to 1 if you have the `getmntent' function. */
#define HAVE_GETMNTENT 1
/* Define to 1 if you have the `getmntent_r' function. */
#define HAVE_GETMNTENT_R 1
/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `getuid' function. */
#define HAVE_GETUID 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <libgen.h> header file. */
#define HAVE_LIBGEN_H 1
/* Define to 1 if you have the <libudev.h> header file. */
/* #undef HAVE_LIBUDEV_H */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* have function localtime_r */
#define HAVE_LOCALTIME_R /**/
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <mntent.h> header file. */
#define HAVE_MNTENT_H 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <optarg.h> header file. */
/* #undef HAVE_OPTARG_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the <semaphore.h> header file. */
#define HAVE_SEMAPHORE_H 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* have header shlobj.h */
/* #undef HAVE_SHLOBJ_H */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the `sleep' function. */
#define HAVE_SLEEP 1
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if stdbool.h conforms to C99. */
#define HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stddef.h> header file. */
#define HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdio.h> header file. */
#define HAVE_STDIO_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the `syslog' function. */
#define HAVE_SYSLOG 1
/* Define to 1 if you have the <syslog.h> header file. */
#define HAVE_SYSLOG_H 1
/* Define to 1 if you have the <sys/bitypes.h> header file. */
#define HAVE_SYS_BITYPES_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1
/* Define to 1 if you have the <sys/mount.h> header file. */
#define HAVE_SYS_MOUNT_H 1
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/timespec.h> header file. */
/* #undef HAVE_SYS_TIMESPEC_H */
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/ucred.h> header file. */
/* #undef HAVE_SYS_UCRED_H */
/* Define to 1 if you have the <sys/wait.h> header file. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if typeof works with your compiler. */
#define HAVE_TYPEOF 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the <varargs.h> header file. */
/* #undef HAVE_VARARGS_H */
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* have header windows.h */
/* #undef HAVE_WINDOWS_H */
/* have header winioctl.h */
/* #undef HAVE_WINIOCTL_H */
/* have header winreg.h */
/* #undef HAVE_WINREG_H */
/* have header winsock.h */
/* #undef HAVE_WINSOCK_H */
/* Define to 1 if the system has the type `_Bool'. */
#define HAVE__BOOL 1
/* Name of package */
#define PACKAGE "vchanger"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "jfisher@jaybus.com"
/* Define to the full name of this package. */
#define PACKAGE_NAME "vchanger"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "vchanger 1.0.3"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "vchanger"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.0.3"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "1.0.3"
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
/* #undef _UINT32_T */
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
/* #undef _UINT64_T */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to the type of a signed integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
/* #undef int32_t */
/* Define to the type of a signed integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
/* #undef int64_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long int' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to __typeof__ if your compiler spells it that way. */
/* #undef typeof */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
/* Define to the type of an unsigned integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
/* #undef uint32_t */
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
/* #undef uint64_t */

View File

@ -1,319 +0,0 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Copyright notice */
#undef COPYRIGHT_NOTICE
/* Define to 1 if you have the <alloca.h> header file. */
#undef HAVE_ALLOCA_H
/* Have blkid_evaluate_tag function */
#undef HAVE_BLKID_EVALUATE_TAG
/* Have blkid_get_devname function */
#undef HAVE_BLKID_GET_DEVNAME
/* Define to 1 if you have the <ctype.h> header file. */
#undef HAVE_CTYPE_H
/* have header direct.h */
#undef HAVE_DIRECT_H
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `getfsstat' function. */
#undef HAVE_GETFSSTAT
/* Define to 1 if you have the `getline' function. */
#undef HAVE_GETLINE
/* Define to 1 if you have the `getmntent' function. */
#undef HAVE_GETMNTENT
/* Define to 1 if you have the `getmntent_r' function. */
#undef HAVE_GETMNTENT_R
/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID
/* Define to 1 if you have the <grp.h> header file. */
#undef HAVE_GRP_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define to 1 if you have the <libgen.h> header file. */
#undef HAVE_LIBGEN_H
/* Define to 1 if you have the <libudev.h> header file. */
#undef HAVE_LIBUDEV_H
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* have function localtime_r */
#undef HAVE_LOCALTIME_R
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <mntent.h> header file. */
#undef HAVE_MNTENT_H
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the <optarg.h> header file. */
#undef HAVE_OPTARG_H
/* Define to 1 if you have the `pipe' function. */
#undef HAVE_PIPE
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
/* Define to 1 if you have the <semaphore.h> header file. */
#undef HAVE_SEMAPHORE_H
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* have header shlobj.h */
#undef HAVE_SHLOBJ_H
/* Define to 1 if you have the <signal.h> header file. */
#undef HAVE_SIGNAL_H
/* Define to 1 if you have the `sleep' function. */
#undef HAVE_SLEEP
/* Define to 1 if you have the <stdarg.h> header file. */
#undef HAVE_STDARG_H
/* Define to 1 if stdbool.h conforms to C99. */
#undef HAVE_STDBOOL_H
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_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 `symlink' function. */
#undef HAVE_SYMLINK
/* Define to 1 if you have the `syslog' function. */
#undef HAVE_SYSLOG
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* Define to 1 if you have the <sys/bitypes.h> header file. */
#undef HAVE_SYS_BITYPES_H
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H
/* Define to 1 if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_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/timespec.h> header file. */
#undef HAVE_SYS_TIMESPEC_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_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 <sys/ucred.h> header file. */
#undef HAVE_SYS_UCRED_H
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the <time.h> header file. */
#undef HAVE_TIME_H
/* Define to 1 if typeof works with your compiler. */
#undef HAVE_TYPEOF
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Define to 1 if you have the <varargs.h> header file. */
#undef HAVE_VARARGS_H
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
/* have header windows.h */
#undef HAVE_WINDOWS_H
/* have header winioctl.h */
#undef HAVE_WINIOCTL_H
/* have header winreg.h */
#undef HAVE_WINREG_H
/* have header winsock.h */
#undef HAVE_WINSOCK_H
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
/* 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
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT32_T
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT64_T
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to the type of a signed integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef int32_t
/* Define to the type of a signed integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef int64_t
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `long int' if <sys/types.h> does not define. */
#undef off_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> does not define. */
#undef ssize_t
/* Define to __typeof__ if your compiler spells it that way. */
#undef typeof
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define to the type of an unsigned integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef uint32_t
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef uint64_t

View File

@ -1,316 +0,0 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Copyright notice */
#undef COPYRIGHT_NOTICE
/* Define to 1 if you have the <alloca.h> header file. */
#undef HAVE_ALLOCA_H
/* Have blkid_evaluate_tag function */
#undef HAVE_BLKID_EVALUATE_TAG
/* Have blkid_get_devname function */
#undef HAVE_BLKID_GET_DEVNAME
/* Define to 1 if you have the <ctype.h> header file. */
#undef HAVE_CTYPE_H
/* have header direct.h */
#undef HAVE_DIRECT_H
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `getfsstat' function. */
#undef HAVE_GETFSSTAT
/* Define to 1 if you have the `getline' function. */
#undef HAVE_GETLINE
/* Define to 1 if you have the `getmntent' function. */
#undef HAVE_GETMNTENT
/* Define to 1 if you have the `getmntent_r' function. */
#undef HAVE_GETMNTENT_R
/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID
/* Define to 1 if you have the <grp.h> header file. */
#undef HAVE_GRP_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define to 1 if you have the <libgen.h> header file. */
#undef HAVE_LIBGEN_H
/* Define to 1 if you have the <libudev.h> header file. */
#undef HAVE_LIBUDEV_H
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* have function localtime_r */
#undef HAVE_LOCALTIME_R
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <mntent.h> header file. */
#undef HAVE_MNTENT_H
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the <optarg.h> header file. */
#undef HAVE_OPTARG_H
/* Define to 1 if you have the `pipe' function. */
#undef HAVE_PIPE
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* have header shlobj.h */
#undef HAVE_SHLOBJ_H
/* Define to 1 if you have the <signal.h> header file. */
#undef HAVE_SIGNAL_H
/* Define to 1 if you have the `sleep' function. */
#undef HAVE_SLEEP
/* Define to 1 if you have the <stdarg.h> header file. */
#undef HAVE_STDARG_H
/* Define to 1 if stdbool.h conforms to C99. */
#undef HAVE_STDBOOL_H
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_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 `symlink' function. */
#undef HAVE_SYMLINK
/* Define to 1 if you have the `syslog' function. */
#undef HAVE_SYSLOG
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* Define to 1 if you have the <sys/bitypes.h> header file. */
#undef HAVE_SYS_BITYPES_H
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H
/* Define to 1 if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_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/timespec.h> header file. */
#undef HAVE_SYS_TIMESPEC_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_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 <sys/ucred.h> header file. */
#undef HAVE_SYS_UCRED_H
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the <time.h> header file. */
#undef HAVE_TIME_H
/* Define to 1 if typeof works with your compiler. */
#undef HAVE_TYPEOF
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Define to 1 if you have the <varargs.h> header file. */
#undef HAVE_VARARGS_H
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
/* have header windows.h */
#undef HAVE_WINDOWS_H
/* have header winioctl.h */
#undef HAVE_WINIOCTL_H
/* have header winreg.h */
#undef HAVE_WINREG_H
/* have header winsock.h */
#undef HAVE_WINSOCK_H
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
/* 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
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT32_T
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT64_T
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to the type of a signed integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef int32_t
/* Define to the type of a signed integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef int64_t
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `long int' if <sys/types.h> does not define. */
#undef off_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> does not define. */
#undef ssize_t
/* Define to __typeof__ if your compiler spells it that way. */
#undef typeof
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define to the type of an unsigned integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef uint32_t
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef uint64_t

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,80 +0,0 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_INIT([vchanger], [1.0.3], [jfisher@jaybus.com])
AC_DEFINE([COPYRIGHT_NOTICE],["AC_PACKAGE_NAME Copyright (c) 2006-2020 Josh Fisher"],[Copyright notice])
AC_CONFIG_SRCDIR([src])
AC_CONFIG_LIBOBJ_DIR([src/compat])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE
# Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_CHECK_TOOL([STRIP],[strip], [])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_C_TYPEOF
AC_HEADER_STDBOOL
AC_TYPE_PID_T
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_TYPE_UID_T
AC_TYPE_INT32_T
AC_TYPE_UINT32_T
AC_TYPE_INT64_T
AC_TYPE_UINT64_T
AC_TYPE_MODE_T
AC_SYS_LARGEFILE
# Use multithreading
AC_SEARCH_LIBS([pthread_create], [pthread], [], [AC_MSG_ERROR(["could not find libpthread"])])
AC_CHECK_HEADER([sys/mman.h],
[ AC_SEARCH_LIBS([shm_open],[rt],[],[AC_MSG_ERROR([shm_open() not found])])
])
# Support using libudev or libblkid for UUID lookup
AC_SEARCH_LIBS([udev_new],[udev],[AC_CHECK_HEADERS([libudev.h])])
AC_CHECK_HEADER([blkid/blkid.h],
[ AC_SEARCH_LIBS([blkid_evaluate_tag],[blkid],
[AC_DEFINE([HAVE_BLKID_EVALUATE_TAG],,[Have blkid_evaluate_tag function])],
[ AC_SEARCH_LIBS([blkid_get_devname],[blkid],
[AC_DEFINE([HAVE_BLKID_GET_DEVNAME],,[Have blkid_get_devname function])])
])
])
# Checks for header files.
AC_HEADER_DIRENT
AC_CHECK_HEADERS_ONCE([stdio.h stdlib.h string.h stdarg.h stddef.h])
AC_CHECK_HEADERS_ONCE([time.h sys/time.h sys/timespec.h sys/wait.h limits.h locale.h syslog.h])
AC_CHECK_HEADERS_ONCE([sys/types.h strings.h alloca.h sys/bitypes.h getopt.h utime.h sys/stat.h])
AC_CHECK_HEADERS_ONCE([inttypes.h ctype.h errno.h unistd.h varargs.h mntent.h])
AC_CHECK_HEADERS_ONCE([sys/param.h sys/mount.h sys/ucred.h grp.h pwd.h dirent.h fcntl.h sys/mman.h])
AC_CHECK_HEADERS_ONCE([sys/select.h optarg.h pthread.h libgen.h io.h signal.h semaphore.h])
AC_CHECK_HEADER([windows.h], [AC_DEFINE([HAVE_WINDOWS_H],,[have header windows.h])
WINLDADD=-static])
AC_SUBST(WINLDADD)
AC_CHECK_HEADER([winioctl.h], [AC_DEFINE([HAVE_WINIOCTL_H],,[have header winioctl.h])], [], [#include <windows.h>])
AC_CHECK_HEADER([winsock.h], [AC_DEFINE([HAVE_WINSOCK_H],,[have header winsock.h])], [], [#include <windows.h>])
AC_CHECK_HEADER([winreg.h], [AC_DEFINE([HAVE_WINREG_H],,[have header winreg.h])], [], [#include <windows.h>])
AC_CHECK_HEADER([shlobj.h], [AC_DEFINE([HAVE_SHLOBJ_H],,[have header shlobj.h])], [], [#include <windows.h>])
AC_CHECK_HEADER([direct.h], [AC_DEFINE([HAVE_DIRECT_H],,[have header direct.h])], [], [#include <windows.h>])
# Checks for functions.
AC_FUNC_VPRINTF
AC_CHECK_DECL([localtime_r], [AC_DEFINE([HAVE_LOCALTIME_R],,[have function localtime_r])], [],
[AC_INCLUDES_DEFAULT
#include <pthread.h>
#include <time.h>])
AC_REPLACE_FUNCS([gettimeofday getline getuid pipe readlink sleep symlink syslog])
AC_CHECK_FUNCS([setlocale getmntent getmntent_r getfsstat])
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile scripts/Makefile])
AC_OUTPUT

View File

@ -1,5 +0,0 @@
/var/log/vchanger/*.log {
missingok
notifempty
sharedscripts
}

View File

@ -1,791 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2013-05-30.07; # UTC
# Copyright (C) 1999-2013 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
# Get the directory component of the given path, and save it in the
# global variables '$dir'. Note that this directory component will
# be either empty or ending with a '/' character. This is deliberate.
set_dir_from ()
{
case $1 in
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
*) dir=;;
esac
}
# Get the suffix-stripped basename of the given path, and save it the
# global variable '$base'.
set_base_from ()
{
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
}
# If no dependency file was actually created by the compiler invocation,
# we still have to create a dummy depfile, to avoid errors with the
# Makefile "include basename.Plo" scheme.
make_dummy_depfile ()
{
echo "#dummy" > "$depfile"
}
# Factor out some common post-processing of the generated depfile.
# Requires the auxiliary global variable '$tmpdepfile' to be set.
aix_post_process_depfile ()
{
# If the compiler actually managed to produce a dependency file,
# post-process it.
if test -f "$tmpdepfile"; then
# Each line is of the form 'foo.o: dependency.h'.
# Do two passes, one to just change these to
# $object: dependency.h
# and one to simply output
# dependency.h:
# which is needed to avoid the deleted-header problem.
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
} > "$depfile"
rm -f "$tmpdepfile"
else
make_dummy_depfile
fi
}
# A tabulation character.
tab=' '
# A newline character.
nl='
'
# Character ranges might be problematic outside the C locale.
# These definitions help.
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
lower=abcdefghijklmnopqrstuvwxyz
digits=0123456789
alpha=${upper}${lower}
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"
# Avoid interferences from the environment.
gccflag= dashmflag=
# 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 information.
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 -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
## (see the conditional assignment to $gccflag above).
## 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). Also, it might not be
## supported by the other compilers which use the 'gcc' depmode.
## - 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 -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
# 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.
## 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.
tr ' ' "$nl" < "$tmpdepfile" \
| 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 -ne 0; then
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
make_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.
set_dir_from "$object"
set_base_from "$object"
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 -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
aix_post_process_depfile
;;
tcc)
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
# FIXME: That version still under development at the moment of writing.
# Make that this statement remains true also for stable, released
# versions.
# It will wrap lines (doesn't matter whether long or short) with a
# trailing '\', as in:
#
# foo.o : \
# foo.c \
# foo.h \
#
# It will put a trailing '\' even on the last line, and will use leading
# spaces rather than leading tabs (at least since its commit 0394caf7
# "Emit spaces for -MD").
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
# We have to change lines of the first kind to '$object: \'.
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
# And for each line of the second kind, we have to emit a 'dep.h:'
# dummy dependency, to avoid the deleted-header problem.
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
## The order of this option in the case statement is important, since the
## shell code in configure will try each of these formats in the order
## listed in this file. A plain '-MD' option would be understood by many
## compilers, so we must ensure this comes after the gcc and icc options.
pgcc)
# Portland's C compiler understands '-MD'.
# Will always output deps to 'file.d' where file is the root name of the
# source file under compilation, even if file resides in a subdirectory.
# The object file name does not affect the name of the '.d' file.
# pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
set_dir_from "$object"
# Use the source, not the object, to determine the base name, since
# that's sadly what pgcc will do too.
set_base_from "$source"
tmpdepfile=$base.d
# For projects that build the same source file twice into different object
# files, the pgcc approach of using the *source* file root name can cause
# problems in parallel builds. Use a locking strategy to avoid stomping on
# the same $tmpdepfile.
lockdir=$base.d-lock
trap "
echo '$0: caught signal, cleaning up...' >&2
rmdir '$lockdir'
exit 1
" 1 2 13 15
numtries=100
i=$numtries
while test $i -gt 0; do
# mkdir is a portable test-and-set.
if mkdir "$lockdir" 2>/dev/null; then
# This process acquired the lock.
"$@" -MD
stat=$?
# Release the lock.
rmdir "$lockdir"
break
else
# If the lock is being held by a different process, wait
# until the winning process is done or we timeout.
while test -d "$lockdir" && test $i -gt 0; do
sleep 1
i=`expr $i - 1`
done
fi
i=`expr $i - 1`
done
trap - 1 2 13 15
if test $i -le 0; then
echo "$0: failed to acquire lock after $numtries attempts" >&2
echo "$0: check lockdir '$lockdir'" >&2
exit 1
fi
if test $stat -ne 0; then
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 "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
| sed -e 's/$/ :/' >> "$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.
set_dir_from "$object"
set_base_from "$object"
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 -ne 0; then
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,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
# Add 'dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else
make_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.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
# Libtool 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$base.o.d # libtool 1.5
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
# Same post-processing that is required for AIX mode.
aix_post_process_depfile
;;
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 -ne 0; then
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"
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
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"
# Some versions of the HPUX 10.20 sed can't process this sed invocation
# correctly. Breaking it into two sed invocations is a workaround.
tr ' ' "$nl" < "$tmpdepfile" \
| 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"
# Some versions of the HPUX 10.20 sed can't process the last invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed '1,2d' "$tmpdepfile" \
| tr ' ' "$nl" \
| 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:

View File

@ -1,509 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# doc/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2013 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.
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/vchanger
pkgincludedir = $(includedir)/vchanger
pkglibdir = $(libdir)/vchanger
pkglibexecdir = $(libexecdir)/vchanger
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 = :
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 =
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; }; \
}
man5dir = $(mandir)/man5
am__installdirs = "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"
man8dir = $(mandir)/man8
NROFF = nroff
MANS = $(man5_MANS) $(man8_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /root/vchanger/missing aclocal-1.13
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 1
AUTOCONF = ${SHELL} /root/vchanger/missing autoconf
AUTOHEADER = ${SHELL} /root/vchanger/missing autoheader
AUTOMAKE = ${SHELL} /root/vchanger/missing automake-1.13
AWK = mawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /usr/bin/grep -E
EXEEXT =
GREP = /usr/bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LDFLAGS =
LIBOBJS =
LIBS =
LTLIBOBJS =
MAKEINFO = ${SHELL} /root/vchanger/missing makeinfo
MKDIR_P = /usr/bin/mkdir -p
OBJEXT = o
PACKAGE = vchanger
PACKAGE_BUGREPORT = jfisher@jaybus.com
PACKAGE_NAME = vchanger
PACKAGE_STRING = vchanger 1.0.3
PACKAGE_TARNAME = vchanger
PACKAGE_URL =
PACKAGE_VERSION = 1.0.3
PATH_SEPARATOR = :
SET_MAKE =
SHELL = /bin/bash
STRIP = strip
VERSION = 1.0.3
WINLDADD =
abs_builddir = /root/vchanger/doc
abs_srcdir = /root/vchanger/doc
abs_top_builddir = /root/vchanger
abs_top_srcdir = /root/vchanger
ac_ct_CC = gcc
ac_ct_CXX = g++
am__include = include
am__leading_dot = .
am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build_alias =
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host_alias =
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /root/vchanger/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix = ../
top_builddir = ..
top_srcdir = ..
man8_MANS = vchanger.8
man5_MANS = vchanger.conf.5
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(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 doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/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: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-man5: $(man5_MANS)
@$(NORMAL_INSTALL)
@list1='$(man5_MANS)'; \
list2=''; \
test -n "$(man5dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.5[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
done; }
uninstall-man5:
@$(NORMAL_UNINSTALL)
@list='$(man5_MANS)'; test -n "$(man5dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir)
install-man8: $(man8_MANS)
@$(NORMAL_INSTALL)
@list1='$(man8_MANS)'; \
list2=''; \
test -n "$(man8dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.8[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
done; }
uninstall-man8:
@$(NORMAL_UNINSTALL)
@list='$(man8_MANS)'; test -n "$(man8dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
cscope cscopelist:
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 $(MANS)
installdirs:
for dir in "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; 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 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-man
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-man5 install-man8
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
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-man
uninstall-man: uninstall-man5 uninstall-man8
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
ctags-am distclean distclean-generic distdir 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-man5 install-man8 \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am uninstall-man uninstall-man5 uninstall-man8
# 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:

View File

@ -1,2 +0,0 @@
man8_MANS = vchanger.8
man5_MANS = vchanger.conf.5

View File

@ -1,509 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 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__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
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 = :
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
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; }; \
}
man5dir = $(mandir)/man5
am__installdirs = "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"
man8dir = $(mandir)/man8
NROFF = nroff
MANS = $(man5_MANS) $(man8_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
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@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
WINLDADD = @WINLDADD@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
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_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
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@
man8_MANS = vchanger.8
man5_MANS = vchanger.conf.5
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(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 doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/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: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-man5: $(man5_MANS)
@$(NORMAL_INSTALL)
@list1='$(man5_MANS)'; \
list2=''; \
test -n "$(man5dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.5[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
done; }
uninstall-man5:
@$(NORMAL_UNINSTALL)
@list='$(man5_MANS)'; test -n "$(man5dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir)
install-man8: $(man8_MANS)
@$(NORMAL_INSTALL)
@list1='$(man8_MANS)'; \
list2=''; \
test -n "$(man8dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.8[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
done; }
uninstall-man8:
@$(NORMAL_UNINSTALL)
@list='$(man8_MANS)'; test -n "$(man8dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
cscope cscopelist:
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 $(MANS)
installdirs:
for dir in "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; 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 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-man
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-man5 install-man8
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
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-man
uninstall-man: uninstall-man5 uninstall-man8
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
ctags-am distclean distclean-generic distdir 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-man5 install-man8 \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am uninstall-man uninstall-man5 uninstall-man8
# 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:

View File

@ -1,6 +0,0 @@
# This file contains example udev rules for automounting filesystems assigned to vchanger
# See vchangerHowto.html for details on generating udev rules for vchanger magazines.
#
# Rules for magazine 0 (uuid:7b4526c4-d8e9-48ba-b227-f67f855a0dc7)
ACTION=="add",SUBSYSTEM=="block", ENV{ID_FS_UUID}=="7b4526c4-d8e9-48ba-b227-f67f855a0dc7", RUN+="/usr/libexec/vchanger/vchanger-launch-mount.sh 7b4526c4-d8e9-48ba-b227-f67f855a0dc7"
ACTION=="remove",SUBSYSTEM=="block", ENV{ID_FS_UUID}=="7b4526c4-d8e9-48ba-b227-f67f855a0dc7", RUN+="/usr/libexec/vchanger/vchanger-launch-umount.sh 7b4526c4-d8e9-48ba-b227-f67f855a0dc7"

View File

@ -1,78 +0,0 @@
# Example vchanger 1.0.2 config file
#
# Storage Resource Name of the Storage resource defined in bacula-dir.conf
# that is associated with this changer.
# [Default: 'vchanger' ]
#Storage Resource = "vchanger"
#
# User User to run as when invoked by root. This must be the
# owner of the volume files controlled by this changer, and
# so will need to be the same user that bacula-sd runs as.
# [Default: bacula ]
#User = bacula
#
# Group Group to run as when invoked by root. This should be the
# owner group of the volume files controlled by this changer,
# and should also be the default group of the user that
# bacula-sd runs as.
# [Default: tape ]
#group = tape
#
# Work Dir Directory where virtual drive and magazine state information
# and symlinks for this changer are stored.
# [Default: /var/spool/vchanger/{StorageResource} ]
#work dir = "/var/spool/vchanger/vcahnger"
#
# Logfile Path to log file for this changer.
# [Default: {WorkDir}/{StorageResource}.log ]
#logfile = "/var/spool/vchanger/vchanger.log"
#
# Log Level Sets the level of detail being logged. An integer value from
# 0-7 is expected, where 7 logs the most detail. The levels
# correspond to LOG_EMERG - LOG_DEBUG. (See man 3 syslog)
# [Default: 3 (LOG_ERR) ]
#log_level = 3
#
# bconsole Sets the path to the bconsole binary that vchanger will run
# in order to send 'update slots' and 'label barcodes' commands
# to Bacula. To disable sending commands to Bacula, set
# bconsole="".
# [Default: "/usr/sbin/bconsole" ]
#bconsole = "/usr/sbin/bconsole"
#
# bconsole config Path to the config file bconsole will use when vchanger
# invokes bconsole. By default, bconsole will be invoked
# without the -c flag. The file must be readable by the user
# vchanger is run as.
# [Default: none ]
#bconsole config = /etc/bacula/bconsole.conf
#
# Default Pool Name of the pool that new volumes created by vcahnger
# should be placed into when using bconsole to send a
# 'label barcodes' command.
# [Default: "Scratch" ]
#default pool = "Scratch"
#
# Magazine [Required] Gives the list of magazines known to this changer.
# One or more magazine directives must be specified. A magazine
# may be specified as either a directory path or as the UUID
# of a filesystem partition. A magazine is specified by UUID
# by prefixing the string "UUID:" to the filesystem's UUID.
# For magazines specified by UUID, the mountpoint of the
# filesystem will be queried from the system. Note that vchanger
# does not attempt to mount the magazines that are specified
# by filesystem UUID. Vchanger utilizes all magazines that are
# already mounted at the time it is invoked.
# [Default: none ]
#magazine = "uuid:4fcb1422-f15c-4d7a-8a32-a4dcc0af5e00"
#Magazine = "/mnt/backup2"

View File

@ -1,206 +0,0 @@
'\" t
.\" Title: vchanger
.\" Author: Josh Fisher <jfisher@jaybus.com>
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 05/11/2020
.\" Manual: vchanger Manual
.\" Source: vchanger 1.0.3
.\" Language: English
.\"
.TH "VCHANGER" "8" "05/11/2020" "vchanger 1\&.0\&.3" "vchanger Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
vchanger \- Virtual disk\-based autochanger for Bacula network backup system
.SH "SYNOPSIS"
.sp
\fBvchanger\fR [\fIOptions\fR] config command [slot] [device] [drive]
.sp
\fBvchanger\fR [\fIOptions\fR] config CREATEVOLS mag_ndx count [start]
.sp
\fBvchanger\fR [\fIOptions\fR] config LISTMAGS
.sp
\fBvchanger\fR [\fIOptions\fR] config REFRESH
.SH "DESCRIPTION"
.sp
The \fBvchanger(8)\fR utility is used to emulate and control a virtual autochanger within the Bacula network backup system environment\&. Backup volumes stored on multiple disk filesystems are mapped to a single set of virtual slots\&. This allows an unlimited number of virtual drives and an unlimited number of virtual slots spread across an unlimited number of physical disk drives to be assigned to a single autochanger\&. This allows unlimited scaling of the cirtual autochanger simply by adding additional disk drives\&.
.sp
Vchanger is primarily deigned for use with removable disk drives\&. Its ability to interact with Bacula and determine removable drive mount points through udev allow for plug\-n\-play operation when attaching and detaching removable disk drives\&.
.sp
The first argument, \fIconfig\fR, is required amd specifies the path to the \fBvchanger\&.conf(5)\fR configuration file of the autochanger to be commanded\&.
.sp
The second argument, \fIcommand\fR, is the Bacula Autochanger Interface command to perform\&.
.sp
The third argument, \fIslot\fR, is required for the LOAD, LOADED, and UNLOAD commands and gives the slot number of the volume to act upon\&.
.sp
The fourth argument, \fIdevice\fR, is required for the LOAD, LOADED, and UNLOAD commands\&. It normally specifies the device node of a tape drive for tape autochangers\&. For vcahnger, it is only required as a place holder, and its value is ignored\&.
.sp
The fifth argument, \fIdrive\fR, is required for the LOAD, LOADED, and UNLOAD commands and gives the zero\-based drive number to act upon\&.
.sp
Vchanger implements the commands defined by the Bacula Autochanger Interface specification\&. The following commands are supported\&.
.PP
\fBLIST\fR
.RS 4
List slots, one line each, in the format slot:label\&.
.RE
.PP
\fBLOAD\fR \fIslot\fR \fIdevice\fR \fIdrive\fR
.RS 4
Load the volume in slot
\fIslot\fR
into drive
\fIdrive\fR\&.
.RE
.PP
\fBLOADED\fR \fIslot\fR \fIdevice\fR \fIdrive\fR
.RS 4
Print the slot number currently loaded into drive
\fIdrive\fR, or print
\fI0\fR
if the drive is unloaded\&.
.RE
.PP
\fBSLOTS\fR
.RS 4
Print the number of slots\&.
.RE
.PP
\fBUNLOAD\fR \fIslot\fR \fIdevice\fR \fIdrive\fR
.RS 4
Unload the volume currently loaded in drive
\fIdrive\fR\&.
.RE
.sp
Vchanger also implements the following undocumented comands
.PP
\fBLISTALL\fR
.RS 4
List drive status followed by slot status, one line for each drive or slot, in the format type:number:status:label, where
\fItype\fR
is D for a drive or S for a slot,
\fInumber\fR
is the drive or slot number,
\fIstatus\fR
is E for empty or F for full, and
\fIlabel\fR
is the volume label (barcode)\&.
.RE
.sp
Additionally, the following extended commands are supported\&.
.PP
\fBCREATEVOLS\fR \fImag_ndx\fR \fIcount\fR \fI[start]\fR
.RS 4
Create
\fIcount\fR
volume files on the magazine indexed by
\fImag_ndx\fR\&. Magazines are directories and/or filesystems that have been defined in the
\fBvchanger(5)\fR
configuration file given by
\fIconfig\fR\&. The magazine index is based on the order in which the Magazine directives appear in the configuration file, where index zero is the first occurrence\&. Optionally,
\fIstart\fR
specifies the minimum integer uniqueness number to append to a prefix string when generating filenames for the created volume files\&. The default is to use a uniqueness number greater than highest number currently used for any volume file on the selected magazine\&.
.RE
.PP
\fBLISTMAGS\fR
.RS 4
List the status of all assigned magazines (directories and filesystems), one per line, in the format mag:count:start:mnt, where
\fImag\fR
is zero\-based index of the magazines specified in configuration file
\fIconfig\fR,
\fIcount\fR
is the number of volume files on that magazine,
\fIstart\fR
is the virtual slot number of the beginning of the range of slots mapped to the magazine\(cqs volume files, and
\fImnt\fR
is the magazine\(cqs directory/mountpoint if mounted, or blank if not currently mounted\&.
.RE
.PP
\fBREFRESH\fR
.RS 4
Refresh state information for the autochanger defined by the configuration file
\fIconfig\fR, issuing an
\fIupdate slots\fR
command to Bacula if required\&.
.RE
.sp
\fBBacula Interaction\fR
.sp
By default, vcahgner will invoke bconsole and issue commands to Bacula when certain operator actions are needed\&. When anything happens that changes the current set of volume files being used, (the virtual slot to volume file mapping), vchanger will invoke bconsole and issue an \fIupdate slots\fR command\&. For example, when the operator attaches a removable drive defined as one of the changer\(cqs magazines, the volume files on the removable drive must be mapped to virtual slots\&. Since the slot\-to\-volume mapping will have changed, Bacula will need to be informed of the change via the \fIupdate slots\fR command\&. The \fBREFRESH\fR command can be invoked to force vchanger to update state info and trigger \fIupdate slots\fR if needed\&.
.sp
Additionally, when new volumes are created with the \fBCREATEVOLS\fR command, vchanger will invoke bconsole and issue a \fIlabel barcodes\fR command to allow Bacula to write volume labels on the newly created volume files\&.
.SH "COMMAND LINE OPTIONS"
.PP
\fB\-u, \-\-user\fR=\fIuid\fR
.RS 4
Override the default user to run as when invoked by root\&. The default is normally specified in the configuration file given by
\fIconfig\fR\&.
.RE
.PP
\fB\-g, \-\-group\fR=\fIgid\fR
.RS 4
Override the default group to run as when invoked by root\&. The default is normally specified in the configuration file given by
\fIconfig\fR\&.
.RE
.PP
\fB\-\-pool\fR=\fIpool\fR
.RS 4
Overrides the name of the pool into which volumes created by the CREATEVOLS command will be placed when vchanger is configured to label new volumes by sending Bacula a
\fIlabel barcodes\fR
command\&. The default is given by the
\fIDefault Pool\fR
setting in the configuration file\&.
.RE
.PP
\fB\-l, \-\-label\fR=\fIprefix\fR
.RS 4
Overrides the default volume label prefix when generating names for new volume files created by the CREATEVOLS command\&. The default is
\fIname_ndx\fR, where
\fIname\fR
is the autochanger name and
\fIndx\fR
is the magazine index\&.
.RE
.PP
\fB\-\-help\fR
.RS 4
Displays command help for the vchanger command\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Displays vchanger version information\&.
.RE
.SH "NOTES"
.sp
See the vchangerHowto\&.html file included in the doc directory of the source distribution for more detailed documentation\&.
.SH "SEE ALSO"
.sp
\fBvchanger\&.conf(5)\fR
.SH "COPYRIGHT"
.sp
Copyright 2006\-2020 Josh Fisher
.sp
This is free software; See the source for copying conditions\&. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&.
.SH "AUTHOR"
.PP
\fBJosh Fisher\fR <\&jfisher@jaybus\&.com\&>
.RS 4
Author.
.RE

View File

@ -1,183 +0,0 @@
VCHANGER(8)
===========
Josh Fisher <jfisher@jaybus.com>
:doctype: manpage
:man source: vchanger
:man version: 1.0.3
:man manual: vchanger Manual
NAME
----
vchanger - Virtual disk-based autochanger for Bacula network backup system
SYNOPSIS
--------
*vchanger* ['Options'] config command [slot] [device] [drive]
*vchanger* ['Options'] config CREATEVOLS mag_ndx count [start]
*vchanger* ['Options'] config LISTMAGS
*vchanger* ['Options'] config REFRESH
DESCRIPTION
-----------
The *vchanger(8)* utility is used to emulate and control a virtual
autochanger within the Bacula network backup system environment.
Backup volumes stored on multiple disk filesystems are mapped to a
single set of virtual slots. This allows an unlimited number of
virtual drives and an unlimited number of virtual slots spread
across an unlimited number of physical disk drives to be assigned
to a single autochanger. This allows unlimited scaling of the cirtual
autochanger simply by adding additional disk drives.
Vchanger is primarily deigned for use with removable disk drives. Its
ability to interact with Bacula and determine removable drive mount
points through udev allow for plug-n-play operation when attaching
and detaching removable disk drives.
The first argument, 'config', is required amd specifies the path to the
*vchanger.conf(5)* configuration file of the autochanger to be
commanded.
The second argument, 'command', is the Bacula Autochanger Interface command
to perform.
The third argument, 'slot', is required for the LOAD, LOADED, and UNLOAD
commands and gives the slot number of the volume to act upon.
The fourth argument, 'device', is required for the LOAD, LOADED, and UNLOAD
commands. It normally specifies the device node of a tape drive for tape
autochangers. For vcahnger, it is only required as a place holder, and its
value is ignored.
The fifth argument, 'drive', is required for the LOAD, LOADED, and UNLOAD
commands and gives the zero-based drive number to act upon.
Vchanger implements the commands defined by the Bacula Autochanger
Interface specification. The following commands are supported.
*LIST*::
List slots, one line each, in the format slot:label.
*LOAD* 'slot' 'device' 'drive'::
Load the volume in slot 'slot' into drive 'drive'.
*LOADED* 'slot' 'device' 'drive'::
Print the slot number currently loaded into drive 'drive', or print
'0' if the drive is unloaded.
*SLOTS*::
Print the number of slots.
*UNLOAD* 'slot' 'device' 'drive'::
Unload the volume currently loaded in drive 'drive'.
Vchanger also implements the following undocumented comands
*LISTALL*::
List drive status followed by slot status, one line for each
drive or slot, in the format type:number:status:label, where
'type' is D for a drive or S for a slot, 'number' is the drive
or slot number, 'status' is E for empty or F for full, and
'label' is the volume label (barcode).
Additionally, the following extended commands are supported.
*CREATEVOLS* 'mag_ndx' 'count' '[start]'::
Create 'count' volume files on the magazine indexed by 'mag_ndx'.
Magazines are directories and/or filesystems that have been
defined in the *vchanger(5)* configuration file given by 'config'.
The magazine index is based on the order in which the Magazine
directives appear in the configuration file, where index zero is
the first occurrence. Optionally, 'start' specifies the minimum
integer uniqueness number to append to a prefix string when
generating filenames for the created volume files. The default
is to use a uniqueness number greater than highest number
currently used for any volume file on the selected magazine.
*LISTMAGS*::
List the status of all assigned magazines (directories and
filesystems), one per line, in the format mag:count:start:mnt,
where 'mag' is zero-based index of the magazines specified in
configuration file 'config', 'count' is the number of volume
files on that magazine, 'start' is the virtual slot number
of the beginning of the range of slots mapped to the magazine's
volume files, and 'mnt' is the magazine's directory/mountpoint
if mounted, or blank if not currently mounted.
*REFRESH*::
Refresh state information for the autochanger defined by the
configuration file 'config', issuing an 'update slots' command to
Bacula if required.
*Bacula Interaction*
By default, vcahgner will invoke bconsole and issue commands to Bacula
when certain operator actions are needed. When anything happens that
changes the current set of volume files being used, (the virtual slot
to volume file mapping), vchanger will invoke bconsole and issue an
'update slots' command. For example, when the operator attaches a
removable drive defined as one of the changer's magazines, the volume
files on the removable drive must be mapped to virtual slots. Since
the slot-to-volume mapping will have changed, Bacula will need to be
informed of the change via the 'update slots' command. The *REFRESH*
command can be invoked to force vchanger to update state info and
trigger 'update slots' if needed.
Additionally, when new volumes are created with the *CREATEVOLS* command,
vchanger will invoke bconsole and issue a 'label barcodes' command to
allow Bacula to write volume labels on the newly created volume files.
COMMAND LINE OPTIONS
--------------------
*-u, --user*='uid'::
Override the default user to run as when invoked by root. The default
is normally specified in the configuration file given by 'config'.
*-g, --group*='gid'::
Override the default group to run as when invoked by root. The default
is normally specified in the configuration file given by 'config'.
*--pool*='pool'::
Overrides the name of the pool into which volumes created by the
CREATEVOLS command will be placed when vchanger is configured to
label new volumes by sending Bacula a 'label barcodes' command. The
default is given by the 'Default Pool' setting in the configuration
file.
*-l, --label*='prefix'::
Overrides the default volume label prefix when generating names for
new volume files created by the CREATEVOLS command. The default is
'name_ndx', where 'name' is the autochanger name and 'ndx' is the
magazine index.
*--help*::
Displays command help for the vchanger command.
*--version*::
Displays vchanger version information.
NOTES
-----
See the vchangerHowto.html file included in the doc directory of the
source distribution for more detailed documentation.
SEE ALSO
--------
*vchanger.conf(5)*
COPYRIGHT
---------
Copyright 2006-2020 Josh Fisher
This is free software;
See the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

View File

@ -1,145 +0,0 @@
'\" t
.\" Title: vchanger.conf
.\" Author: Josh Fisher <jfisher@jaybus.com>
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 05/11/2020
.\" Manual: vchanger Manual
.\" Source: vchanger.conf 1.0.3
.\" Language: English
.\"
.TH "VCHANGER\&.CONF" "5" "05/11/2020" "vchanger\&.conf 1\&.0\&.3" "vchanger Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
vchanger.conf \- configuration file for *vchanger(8)*
.SH "SYNOPSIS"
.sp
/etc/vchanger/vchanger\&.conf
.SH "DESCRIPTION"
.sp
\fBvchanger(8)\fR is passed the path to a configuration file as its first positional parameter\&. The file contains keyword\-value pairs, specified by the free\-form syntax \fIkeyword\fR = \fIvalue\fR\&. Keywords are case\-insensitive and embedded whitespace is ignored\&. For example, "LOGLEVEL" is equivalent to "Log Level"\&. Values are case\-sensitive and embedded whitespace is preserved, however leading and trailing whitespace is ignored\&. Values may be one of the following types:
.PP
BOOLEAN
.RS 4
The case insensitive strings "true", "yes", and "1" are accepted as a true value, and "false", "no", and "0" as a false value\&.
.RE
.PP
INTEGER
.RS 4
A numeric integer value
.RE
.PP
PATH
.RS 4
A filesystem path\&. If the path does not begin with a
\fI\*(Aq/\fR\*(Aq character, then the path is considered a relative path\&. The directory to which the path is relative is described for the relevant keyword in the
\fBCONFIGURATION SETTINGS\fR
section\&.
.RE
.PP
STRING
.RS 4
A text string\&. The string may be enclosed in double quotes\&. A quoted string may also contain escape sequences\&. An escape sequence begins with the back slash character \(oq\e\(cq\&. Valid escape sequences are \ea, \eb, \en, \er, \et, \ev, \e\e, and \e", and are interpreted as in the C language\&.
.RE
.SH "CONFIGURATION SETTINGS"
.PP
\fBbconsole\fR = \fIPATH\fR
.RS 4
Specifies the path to the bconsole utility used to interface with the Bacula console\&. If given as a relative path, standard shell path search semantics apply\&. Specifying the empty string "" disables the sending of commands to Bacula\&. The default is "bconsole"\&.
.RE
.PP
\fBbconsole config\fR = \fIPATH\fR
.RS 4
Specifies the path to the bconsole configuration file to use when invoking bconsole\&. The path is passed to bconsole using its \-c flag\&. If the empty string "" is specified, then bconsole is invoked without the \-c flag\&. The default is ""\&.
.RE
.PP
\fBDefault Pool\fR = \fISTRING\fR
.RS 4
Specifies the name of the pool into which newly created volumes should be placed when labeling the new volumes via bconsole\&. The default is "Scratch"\&.
.RE
.PP
\fBGroup\fR = \fISTRING\fR
.RS 4
Specifies the group that
\fBvchanger(8)\fR
should run as when invoked by the root user\&. The default \-s "tape"\&.
.RE
.PP
\fBLogfile\fR = \fIPATH\fR
.RS 4
Specifies the path to the vchanger logfile\&. If a relative path is specified, then it is relative to the directory defined by the
\fBWork Dir\fR
keyword\&. The default is a file name that is the string "\&.conf" appended to the value of the
\fIStorage Resource\fR
keyword in the
\fIWork Dir\fR
directory\&.
.RE
.PP
\fBLog Level\fR = \fIINTEGER\fR
.RS 4
Specifies the amount of logging desired\&. The value is an integer between 0 and 7, inclusive, corresponding to the LOG_EMERG through LOG_DEBUG log levels defined in
\fBsyslog(3)\fR\&.
.RE
.PP
\fBMagazine\fR = (\fIPATH\fR or \fISTRING\fR)
.RS 4
Specifies a directory or file system that contains volume files that the changer specified by the
\fBStorage Resource\fR
keyword may use\&. this keyword may appear more than once in the configuration file in order to specify multiple magazines\&. Mounted file systems may be specified by prepending the string "UUID:" (case insensitive) to the UUID of the file system\&. Otherwise, the value specifies the path to a directory\&.
.RE
.PP
\fBStorage Resource\fR = \fISTRING\fR
.RS 4
Specifies the name of the Storage resource, defined in the Bacula Director daemon\*(Aq\*(Aqs configuration file (bacula\-dir\&.conf), that is associated with this changer\&. The default is "vchanger"\&.
.RE
.PP
\fBUser\fR = \fISTRING\fR
.RS 4
Specifies the user that
\fBvchanger(8)\fR
should run as when invoked by the root user\&. The default is "bacula"\&.
.RE
.PP
\fBWork Dir\fR = \fIPATH\fR
.RS 4
Specifies the path to the work directory
\fBvchanger(8)\fR
will use for this changer\&. The default is a sub\-directory of /var/spool/vchanger named as the value of the
\fBStorage Resource\fR
keyword\&.
.RE
.SH "NOTES"
.sp
See the vchangerHowto\&.html file included in the doc directory of the source distribution for more detailed documentation\&.
.SH "SEE ALSO"
.sp
\fBvchanger(8)\fR
.SH "COPYRIGHT"
.sp
Copyright 2006\-2020 Josh Fisher
.sp
This is free software; See the source for copying conditions\&. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&.
.SH "AUTHOR"
.PP
\fBJosh Fisher\fR <\&jfisher@jaybus\&.com\&>
.RS 4
Author.
.RE

View File

@ -1,120 +0,0 @@
VCHANGER.CONF(5)
================
Josh Fisher <jfisher@jaybus.com>
:doctype: manpage
:man source: vchanger.conf
:man version: 1.0.3
:man manual: vchanger Manual
NAME
----
vchanger.conf - configuration file for *vchanger(8)*
SYNOPSIS
--------
/etc/vchanger/vchanger.conf
DESCRIPTION
-----------
*vchanger(8)* is passed the path to a configuration file as its first
positional parameter. The file contains keyword-value pairs, specified
by the free-form syntax 'keyword' = 'value'. Keywords are case-insensitive
and embedded whitespace is ignored. For example, "LOGLEVEL" is equivalent
to "Log Level". Values are case-sensitive and embedded whitespace is
preserved, however leading and trailing whitespace is ignored. Values
may be one of the following types:
BOOLEAN::
The case insensitive strings "true", "yes", and "1" are accepted
as a true value, and "false", "no", and "0" as a false value.
INTEGER::
A numeric integer value
PATH::
A filesystem path. If the path does not begin with a ''/'' character,
then the path is considered a relative path. The directory to
which the path is relative is described for the relevant keyword
in the *CONFIGURATION SETTINGS* section.
STRING::
A text string. The string may be enclosed in double quotes. A
quoted string may also contain escape sequences. An escape
sequence begins with the back slash character `\'. Valid escape
sequences are \a, \b, \n, \r, \t, \v, \\, and \", and are
interpreted as in the C language.
CONFIGURATION SETTINGS
----------------------
*bconsole* = 'PATH'::
Specifies the path to the bconsole utility used to interface with
the Bacula console. If given as a relative path, standard shell
path search semantics apply. Specifying the empty string "" disables
the sending of commands to Bacula. The default is "bconsole".
*bconsole config* = 'PATH'::
Specifies the path to the bconsole configuration file to use when
invoking bconsole. The path is passed to bconsole using its -c
flag. If the empty string "" is specified, then bconsole is invoked
without the -c flag. The default is "".
*Default Pool* = 'STRING'::
Specifies the name of the pool into which newly created volumes
should be placed when labeling the new volumes via bconsole.
The default is "Scratch".
*Group* = 'STRING'::
Specifies the group that *vchanger(8)* should run as when invoked
by the root user. The default -s "tape".
*Logfile* = 'PATH'::
Specifies the path to the vchanger logfile. If a relative path is
specified, then it is relative to the directory defined by the
*Work Dir* keyword. The default is a file name that is the string
".conf" appended to the value of the 'Storage Resource' keyword in
the 'Work Dir' directory.
*Log Level* = 'INTEGER'::
Specifies the amount of logging desired. The value is an integer
between 0 and 7, inclusive, corresponding to the LOG_EMERG through
LOG_DEBUG log levels defined in *syslog(3)*.
*Magazine* = ('PATH' or 'STRING')::
Specifies a directory or file system that contains volume files that
the changer specified by the *Storage Resource* keyword may use. this
keyword may appear more than once in the configuration file in order
to specify multiple magazines. Mounted file systems may be specified
by prepending the string "UUID:" (case insensitive) to the UUID of
the file system. Otherwise, the value specifies the path to a
directory.
*Storage Resource* = 'STRING'::
Specifies the name of the Storage resource, defined in the Bacula
Director daemon''s configuration file (bacula-dir.conf), that is
associated with this changer. The default is "vchanger".
*User* = 'STRING'::
Specifies the user that *vchanger(8)* should run as when invoked
by the root user. The default is "bacula".
*Work Dir* = 'PATH'::
Specifies the path to the work directory *vchanger(8)* will use for
this changer. The default is a sub-directory of /var/spool/vchanger
named as the value of the *Storage Resource* keyword.
NOTES
-----
See the vchangerHowto.html file included in the doc directory of the
source distribution for more detailed documentation.
SEE ALSO
--------
*vchanger(8)*
COPYRIGHT
---------
Copyright 2006-2020 Josh Fisher
This is free software;
See the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

File diff suppressed because it is too large Load Diff

View File

@ -1,527 +0,0 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2011-11-20.07; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
no_target_directory=
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# 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:

View File

@ -1,215 +0,0 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2012-06-26.16; # UTC
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# 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.
if test $# -eq 0; then
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
case $1 in
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# Run the given program, remember its exit status.
"$@"; st=$?
# If it succeeded, we are done.
test $st -eq 0 && exit 0
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'automa4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
# Local variables:
# 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:

View File

@ -1,98 +0,0 @@
#
# Spec file for vchanger - RHEL 6
#
Summary: A virtual autochanger for Bacula
Name: vchanger
Version: 1.0.3
Release: 1%{dist}
License: GPLv2
Group: System Environment/Daemons
Source: http://sourceforge.net/projects/vchanger/files/vchanger/%{version}/vchanger-%{version}.tar.gz
URL: http://vchanger.sourceforge.net
Vendor: Josh Fisher.
Packager: Josh Fisher <jfisher@jaybus.com>
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires(post): /bin/mkdir, /bin/chown, /usr/bin/getent, /usr/sbin/useradd, /usr/sbin/groupadd
%description
Vchanger implements a virtual autochanger for use with the Bacula open source
network backup system. Vchanger emulates a magazine-based tape autoloader
using disk file system mountpoints as virtual magazines and the files in
each virtual magazine as virtual tape volumes. Vchanger is primarily
designed to use an unlimited number of removable disk drives as an easily
scalable virtual autochanger and allow seamless removal of backups for
offsite storage.
%prep
%setup -q -n %{name}
%build
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" \
%configure
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}
mkdir -p ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man5
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
mkdir -p ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}
mkdir -m 0770 -p ${RPM_BUILD_ROOT}%{_localstatedir}/spool/%{name}
mkdir -m 0755 -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}
make DESTDIR=${RPM_BUILD_ROOT} install-strip
install -m 0644 scripts/vchanger.default ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/vchanger
install -m 0644 contrib/vchanger.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/vchanger
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_libexecdir}/%{name}/*
%{_sysconfdir}/logrotate.d/*
%doc %{_docdir}/%{name}-%{version}/AUTHORS
%doc %{_docdir}/%{name}-%{version}/ChangeLog
%doc %{_docdir}/%{name}-%{version}/COPYING
%doc %{_docdir}/%{name}-%{version}/INSTALL
%doc %{_docdir}/%{name}-%{version}/NEWS
%doc %{_docdir}/%{name}-%{version}/README
%doc %{_docdir}/%{name}-%{version}/ReleaseNotes
%doc %{_docdir}/%{name}-%{version}/vchanger-example.conf
%doc %{_docdir}/%{name}-%{version}/example-vchanger-udev.rules
%doc %{_docdir}/%{name}-%{version}/vchangerHowto.html
%{_mandir}/man5/*
%{_mandir}/man8/*
%config(noreplace) %{_sysconfdir}/sysconfig/vchanger
%post
if [ $1 -eq 1 ] ; then
/usr/bin/getent group tape &>/dev/null || /usr/sbin/groupadd -r tape
/usr/bin/getent group bacula &>/dev/null || /usr/sbin/groupadd -r bacula
/usr/bin/getent passwd bacula &>/dev/null || /usr/sbin/useradd -r -g bacula -d %{_localstatedir}/spool/bacula -s /bin/bash bacula
if [ ! -d %{_localstatedir}/spool/vchanger ] ; then
/bin/mkdir -p -m 0770 %{_localstatedir}/spool/vchanger
/bin/chown bacula:tape %{_localstatedir}/spool/vchanger
fi
if [ ! -d %{_localstatedir}/log/vchanger ] ; then
/bin/mkdir -p -m 0755 %{_localstatedir}/log/vchanger
/bin/chown bacula:tape %{_localstatedir}/log/vchanger
fi
if [ ! -d %{_sysconfdir}/vchanger ] ; then
/bin/mkdir -p -m 0755 %{_sysconfdir}/vchanger
fi
fi
%changelog
* Thu May 6 2020 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.2
* Thu Jun 14 2018 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.2
* Wed Jun 3 2015 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.1
* Fri Apr 3 2015 Josh Fisher <jfisher@jaybus.com>
- Initial spec file

View File

@ -1,101 +0,0 @@
#
# Spec file for vchanger - RHEL 7
#
Summary: A virtual autochanger for Bacula
Name: vchanger
Version: 1.0.3
Release: 1%{dist}
License: GPLv2
Group: System Environment/Daemons
Source: http://sourceforge.net/projects/vchanger/files/vchanger/%{version}/vchanger-%{version}.tar.gz
URL: http://vchanger.sourceforge.net
Vendor: Josh Fisher.
Packager: Josh Fisher <jfisher@jaybus.com>
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires(post): /bin/mkdir, /bin/chown, /usr/bin/getent, /usr/sbin/useradd, /usr/sbin/groupadd
# For libudev support
BuildRequires: systemd-devel
%description
Vchanger implements a virtual autochanger for use with the Bacula open source
network backup system. Vchanger emulates a magazine-based tape autoloader
using disk file system mountpoints as virtual magazines and the files in
each virtual magazine as virtual tape volumes. Vchanger is primarily
designed to use an unlimited number of removable disk drives as an easily
scalable virtual autochanger and allow seamless removal of backups for
offsite storage.
%prep
%setup -q -n %{name}
%build
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" \
%configure
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}
mkdir -p ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man5
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
mkdir -p ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}
mkdir -m 0770 -p ${RPM_BUILD_ROOT}%{_localstatedir}/spool/%{name}
mkdir -m 0755 -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}
make DESTDIR=${RPM_BUILD_ROOT} install-strip
install -m 0644 scripts/vchanger.default ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/vchanger
install -m 0644 contrib/vchanger.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/vchanger
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_libexecdir}/%{name}/*
%{_sysconfdir}/logrotate.d/*
%doc %{_docdir}/%{name}-%{version}/AUTHORS
%doc %{_docdir}/%{name}-%{version}/ChangeLog
%doc %{_docdir}/%{name}-%{version}/COPYING
%doc %{_docdir}/%{name}-%{version}/INSTALL
%doc %{_docdir}/%{name}-%{version}/NEWS
%doc %{_docdir}/%{name}-%{version}/README
%doc %{_docdir}/%{name}-%{version}/ReleaseNotes
%doc %{_docdir}/%{name}-%{version}/vchanger-example.conf
%doc %{_docdir}/%{name}-%{version}/example-vchanger-udev.rules
%doc %{_docdir}/%{name}-%{version}/vchangerHowto.html
%{_mandir}/man5/*
%{_mandir}/man8/*
%config(noreplace) %{_sysconfdir}/sysconfig/vchanger
%post
if [ $1 -eq 1 ] ; then
/usr/bin/getent group tape &>/dev/null || /usr/sbin/groupadd -r tape
/usr/bin/getent group bacula &>/dev/null || /usr/sbin/groupadd -r bacula
/usr/bin/getent passwd bacula &>/dev/null || /usr/sbin/useradd -r -g bacula -d %{_localstatedir}/spool/bacula -s /bin/bash bacula
if [ ! -d %{_localstatedir}/spool/vchanger ] ; then
/bin/mkdir -p -m 0770 %{_localstatedir}/spool/vchanger
/bin/chown bacula:tape %{_localstatedir}/spool/vchanger
fi
if [ ! -d %{_localstatedir}/log/vchanger ] ; then
/bin/mkdir -p -m 0755 %{_localstatedir}/log/vchanger
/bin/chown bacula:tape %{_localstatedir}/log/vchanger
fi
if [ ! -d %{_sysconfdir}/vchanger ] ; then
/bin/mkdir -p -m 0755 %{_sysconfdir}/vchanger
fi
fi
%changelog
* Thu May 6 2020 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.2
* Thu Jun 14 2018 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.2
* Wed Jun 3 2015 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.1
* Fri Apr 3 2015 Josh Fisher <jfisher@jaybus.com>
- Initial spec file

View File

@ -1,106 +0,0 @@
#
# Spec file for vchanger - Fedora 29
#
%global debug_package %{nil}
Summary: A virtual autochanger for Bacula
Name: vchanger
Version: 1.0.3
Release: 1%{dist}
License: GPLv2
Group: System Environment/Daemons
Source: http://sourceforge.net/projects/vchanger/files/vchanger/%{version}/vchanger-%{version}.tar.gz
URL: http://vchanger.sourceforge.net
Vendor: Josh Fisher.
Packager: Josh Fisher <jfisher@jaybus.com>
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires(post): /usr/bin/mkdir, /usr/bin/chown, /usr/bin/getent, /usr/sbin/useradd, /usr/sbin/groupadd
# For libudev support
BuildRequires: systemd-devel
%description
Vchanger implements a virtual autochanger for use with the Bacula open source
network backup system. Vchanger emulates a magazine-based tape autoloader
using disk file system mountpoints as virtual magazines and the files in
each virtual magazine as virtual tape volumes. Vchanger is primarily
designed to use an unlimited number of removable disk drives as an easily
scalable virtual autochanger and allow seamless removal of backups for
offsite storage.
%prep
%setup -q -n %{name}
%build
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" \
%configure
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}
mkdir -p ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man5
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
mkdir -p ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}
mkdir -m 0770 -p ${RPM_BUILD_ROOT}%{_localstatedir}/spool/%{name}
mkdir -m 0755 -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}
make DESTDIR=${RPM_BUILD_ROOT} install-strip
install -m 0644 scripts/vchanger.default ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/vchanger
install -m 0644 contrib/vchanger.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/vchanger
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_libexecdir}/%{name}/*
%{_sysconfdir}/logrotate.d/*
%doc %{_docdir}/%{name}-%{version}/AUTHORS
%doc %{_docdir}/%{name}-%{version}/ChangeLog
%doc %{_docdir}/%{name}-%{version}/COPYING
%doc %{_docdir}/%{name}-%{version}/INSTALL
%doc %{_docdir}/%{name}-%{version}/NEWS
%doc %{_docdir}/%{name}-%{version}/README
%doc %{_docdir}/%{name}-%{version}/ReleaseNotes
%doc %{_docdir}/%{name}-%{version}/vchanger-example.conf
%doc %{_docdir}/%{name}-%{version}/example-vchanger-udev.rules
%doc %{_docdir}/%{name}-%{version}/vchangerHowto.html
%{_mandir}/man5/*
%{_mandir}/man8/*
%config(noreplace) %{_sysconfdir}/sysconfig/vchanger
%post
if [ $1 -eq 1 ] ; then
/usr/bin/getent group tape &>/dev/null || /usr/sbin/groupadd -r tape
/usr/bin/getent group bacula &>/dev/null || /usr/sbin/groupadd -r bacula
/usr/bin/getent passwd bacula &>/dev/null || /usr/sbin/useradd -r -g bacula -d %{_localstatedir}/spool/bacula -s /bin/bash bacula
if [ ! -d %{_localstatedir}/spool/vchanger ] ; then
/bin/mkdir -p -m 0770 %{_localstatedir}/spool/vchanger
/bin/chown bacula:tape %{_localstatedir}/spool/vchanger
fi
if [ ! -d %{_localstatedir}/log/vchanger ] ; then
/bin/mkdir -p -m 0755 %{_localstatedir}/log/vchanger
/bin/chown bacula:tape %{_localstatedir}/log/vchanger
fi
if [ ! -d %{_sysconfdir}/vchanger ] ; then
/bin/mkdir -p -m 0755 %{_sysconfdir}/vchanger
fi
fi
%changelog
* Thu May 6 2020 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.3
* Mon Dec 24 2018 Steven A. Falco <stevenfalco@gmail.com>
- Various changes for Fedora 29
* Thu Jun 14 2018 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.2
* Wed Jun 3 2015 Josh Fisher <jfisher@jaybus.com>
- Updated to release 1.0.1
* Fri Apr 3 2015 Josh Fisher <jfisher@jaybus.com>
- Initial spec file

View File

@ -1,498 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# scripts/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2013 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.
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/vchanger
pkgincludedir = $(includedir)/vchanger
pkglibdir = $(libdir)/vchanger
pkglibexecdir = $(libexecdir)/vchanger
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 = :
subdir = scripts
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(dist_bin_SCRIPTS) $(dist_vscript_SCRIPTS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
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)$(bindir)" "$(DESTDIR)$(vscriptdir)"
SCRIPTS = $(dist_bin_SCRIPTS) $(dist_vscript_SCRIPTS)
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 =
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__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /root/vchanger/missing aclocal-1.13
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 1
AUTOCONF = ${SHELL} /root/vchanger/missing autoconf
AUTOHEADER = ${SHELL} /root/vchanger/missing autoheader
AUTOMAKE = ${SHELL} /root/vchanger/missing automake-1.13
AWK = mawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /usr/bin/grep -E
EXEEXT =
GREP = /usr/bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LDFLAGS =
LIBOBJS =
LIBS =
LTLIBOBJS =
MAKEINFO = ${SHELL} /root/vchanger/missing makeinfo
MKDIR_P = /usr/bin/mkdir -p
OBJEXT = o
PACKAGE = vchanger
PACKAGE_BUGREPORT = jfisher@jaybus.com
PACKAGE_NAME = vchanger
PACKAGE_STRING = vchanger 1.0.3
PACKAGE_TARNAME = vchanger
PACKAGE_URL =
PACKAGE_VERSION = 1.0.3
PATH_SEPARATOR = :
SET_MAKE =
SHELL = /bin/bash
STRIP = strip
VERSION = 1.0.3
WINLDADD =
abs_builddir = /root/vchanger/scripts
abs_srcdir = /root/vchanger/scripts
abs_top_builddir = /root/vchanger
abs_top_srcdir = /root/vchanger
ac_ct_CC = gcc
ac_ct_CXX = g++
am__include = include
am__leading_dot = .
am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build_alias =
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host_alias =
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /root/vchanger/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix = ../
top_builddir = ..
top_srcdir = ..
vscriptdir = $(libexecdir)/vchanger
dist_vscript_SCRIPTS = vchanger-launch-mount.sh vchanger-mount-uuid.sh \
vchanger-launch-umount.sh vchanger-umount-uuid.sh
dist_bin_SCRIPTS = vchanger-genudevrules
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(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 scripts/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu scripts/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: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n' \
-e 'h;s|.*|.|' \
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] == $(am__install_max)) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-dist_binSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 's,.*/,,;$(transform)'`; \
dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
install-dist_vscriptSCRIPTS: $(dist_vscript_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(dist_vscript_SCRIPTS)'; test -n "$(vscriptdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(vscriptdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(vscriptdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n' \
-e 'h;s|.*|.|' \
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] == $(am__install_max)) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(vscriptdir)$$dir'"; \
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(vscriptdir)$$dir" || exit $$?; \
} \
; done
uninstall-dist_vscriptSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(dist_vscript_SCRIPTS)'; test -n "$(vscriptdir)" || exit 0; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 's,.*/,,;$(transform)'`; \
dir='$(DESTDIR)$(vscriptdir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
cscope cscopelist:
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 $(SCRIPTS)
installdirs:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(vscriptdir)"; 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 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-dist_vscriptSCRIPTS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-dist_binSCRIPTS
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
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_binSCRIPTS uninstall-dist_vscriptSCRIPTS
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
ctags-am distclean distclean-generic distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dist_binSCRIPTS \
install-dist_vscriptSCRIPTS 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 pdf \
pdf-am ps ps-am tags-am uninstall uninstall-am \
uninstall-dist_binSCRIPTS uninstall-dist_vscriptSCRIPTS
# 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:

View File

@ -1,4 +0,0 @@
vscriptdir=$(libexecdir)/vchanger
dist_vscript_SCRIPTS = vchanger-launch-mount.sh vchanger-mount-uuid.sh \
vchanger-launch-umount.sh vchanger-umount-uuid.sh
dist_bin_SCRIPTS = vchanger-genudevrules

View File

@ -1,498 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 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__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
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 = :
subdir = scripts
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(dist_bin_SCRIPTS) $(dist_vscript_SCRIPTS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
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)$(bindir)" "$(DESTDIR)$(vscriptdir)"
SCRIPTS = $(dist_bin_SCRIPTS) $(dist_vscript_SCRIPTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
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__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
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@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
WINLDADD = @WINLDADD@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
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_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
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@
vscriptdir = $(libexecdir)/vchanger
dist_vscript_SCRIPTS = vchanger-launch-mount.sh vchanger-mount-uuid.sh \
vchanger-launch-umount.sh vchanger-umount-uuid.sh
dist_bin_SCRIPTS = vchanger-genudevrules
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(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 scripts/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu scripts/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: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n' \
-e 'h;s|.*|.|' \
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] == $(am__install_max)) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-dist_binSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 's,.*/,,;$(transform)'`; \
dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
install-dist_vscriptSCRIPTS: $(dist_vscript_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(dist_vscript_SCRIPTS)'; test -n "$(vscriptdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(vscriptdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(vscriptdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n' \
-e 'h;s|.*|.|' \
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] == $(am__install_max)) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(vscriptdir)$$dir'"; \
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(vscriptdir)$$dir" || exit $$?; \
} \
; done
uninstall-dist_vscriptSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(dist_vscript_SCRIPTS)'; test -n "$(vscriptdir)" || exit 0; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 's,.*/,,;$(transform)'`; \
dir='$(DESTDIR)$(vscriptdir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
cscope cscopelist:
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 $(SCRIPTS)
installdirs:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(vscriptdir)"; 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 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-dist_vscriptSCRIPTS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-dist_binSCRIPTS
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
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_binSCRIPTS uninstall-dist_vscriptSCRIPTS
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
ctags-am distclean distclean-generic distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dist_binSCRIPTS \
install-dist_vscriptSCRIPTS 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 pdf \
pdf-am ps ps-am tags-am uninstall uninstall-am \
uninstall-dist_binSCRIPTS uninstall-dist_vscriptSCRIPTS
# 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:

View File

@ -1,28 +0,0 @@
#!/bin/bash
#
# vchanger-genudevrules ( vchanger v.1.0.3 ) 2020-05-06
#
# Search all autochanger configuration files for magazines being defined
# by filesystem UUID and print to stdout the udev rules for launching
# mount and umount scripts for those filesystems whenever the corresponding
# disk drives are attached or detached from the system.
#
LEDIR=/usr/libexec/vchanger
echo "# This file contains udev rules to launch mount and umount scripts"
echo "# for magazines defined by filesystem UUID in the autochanger configuration"
echo "# files under /etc/vchanger."
echo "#"
echo "# This file was generated by the vchanger-genudevrules script."
echo "#"
for cf in `ls -1 /etc/vchanger/*.conf` ; do
for tmp in `cat ${cf} | grep -v "^#" | tr -d " \t" | grep -i "^magazine="` ; do
tmp=`echo $tmp | grep -i "^magazine=uuid:"`
if [ -n "$tmp" ]; then
tmp=`echo $tmp | cut -d ':' -f 2 | tr -d ' \t\r\n'`
uuid=${tmp,,}
echo "ACTION==\"add\",SUBSYSTEM==\"block\", ENV{ID_FS_UUID}==\"$uuid\", RUN+=\"$LEDIR/vchanger-launch-mount.sh $uuid\""
echo "ACTION==\"remove\",SUBSYSTEM==\"block\", ENV{ID_FS_UUID}==\"$uuid\", RUN+=\"$LEDIR/vchanger-launch-umount.sh $uuid\""
fi
done
done
exit 0

View File

@ -1,14 +0,0 @@
#!/bin/sh
#
# vchanger-launch-mount.sh ( vchanger v.1.0.3 ) 2020-05-06
#
# This script is used to run the vchanger-mount-uuid.sh script as
# a detached process and immediately exit. This is to prevent delays
# when invoked by a udev rule.
#
VCHANGER_MOUNT=/usr/libexec/vchanger/vchanger-mount-uuid.sh
# For some reason, nohup doesn't work, but "at now" does. This may have to
# do with cgroups.
#nohup $VCHANGER_MOUNT $1 </dev/null >/dev/null 2>&1 &
echo "$VCHANGER_MOUNT $1 </dev/null >/dev/null 2>&1" | at now

View File

@ -1,14 +0,0 @@
#!/bin/sh
#
# vchanger-launch-umount.sh ( vchanger v.1.0.3 ) 2020-05-06
#
# This script is used to run the vchanger-umount-uuid.sh script in
# another [background] process launched by the at command in order
# to prevent delays when invoked by a udev rule.
#
VCHANGER_UMOUNT=/usr/libexec/vchanger/vchanger-umount-uuid.sh
# For some reason, nohup doesn't work, but "at now" does. This may have to
# do with cgroups.
#nohup $VCHANGER_UMOUNT $1 </dev/null >/dev/null 2>&1 &
echo "$VCHANGER_UMOUNT $1 </dev/null >/dev/null 2>&1" | at now

View File

@ -1,93 +0,0 @@
#!/bin/bash
#
# vchanger-mount-uuid.sh ( vchanger v.1.0.3 ) 2020-05-06
#
# This script is used to mount the filesystem having the
# UUID specified in parameter 1 at a fixed path. The path
# will be a subdirectory of the path given by the MOUNT_DIR
# environment variable, where the UUID is used as the
# subdirectory name. The MOUNT_DIR variable is sourced from
# /etc/default/vchanger or /etc/sysconfig/vchanger. Also,
# the MOUNT_OPTIONS variable may be set to specify additional
# options to pass through to the mount command.
#
# Generally, this script is designed to be invoked by a
# launcher script, vchanger-launch-mount.sh, that is itself
# launched directly by udev in response to a hotplug event.
# This is useful for headless systems that do not have an
# automount capability such as Gnome Nautilus, but have
# non-root daemons that require plug-n-play attachment of
# external disk drives.
#
MOUNT_DIR="/mnt"
MOUNT_OPTIONS=
[ -f /etc/sysconfig/vchanger ] && . /etc/sysconfig/vchanger
[ -f /etc/default/vchanger ] && . /etc/default/vchanger
[ -d "$MOUNT_DIR" ] || exit 0 # mount directory does not exist
# Parameter 1 specifies the UUID of the magazine
# to be mounted
uuid=${1,,}
[ -n "$uuid" ] || exit 0 # ignore invalid param
#
# Return mountpoint of filesystem having UUID passed in param 1
# or else empty if UUID not found in fstab
#
function check_fstab {
local uuid=${1,,}
cat /etc/fstab | grep "^UUID=" | while read lin; do
line=`echo $lin | sed -e "s/[[:space:]]\+/ /g"`
tmp=`echo $line | cut -s -d ' ' -f 1 | cut -s -d '=' -f 2`
fu=${tmp,,}
if [ "z$fu" == "z$uuid" ]; then
echo $line | cut -s -d ' ' -f 2
return 0
fi
done
}
# Search all autochanger configuration files for a magazine
# definition matching the UUID in parameter 1
for cf in `ls -1 /etc/vchanger/*.conf` ; do
for tmp in `cat ${cf} | grep -v "^#" | tr -d " \t" | grep -i "^magazine="` ; do
tmp=`echo $tmp | grep -i "^magazine=uuid:"`
if [ -n "$tmp" ] ; then
tmp=`echo $tmp | cut -d ':' -f 2 | tr -d ' \t\r\n'`
tmp=${tmp,,}
if [ "z$uuid" == "z$tmp" ] ; then
# param 1 UUID matches a magazine filesystem
mdir=$(check_fstab $uuid)
if [ -n "$mdir" ]; then
# filesystem has UUID entry in fstab, so use it
if [ ! -d $mdir ]; then
mkdir -p $mdir &>/dev/null
[ -d $mdir ] || exit 0 # cannot create mountpoint dir
chmod 0750 $mdir
fi
mount $mdir
[ $? -eq 0 ] || exit 0
/usr/bin/vchanger $cf refresh
exit 0
fi
# Mount under configured MOUNT_DIR
if [ ! -d $MOUNT_DIR/$uuid ]; then
mkdir -p $MOUNT_DIR/$uuid &>/dev/null
[ -d $MOUNT_DIR/$uuid ] || exit 0 # cannot create mountpoint dir
chmod 0750 $MOUNT_DIR/$uuid
fi
echo checking dev
[ -e /dev/disk/by-uuid/$uuid ] || exit 0 # udev has no by-uuid symlinks
mount $MOUNT_OPTIONS /dev/disk/by-uuid/$uuid $MOUNT_DIR/$uuid &>/dev/null
if [ $? -eq 0 ] ; then
# On successful mount, cause update slots to be issued in bconsole
/usr/bin/vchanger $cf refresh
fi
exit 0
fi
fi
done
done
exit 0

View File

@ -1,76 +0,0 @@
#!/bin/bash
#
# vchanger-umount-uuid.sh ( vchanger v.1.0.3 ) 2020-05-06
#
# This script is used to unmount the filesystem having the
# UUID specified in parameter 1. The mountpoint path
# will be a subdirectory of the path given by the MOUNT_DIR
# environment variable, where the UUID is used as the
# subdirectory name. The MOUNT_DIR variable is sourced from
# /etc/default/vchanger or /etc/sysconfig/vchanger.
#
# Generally, this script is designed to be invoked by a
# launcher script, vchanger-launch-umount.sh, that is itself
# launched directly by udev in response to a hotplug event.
# This is useful for headless systems that do not have an
# automount capability such as Gnome Nautilus, but have
# non-root daemons that require plug-n-play attachment of
# external disk drives.
#
MOUNT_DIR="/mnt/vchanger"
MOUNT_OPTIONS=
[ -f /etc/sysconfig/vchanger ] && . /etc/sysconfig/vchanger
[ -f /etc/default/vchanger ] && . /etc/default/vchanger
[ -d "$MOUNT_DIR" ] || exit 0 # mount directory does not exist
# Parameter 1 specifies the UUID of the magazine
# to be unmounted
uuid=${1,,}
[ -n "$uuid" ] || exit 0 # ignore invalid param
#
# Return mountpoint of filesystem having UUID passed in param 1
# or else empty if UUID not found in fstab
#
function check_fstab {
local uuid=${1,,}
cat /etc/fstab | grep "^UUID=" | while read lin; do
line=`echo $lin | sed -e "s/[[:space:]]\+/ /g"`
tmp=`echo $line | cut -s -d ' ' -f 1 | cut -s -d '=' -f 2`
fu=${tmp,,}
if [ "z$fu" == "z$uuid" ]; then
echo $line | cut -s -d ' ' -f 2
return 0
fi
done
}
# Search all autochanger configuration files for a magazine
# definition matching the UUID in parameter 1
for cf in `ls -1 /etc/vchanger/*.conf` ; do
for tmp in `cat ${cf} | grep -v "^#" | tr -d " \t" | grep -i "^magazine="` ; do
tmp=`echo $tmp | grep -i "^magazine=uuid:"`
if [ -n "$tmp" ] ; then
tmp=`echo $tmp | cut -d ':' -f 2 | tr -d ' \t\r\n'`
tmp=${tmp,,}
if [ "z$uuid" == "z$tmp" ] ; then
# param 1 UUID matches a magazine filesystem
mdir=$(check_fstab $uuid)
if [ -n "$mdir" ]; then
# filesystem has UUID entry in fstab, so umount it
[ -d $mdir ] || exit 0 # mountpoint not found
umount $mdir &>/dev/null
/usr/bin/vchanger $cf refresh
exit 0
fi
# Unmount from configured MOUNT_DIR
[ -d $MOUNT_DIR/$uuid ] || exit 0 # mountpoint not found
umount $MOUNT_DIR/$uuid &>/dev/null
/usr/bin/vchanger $cf refresh
exit 0
fi
fi
done
done
exit 0

View File

@ -1,2 +0,0 @@
MOUNT_DIR=/mnt/vchanger
MOUNT_OPTIONS=

View File

@ -1,392 +0,0 @@
bconsole.o: bconsole.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/string.h \
/usr/include/strings.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/sys/wait.h /usr/include/signal.h \
/usr/include/x86_64-linux-gnu/bits/signum-generic.h \
/usr/include/x86_64-linux-gnu/bits/signum-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigstksz.h \
/usr/include/x86_64-linux-gnu/bits/ss_flags.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h \
/usr/include/x86_64-linux-gnu/bits/signal_ext.h \
/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/ctype.h \
compat_defs.h util.h loghandler.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h mymutex.h \
mypopen.h tstring.h /usr/include/c++/12/string \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/type_traits /usr/include/c++/12/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/move.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/bits/ptr_traits.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list \
/usr/include/c++/12/bits/basic_string.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/list \
/usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h vconf.h inifile.h bconsole.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum-generic.h:
/usr/include/x86_64-linux-gnu/bits/signum-arch.h:
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h:
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h:
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h:
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h:
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/bits/sigstksz.h:
/usr/include/x86_64-linux-gnu/bits/ss_flags.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/x86_64-linux-gnu/bits/signal_ext.h:
/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/ctype.h:
compat_defs.h:
util.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
mymutex.h:
mypopen.h:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/cstdint:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:
vconf.h:
inifile.h:
bconsole.h:

View File

@ -1,389 +0,0 @@
changerstate.o: changerstate.cpp /usr/include/stdc-predef.h ../config.h \
compat_defs.h /usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/string.h \
/usr/include/strings.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
/usr/include/dirent.h /usr/include/x86_64-linux-gnu/bits/dirent.h \
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
/usr/include/x86_64-linux-gnu/bits/dirent_ext.h /usr/include/ctype.h \
/usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
/usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h compat/getline.h \
compat/readlink.h compat/symlink.h vconf.h inifile.h \
/usr/include/c++/12/list /usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/type_traits \
/usr/include/c++/12/bits/move.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/bits/ptr_traits.h /usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list /usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc tstring.h /usr/include/c++/12/string \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/basic_string.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h loghandler.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
errhandler.h util.h changerstate.h uuidlookup.h
/usr/include/stdc-predef.h:
../config.h:
compat_defs.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/x86_64-linux-gnu/bits/statx.h:
/usr/include/linux/stat.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/bits/statx-generic.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
/usr/include/x86_64-linux-gnu/bits/dirent_ext.h:
/usr/include/ctype.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
compat/getline.h:
compat/readlink.h:
compat/symlink.h:
vconf.h:
inifile.h:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/cstdint:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
errhandler.h:
util.h:
changerstate.h:
uuidlookup.h:

View File

@ -1,394 +0,0 @@
diskchanger.o: diskchanger.cpp /usr/include/stdc-predef.h ../config.h \
compat_defs.h /usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/string.h \
/usr/include/strings.h /usr/include/dirent.h \
/usr/include/x86_64-linux-gnu/bits/dirent.h \
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
/usr/include/x86_64-linux-gnu/bits/dirent_ext.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
/usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
/usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/sys/time.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h compat/gettimeofday.h compat/readlink.h \
compat/sleep.h compat/symlink.h util.h loghandler.h \
/usr/include/syslog.h /usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
bconsole.h diskchanger.h vconf.h inifile.h /usr/include/c++/12/list \
/usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/type_traits \
/usr/include/c++/12/bits/move.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/bits/ptr_traits.h /usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list /usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc tstring.h /usr/include/c++/12/string \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/ctype.h \
/usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/basic_string.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h errhandler.h changerstate.h
/usr/include/stdc-predef.h:
../config.h:
compat_defs.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/dirent.h:
/usr/include/x86_64-linux-gnu/bits/dirent.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
/usr/include/x86_64-linux-gnu/bits/dirent_ext.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/x86_64-linux-gnu/bits/statx.h:
/usr/include/linux/stat.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/bits/statx-generic.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
compat/gettimeofday.h:
compat/readlink.h:
compat/sleep.h:
compat/symlink.h:
util.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
bconsole.h:
diskchanger.h:
vconf.h:
inifile.h:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/cstdint:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/ctype.h:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:
errhandler.h:
changerstate.h:

View File

@ -1,291 +0,0 @@
errhandler.o: errhandler.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/strings.h errhandler.h tstring.h /usr/include/c++/12/string \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/type_traits /usr/include/c++/12/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/move.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/ctype.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/bits/ptr_traits.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list \
/usr/include/c++/12/bits/basic_string.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdlib \
/usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
/usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/list \
/usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/strings.h:
errhandler.h:
tstring.h:
/usr/include/c++/12/string:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/cstdint:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/ctype.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdlib:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:

View File

@ -1,3 +0,0 @@
getline.o: compat/getline.c /usr/include/stdc-predef.h ../config.h
/usr/include/stdc-predef.h:
../config.h:

View File

@ -1,4 +0,0 @@
gettimeofday.o: compat/gettimeofday.c /usr/include/stdc-predef.h \
../config.h
/usr/include/stdc-predef.h:
../config.h:

View File

@ -1,318 +0,0 @@
inifile.o: inifile.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/c++/12/stdlib.h /usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/stdio.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/string.h \
/usr/include/strings.h /usr/include/ctype.h inifile.h \
/usr/include/c++/12/list /usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/type_traits \
/usr/include/c++/12/bits/move.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/bits/ptr_traits.h /usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list /usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc tstring.h /usr/include/c++/12/string \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/basic_string.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
/usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h loghandler.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/stdio.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/ctype.h:
inifile.h:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/cstdint:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:

View File

@ -1,175 +0,0 @@
loghandler.o: loghandler.cpp /usr/include/stdc-predef.h ../config.h \
compat_defs.h /usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/c++/12/stdlib.h /usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/string.h \
/usr/include/strings.h compat/localtime_r.h loghandler.h \
/usr/include/syslog.h /usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h
/usr/include/stdc-predef.h:
../config.h:
compat_defs.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/string.h:
/usr/include/strings.h:
compat/localtime_r.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:

View File

@ -1,450 +0,0 @@
mymutex.o: mymutex.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/string.h \
/usr/include/strings.h /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h \
/usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/uio_lim.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/sys/time.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
/usr/include/x86_64-linux-gnu/sys/wait.h /usr/include/signal.h \
/usr/include/x86_64-linux-gnu/bits/signum-generic.h \
/usr/include/x86_64-linux-gnu/bits/signum-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigstksz.h \
/usr/include/x86_64-linux-gnu/bits/ss_flags.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h \
/usr/include/x86_64-linux-gnu/bits/signal_ext.h \
/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h /usr/include/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
/usr/include/linux/falloc.h /usr/include/semaphore.h \
/usr/include/x86_64-linux-gnu/bits/semaphore.h compat/semaphore.h \
loghandler.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
mypopen.h tstring.h /usr/include/c++/12/string \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/type_traits /usr/include/c++/12/cstdint \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/move.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/ctype.h \
/usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/bits/ptr_traits.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list \
/usr/include/c++/12/bits/basic_string.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/list \
/usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/uio_lim.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/x86_64-linux-gnu/bits/statx.h:
/usr/include/linux/stat.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/bits/statx-generic.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum-generic.h:
/usr/include/x86_64-linux-gnu/bits/signum-arch.h:
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h:
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h:
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h:
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h:
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/bits/sigstksz.h:
/usr/include/x86_64-linux-gnu/bits/ss_flags.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/x86_64-linux-gnu/bits/signal_ext.h:
/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/linux/falloc.h:
/usr/include/semaphore.h:
/usr/include/x86_64-linux-gnu/bits/semaphore.h:
compat/semaphore.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
mypopen.h:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/cstdint:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/ctype.h:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:

View File

@ -1,443 +0,0 @@
mypopen.o: mypopen.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/string.h \
/usr/include/strings.h /usr/include/ctype.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/limits.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/syslimits.h \
/usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
/usr/include/x86_64-linux-gnu/bits/local_lim.h \
/usr/include/linux/limits.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
/usr/include/x86_64-linux-gnu/bits/uio_lim.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
/usr/include/x86_64-linux-gnu/sys/wait.h /usr/include/signal.h \
/usr/include/x86_64-linux-gnu/bits/signum-generic.h \
/usr/include/x86_64-linux-gnu/bits/signum-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigstksz.h \
/usr/include/x86_64-linux-gnu/bits/ss_flags.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h \
/usr/include/x86_64-linux-gnu/bits/signal_ext.h \
/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h /usr/include/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
/usr/include/linux/falloc.h loghandler.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
mypopen.h tstring.h /usr/include/c++/12/string \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/type_traits /usr/include/c++/12/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/move.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/bits/ptr_traits.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list \
/usr/include/c++/12/bits/basic_string.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/list \
/usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/ctype.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/uio_lim.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/x86_64-linux-gnu/bits/statx.h:
/usr/include/linux/stat.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/bits/statx-generic.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h:
/usr/include/x86_64-linux-gnu/sys/wait.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum-generic.h:
/usr/include/x86_64-linux-gnu/bits/signum-arch.h:
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h:
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h:
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h:
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h:
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/bits/sigstksz.h:
/usr/include/x86_64-linux-gnu/bits/ss_flags.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/x86_64-linux-gnu/bits/signal_ext.h:
/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/linux/falloc.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
mypopen.h:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/cstdint:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:

View File

@ -1,3 +0,0 @@
readlink.o: compat/readlink.c /usr/include/stdc-predef.h ../config.h
/usr/include/stdc-predef.h:
../config.h:

View File

@ -1,3 +0,0 @@
semaphore.o: compat/semaphore.c /usr/include/stdc-predef.h ../config.h
/usr/include/stdc-predef.h:
../config.h:

View File

@ -1,3 +0,0 @@
sleep.o: compat/sleep.c /usr/include/stdc-predef.h ../config.h
/usr/include/stdc-predef.h:
../config.h:

View File

@ -1,3 +0,0 @@
symlink.o: compat/symlink.c /usr/include/stdc-predef.h ../config.h
/usr/include/stdc-predef.h:
../config.h:

View File

@ -1,3 +0,0 @@
syslog.o: compat/syslog.c /usr/include/stdc-predef.h ../config.h
/usr/include/stdc-predef.h:
../config.h:

View File

@ -1,291 +0,0 @@
tstring.o: tstring.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/ctype.h \
/usr/include/string.h /usr/include/strings.h tstring.h \
/usr/include/c++/12/string /usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/type_traits /usr/include/c++/12/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/move.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/bits/ptr_traits.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list \
/usr/include/c++/12/bits/basic_string.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
/usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/list \
/usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/ctype.h:
/usr/include/string.h:
/usr/include/strings.h:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/cstdint:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:

View File

@ -1,213 +0,0 @@
util.o: util.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/string.h \
/usr/include/strings.h /usr/include/ctype.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
/usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
/usr/include/linux/falloc.h /usr/include/grp.h /usr/include/pwd.h \
/usr/include/time.h /usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/sys/time.h util.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/ctype.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/x86_64-linux-gnu/bits/statx.h:
/usr/include/linux/stat.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/bits/statx-generic.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h:
/usr/include/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/linux/falloc.h:
/usr/include/grp.h:
/usr/include/pwd.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
util.h:

View File

@ -1,148 +0,0 @@
uuidlookup.o: uuidlookup.c /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/strings.h /usr/include/ctype.h uuidlookup.h loghandler.h \
/usr/include/syslog.h /usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min.h \
/usr/include/mntent.h /usr/include/paths.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/strings.h:
/usr/include/ctype.h:
uuidlookup.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min.h:
/usr/include/mntent.h:
/usr/include/paths.h:

View File

@ -1,392 +0,0 @@
vchanger.o: vchanger.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/getopt.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/getopt_ext.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/ctype.h \
/usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \
/usr/include/string.h /usr/include/strings.h /usr/include/signal.h \
/usr/include/x86_64-linux-gnu/bits/signum-generic.h \
/usr/include/x86_64-linux-gnu/bits/signum-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \
/usr/include/x86_64-linux-gnu/bits/sigaction.h \
/usr/include/x86_64-linux-gnu/bits/sigcontext.h \
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h \
/usr/include/x86_64-linux-gnu/sys/ucontext.h \
/usr/include/x86_64-linux-gnu/bits/sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigstksz.h \
/usr/include/x86_64-linux-gnu/bits/ss_flags.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \
/usr/include/x86_64-linux-gnu/bits/sigthread.h \
/usr/include/x86_64-linux-gnu/bits/signal_ext.h util.h compat_defs.h \
loghandler.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h /usr/include/pthread.h \
/usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
errhandler.h tstring.h /usr/include/c++/12/string \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/type_traits /usr/include/c++/12/cstdint \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/move.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/bits/ptr_traits.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list \
/usr/include/c++/12/bits/basic_string.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/list \
/usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h diskchanger.h vconf.h inifile.h \
changerstate.h mymutex.h bconsole.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/getopt.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/getopt_ext.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/ctype.h:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/signal.h:
/usr/include/x86_64-linux-gnu/bits/signum-generic.h:
/usr/include/x86_64-linux-gnu/bits/signum-arch.h:
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h:
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h:
/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h:
/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h:
/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h:
/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h:
/usr/include/x86_64-linux-gnu/bits/sigaction.h:
/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
/usr/include/x86_64-linux-gnu/bits/types/stack_t.h:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:
/usr/include/x86_64-linux-gnu/bits/sigstack.h:
/usr/include/x86_64-linux-gnu/bits/sigstksz.h:
/usr/include/x86_64-linux-gnu/bits/ss_flags.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h:
/usr/include/x86_64-linux-gnu/bits/sigthread.h:
/usr/include/x86_64-linux-gnu/bits/signal_ext.h:
util.h:
compat_defs.h:
loghandler.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
errhandler.h:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/cstdint:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:
diskchanger.h:
vconf.h:
inifile.h:
changerstate.h:
mymutex.h:
bconsole.h:

View File

@ -1,373 +0,0 @@
vconf.o: vconf.cpp /usr/include/stdc-predef.h ../config.h \
/usr/include/stdio.h \
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/bits/timesize.h \
/usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/long-double.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
/usr/include/x86_64-linux-gnu/bits/time64.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/floatn.h \
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
/usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/stdlib.h \
/usr/include/c++/12/cstdlib \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \
/usr/include/c++/12/pstl/pstl_config.h /usr/include/stdlib.h \
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
/usr/include/x86_64-linux-gnu/sys/types.h \
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/x86_64-linux-gnu/bits/endian.h \
/usr/include/x86_64-linux-gnu/bits/endianness.h \
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
/usr/include/x86_64-linux-gnu/sys/select.h \
/usr/include/x86_64-linux-gnu/bits/select.h \
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
/usr/include/c++/12/bits/std_abs.h /usr/include/unistd.h \
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
/usr/include/x86_64-linux-gnu/bits/environments.h \
/usr/include/x86_64-linux-gnu/bits/confname.h \
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/string.h \
/usr/include/strings.h /usr/include/errno.h \
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
/usr/include/x86_64-linux-gnu/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/syslog.h \
/usr/include/x86_64-linux-gnu/sys/syslog.h \
/usr/include/x86_64-linux-gnu/bits/syslog-path.h \
/usr/include/x86_64-linux-gnu/sys/stat.h \
/usr/include/x86_64-linux-gnu/bits/stat.h \
/usr/include/x86_64-linux-gnu/bits/struct_stat.h \
/usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
/usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h \
/usr/include/x86_64-linux-gnu/asm/posix_types.h \
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/x86_64-linux-gnu/bits/statx-generic.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h compat_defs.h \
loghandler.h /usr/include/pthread.h /usr/include/sched.h \
/usr/include/x86_64-linux-gnu/bits/sched.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
/usr/include/x86_64-linux-gnu/bits/time.h \
/usr/include/x86_64-linux-gnu/bits/timex.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h util.h \
vconf.h inifile.h /usr/include/c++/12/list \
/usr/include/c++/12/bits/stl_algobase.h \
/usr/include/c++/12/bits/functexcept.h \
/usr/include/c++/12/bits/exception_defines.h \
/usr/include/c++/12/bits/cpp_type_traits.h \
/usr/include/c++/12/ext/type_traits.h \
/usr/include/c++/12/ext/numeric_traits.h \
/usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/type_traits \
/usr/include/c++/12/bits/move.h /usr/include/c++/12/bits/utility.h \
/usr/include/c++/12/bits/stl_iterator_base_types.h \
/usr/include/c++/12/bits/stl_iterator_base_funcs.h \
/usr/include/c++/12/bits/concept_check.h \
/usr/include/c++/12/debug/assertions.h \
/usr/include/c++/12/bits/stl_iterator.h \
/usr/include/c++/12/bits/ptr_traits.h /usr/include/c++/12/debug/debug.h \
/usr/include/c++/12/bits/predefined_ops.h \
/usr/include/c++/12/bits/allocator.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \
/usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \
/usr/include/c++/12/bits/exception.h \
/usr/include/c++/12/bits/memoryfwd.h \
/usr/include/c++/12/bits/range_access.h \
/usr/include/c++/12/initializer_list /usr/include/c++/12/bits/stl_list.h \
/usr/include/c++/12/ext/alloc_traits.h \
/usr/include/c++/12/bits/alloc_traits.h \
/usr/include/c++/12/bits/stl_construct.h \
/usr/include/c++/12/bits/allocated_ptr.h \
/usr/include/c++/12/ext/aligned_buffer.h \
/usr/include/c++/12/bits/list.tcc tstring.h /usr/include/c++/12/string \
/usr/include/c++/12/bits/stringfwd.h \
/usr/include/c++/12/bits/char_traits.h \
/usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \
/usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/wchar.h \
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
/usr/include/c++/12/cstdint \
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
/usr/include/c++/12/bits/localefwd.h \
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \
/usr/include/c++/12/clocale /usr/include/locale.h \
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \
/usr/include/c++/12/cctype /usr/include/ctype.h \
/usr/include/c++/12/bits/ostream_insert.h \
/usr/include/c++/12/bits/cxxabi_forced.h \
/usr/include/c++/12/bits/stl_function.h \
/usr/include/c++/12/backward/binders.h \
/usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \
/usr/include/c++/12/bits/basic_string.h /usr/include/c++/12/string_view \
/usr/include/c++/12/bits/functional_hash.h \
/usr/include/c++/12/bits/hash_bytes.h \
/usr/include/c++/12/bits/string_view.tcc \
/usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdio \
/usr/include/c++/12/cerrno /usr/include/c++/12/bits/charconv.h \
/usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/vector \
/usr/include/c++/12/bits/stl_uninitialized.h \
/usr/include/c++/12/bits/stl_vector.h \
/usr/include/c++/12/bits/stl_bvector.h \
/usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/map \
/usr/include/c++/12/bits/stl_tree.h \
/usr/include/c++/12/bits/node_handle.h \
/usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \
/usr/include/c++/12/bits/uses_allocator.h \
/usr/include/c++/12/bits/stl_multimap.h \
/usr/include/c++/12/bits/erase_if.h
/usr/include/stdc-predef.h:
../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/c++/12/stdlib.h:
/usr/include/c++/12/cstdlib:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h:
/usr/include/c++/12/pstl/pstl_config.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/c++/12/bits/std_abs.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/syslog.h:
/usr/include/x86_64-linux-gnu/sys/syslog.h:
/usr/include/x86_64-linux-gnu/bits/syslog-path.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/x86_64-linux-gnu/bits/statx.h:
/usr/include/linux/stat.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/bits/statx-generic.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h:
compat_defs.h:
loghandler.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
util.h:
vconf.h:
inifile.h:
/usr/include/c++/12/list:
/usr/include/c++/12/bits/stl_algobase.h:
/usr/include/c++/12/bits/functexcept.h:
/usr/include/c++/12/bits/exception_defines.h:
/usr/include/c++/12/bits/cpp_type_traits.h:
/usr/include/c++/12/ext/type_traits.h:
/usr/include/c++/12/ext/numeric_traits.h:
/usr/include/c++/12/bits/stl_pair.h:
/usr/include/c++/12/type_traits:
/usr/include/c++/12/bits/move.h:
/usr/include/c++/12/bits/utility.h:
/usr/include/c++/12/bits/stl_iterator_base_types.h:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:
/usr/include/c++/12/bits/concept_check.h:
/usr/include/c++/12/debug/assertions.h:
/usr/include/c++/12/bits/stl_iterator.h:
/usr/include/c++/12/bits/ptr_traits.h:
/usr/include/c++/12/debug/debug.h:
/usr/include/c++/12/bits/predefined_ops.h:
/usr/include/c++/12/bits/allocator.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:
/usr/include/c++/12/bits/new_allocator.h:
/usr/include/c++/12/new:
/usr/include/c++/12/bits/exception.h:
/usr/include/c++/12/bits/memoryfwd.h:
/usr/include/c++/12/bits/range_access.h:
/usr/include/c++/12/initializer_list:
/usr/include/c++/12/bits/stl_list.h:
/usr/include/c++/12/ext/alloc_traits.h:
/usr/include/c++/12/bits/alloc_traits.h:
/usr/include/c++/12/bits/stl_construct.h:
/usr/include/c++/12/bits/allocated_ptr.h:
/usr/include/c++/12/ext/aligned_buffer.h:
/usr/include/c++/12/bits/list.tcc:
tstring.h:
/usr/include/c++/12/string:
/usr/include/c++/12/bits/stringfwd.h:
/usr/include/c++/12/bits/char_traits.h:
/usr/include/c++/12/bits/postypes.h:
/usr/include/c++/12/cwchar:
/usr/include/wchar.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h:
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
/usr/include/c++/12/cstdint:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/c++/12/bits/localefwd.h:
/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h:
/usr/include/c++/12/clocale:
/usr/include/locale.h:
/usr/include/x86_64-linux-gnu/bits/locale.h:
/usr/include/c++/12/iosfwd:
/usr/include/c++/12/cctype:
/usr/include/ctype.h:
/usr/include/c++/12/bits/ostream_insert.h:
/usr/include/c++/12/bits/cxxabi_forced.h:
/usr/include/c++/12/bits/stl_function.h:
/usr/include/c++/12/backward/binders.h:
/usr/include/c++/12/bits/refwrap.h:
/usr/include/c++/12/bits/invoke.h:
/usr/include/c++/12/bits/basic_string.h:
/usr/include/c++/12/string_view:
/usr/include/c++/12/bits/functional_hash.h:
/usr/include/c++/12/bits/hash_bytes.h:
/usr/include/c++/12/bits/string_view.tcc:
/usr/include/c++/12/ext/string_conversions.h:
/usr/include/c++/12/cstdio:
/usr/include/c++/12/cerrno:
/usr/include/c++/12/bits/charconv.h:
/usr/include/c++/12/bits/basic_string.tcc:
/usr/include/c++/12/vector:
/usr/include/c++/12/bits/stl_uninitialized.h:
/usr/include/c++/12/bits/stl_vector.h:
/usr/include/c++/12/bits/stl_bvector.h:
/usr/include/c++/12/bits/vector.tcc:
/usr/include/c++/12/map:
/usr/include/c++/12/bits/stl_tree.h:
/usr/include/c++/12/bits/node_handle.h:
/usr/include/c++/12/bits/stl_map.h:
/usr/include/c++/12/tuple:
/usr/include/c++/12/bits/uses_allocator.h:
/usr/include/c++/12/bits/stl_multimap.h:
/usr/include/c++/12/bits/erase_if.h:

View File

@ -1,3 +0,0 @@
win32_util.o: win32_util.c /usr/include/stdc-predef.h ../config.h
/usr/include/stdc-predef.h:
../config.h:

View File

@ -1,722 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# src/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2013 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.
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/vchanger
pkgincludedir = $(includedir)/vchanger
pkglibdir = $(libdir)/vchanger
pkglibexecdir = $(libexecdir)/vchanger
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 = :
bin_PROGRAMS = vchanger$(EXEEXT)
subdir = src
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_vchanger_OBJECTS = getline.$(OBJEXT) gettimeofday.$(OBJEXT) \
readlink.$(OBJEXT) semaphore.$(OBJEXT) symlink.$(OBJEXT) \
sleep.$(OBJEXT) syslog.$(OBJEXT) win32_util.$(OBJEXT) \
uuidlookup.$(OBJEXT) bconsole.$(OBJEXT) tstring.$(OBJEXT) \
inifile.$(OBJEXT) mymutex.$(OBJEXT) mypopen.$(OBJEXT) \
vconf.$(OBJEXT) loghandler.$(OBJEXT) errhandler.$(OBJEXT) \
util.$(OBJEXT) changerstate.$(OBJEXT) diskchanger.$(OBJEXT) \
vchanger.$(OBJEXT)
vchanger_OBJECTS = $(am_vchanger_OBJECTS)
vchanger_LDADD = $(LDADD)
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I. -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_$(V))
am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
am__v_CXX_0 = @echo " CXX " $@;
am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
AM_V_CXXLD = $(am__v_CXXLD_$(V))
am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = $(vchanger_SOURCES)
DIST_SOURCES = $(vchanger_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /root/vchanger/missing aclocal-1.13
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 1
AUTOCONF = ${SHELL} /root/vchanger/missing autoconf
AUTOHEADER = ${SHELL} /root/vchanger/missing autoheader
AUTOMAKE = ${SHELL} /root/vchanger/missing automake-1.13
AWK = mawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /usr/bin/grep -E
EXEEXT =
GREP = /usr/bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LDFLAGS =
LIBOBJS =
LIBS =
LTLIBOBJS =
MAKEINFO = ${SHELL} /root/vchanger/missing makeinfo
MKDIR_P = /usr/bin/mkdir -p
OBJEXT = o
PACKAGE = vchanger
PACKAGE_BUGREPORT = jfisher@jaybus.com
PACKAGE_NAME = vchanger
PACKAGE_STRING = vchanger 1.0.3
PACKAGE_TARNAME = vchanger
PACKAGE_URL =
PACKAGE_VERSION = 1.0.3
PATH_SEPARATOR = :
SET_MAKE =
SHELL = /bin/bash
STRIP = strip
VERSION = 1.0.3
WINLDADD =
abs_builddir = /root/vchanger/src
abs_srcdir = /root/vchanger/src
abs_top_builddir = /root/vchanger
abs_top_srcdir = /root/vchanger
ac_ct_CC = gcc
ac_ct_CXX = g++
am__include = include
am__leading_dot = .
am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build_alias =
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host_alias =
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /root/vchanger/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix = ../
top_builddir = ..
top_srcdir = ..
AUTOMAKE_OPTIONS = foreign
AM_CFLAGS = -DLOCALSTATEDIR='"${localstatedir}"'
AM_CXXFLAGS = -DLOCALSTATEDIR='"${localstatedir}"'
AM_LDFLAGS =
vchanger_SOURCES = compat/getline.c compat/gettimeofday.c \
compat/readlink.c compat/semaphore.c \
compat/symlink.c compat/sleep.c compat/syslog.c \
win32_util.c uuidlookup.c bconsole.cpp \
tstring.cpp inifile.cpp mymutex.cpp mypopen.cpp \
vconf.cpp loghandler.cpp errhandler.cpp \
util.cpp changerstate.cpp diskchanger.cpp \
vchanger.cpp
all: all-am
.SUFFIXES:
.SUFFIXES: .c .cpp .o .obj
$(srcdir)/Makefile.in: $(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) --foreign src/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign src/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: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
vchanger$(EXEEXT): $(vchanger_OBJECTS) $(vchanger_DEPENDENCIES) $(EXTRA_vchanger_DEPENDENCIES)
@rm -f vchanger$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(vchanger_OBJECTS) $(vchanger_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/bconsole.Po
include ./$(DEPDIR)/changerstate.Po
include ./$(DEPDIR)/diskchanger.Po
include ./$(DEPDIR)/errhandler.Po
include ./$(DEPDIR)/getline.Po
include ./$(DEPDIR)/gettimeofday.Po
include ./$(DEPDIR)/inifile.Po
include ./$(DEPDIR)/loghandler.Po
include ./$(DEPDIR)/mymutex.Po
include ./$(DEPDIR)/mypopen.Po
include ./$(DEPDIR)/readlink.Po
include ./$(DEPDIR)/semaphore.Po
include ./$(DEPDIR)/sleep.Po
include ./$(DEPDIR)/symlink.Po
include ./$(DEPDIR)/syslog.Po
include ./$(DEPDIR)/tstring.Po
include ./$(DEPDIR)/util.Po
include ./$(DEPDIR)/uuidlookup.Po
include ./$(DEPDIR)/vchanger.Po
include ./$(DEPDIR)/vconf.Po
include ./$(DEPDIR)/win32_util.Po
.c.o:
$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# $(AM_V_CC)source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(COMPILE) -c $<
.c.obj:
$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# $(AM_V_CC)source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(COMPILE) -c `$(CYGPATH_W) '$<'`
getline.o: compat/getline.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getline.o -MD -MP -MF $(DEPDIR)/getline.Tpo -c -o getline.o `test -f 'compat/getline.c' || echo '$(srcdir)/'`compat/getline.c
$(AM_V_at)$(am__mv) $(DEPDIR)/getline.Tpo $(DEPDIR)/getline.Po
# $(AM_V_CC)source='compat/getline.c' object='getline.o' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getline.o `test -f 'compat/getline.c' || echo '$(srcdir)/'`compat/getline.c
getline.obj: compat/getline.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getline.obj -MD -MP -MF $(DEPDIR)/getline.Tpo -c -o getline.obj `if test -f 'compat/getline.c'; then $(CYGPATH_W) 'compat/getline.c'; else $(CYGPATH_W) '$(srcdir)/compat/getline.c'; fi`
$(AM_V_at)$(am__mv) $(DEPDIR)/getline.Tpo $(DEPDIR)/getline.Po
# $(AM_V_CC)source='compat/getline.c' object='getline.obj' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getline.obj `if test -f 'compat/getline.c'; then $(CYGPATH_W) 'compat/getline.c'; else $(CYGPATH_W) '$(srcdir)/compat/getline.c'; fi`
gettimeofday.o: compat/gettimeofday.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gettimeofday.o -MD -MP -MF $(DEPDIR)/gettimeofday.Tpo -c -o gettimeofday.o `test -f 'compat/gettimeofday.c' || echo '$(srcdir)/'`compat/gettimeofday.c
$(AM_V_at)$(am__mv) $(DEPDIR)/gettimeofday.Tpo $(DEPDIR)/gettimeofday.Po
# $(AM_V_CC)source='compat/gettimeofday.c' object='gettimeofday.o' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gettimeofday.o `test -f 'compat/gettimeofday.c' || echo '$(srcdir)/'`compat/gettimeofday.c
gettimeofday.obj: compat/gettimeofday.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gettimeofday.obj -MD -MP -MF $(DEPDIR)/gettimeofday.Tpo -c -o gettimeofday.obj `if test -f 'compat/gettimeofday.c'; then $(CYGPATH_W) 'compat/gettimeofday.c'; else $(CYGPATH_W) '$(srcdir)/compat/gettimeofday.c'; fi`
$(AM_V_at)$(am__mv) $(DEPDIR)/gettimeofday.Tpo $(DEPDIR)/gettimeofday.Po
# $(AM_V_CC)source='compat/gettimeofday.c' object='gettimeofday.obj' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gettimeofday.obj `if test -f 'compat/gettimeofday.c'; then $(CYGPATH_W) 'compat/gettimeofday.c'; else $(CYGPATH_W) '$(srcdir)/compat/gettimeofday.c'; fi`
readlink.o: compat/readlink.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT readlink.o -MD -MP -MF $(DEPDIR)/readlink.Tpo -c -o readlink.o `test -f 'compat/readlink.c' || echo '$(srcdir)/'`compat/readlink.c
$(AM_V_at)$(am__mv) $(DEPDIR)/readlink.Tpo $(DEPDIR)/readlink.Po
# $(AM_V_CC)source='compat/readlink.c' object='readlink.o' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o readlink.o `test -f 'compat/readlink.c' || echo '$(srcdir)/'`compat/readlink.c
readlink.obj: compat/readlink.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT readlink.obj -MD -MP -MF $(DEPDIR)/readlink.Tpo -c -o readlink.obj `if test -f 'compat/readlink.c'; then $(CYGPATH_W) 'compat/readlink.c'; else $(CYGPATH_W) '$(srcdir)/compat/readlink.c'; fi`
$(AM_V_at)$(am__mv) $(DEPDIR)/readlink.Tpo $(DEPDIR)/readlink.Po
# $(AM_V_CC)source='compat/readlink.c' object='readlink.obj' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o readlink.obj `if test -f 'compat/readlink.c'; then $(CYGPATH_W) 'compat/readlink.c'; else $(CYGPATH_W) '$(srcdir)/compat/readlink.c'; fi`
semaphore.o: compat/semaphore.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT semaphore.o -MD -MP -MF $(DEPDIR)/semaphore.Tpo -c -o semaphore.o `test -f 'compat/semaphore.c' || echo '$(srcdir)/'`compat/semaphore.c
$(AM_V_at)$(am__mv) $(DEPDIR)/semaphore.Tpo $(DEPDIR)/semaphore.Po
# $(AM_V_CC)source='compat/semaphore.c' object='semaphore.o' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o semaphore.o `test -f 'compat/semaphore.c' || echo '$(srcdir)/'`compat/semaphore.c
semaphore.obj: compat/semaphore.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT semaphore.obj -MD -MP -MF $(DEPDIR)/semaphore.Tpo -c -o semaphore.obj `if test -f 'compat/semaphore.c'; then $(CYGPATH_W) 'compat/semaphore.c'; else $(CYGPATH_W) '$(srcdir)/compat/semaphore.c'; fi`
$(AM_V_at)$(am__mv) $(DEPDIR)/semaphore.Tpo $(DEPDIR)/semaphore.Po
# $(AM_V_CC)source='compat/semaphore.c' object='semaphore.obj' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o semaphore.obj `if test -f 'compat/semaphore.c'; then $(CYGPATH_W) 'compat/semaphore.c'; else $(CYGPATH_W) '$(srcdir)/compat/semaphore.c'; fi`
symlink.o: compat/symlink.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT symlink.o -MD -MP -MF $(DEPDIR)/symlink.Tpo -c -o symlink.o `test -f 'compat/symlink.c' || echo '$(srcdir)/'`compat/symlink.c
$(AM_V_at)$(am__mv) $(DEPDIR)/symlink.Tpo $(DEPDIR)/symlink.Po
# $(AM_V_CC)source='compat/symlink.c' object='symlink.o' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o symlink.o `test -f 'compat/symlink.c' || echo '$(srcdir)/'`compat/symlink.c
symlink.obj: compat/symlink.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT symlink.obj -MD -MP -MF $(DEPDIR)/symlink.Tpo -c -o symlink.obj `if test -f 'compat/symlink.c'; then $(CYGPATH_W) 'compat/symlink.c'; else $(CYGPATH_W) '$(srcdir)/compat/symlink.c'; fi`
$(AM_V_at)$(am__mv) $(DEPDIR)/symlink.Tpo $(DEPDIR)/symlink.Po
# $(AM_V_CC)source='compat/symlink.c' object='symlink.obj' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o symlink.obj `if test -f 'compat/symlink.c'; then $(CYGPATH_W) 'compat/symlink.c'; else $(CYGPATH_W) '$(srcdir)/compat/symlink.c'; fi`
sleep.o: compat/sleep.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sleep.o -MD -MP -MF $(DEPDIR)/sleep.Tpo -c -o sleep.o `test -f 'compat/sleep.c' || echo '$(srcdir)/'`compat/sleep.c
$(AM_V_at)$(am__mv) $(DEPDIR)/sleep.Tpo $(DEPDIR)/sleep.Po
# $(AM_V_CC)source='compat/sleep.c' object='sleep.o' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sleep.o `test -f 'compat/sleep.c' || echo '$(srcdir)/'`compat/sleep.c
sleep.obj: compat/sleep.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sleep.obj -MD -MP -MF $(DEPDIR)/sleep.Tpo -c -o sleep.obj `if test -f 'compat/sleep.c'; then $(CYGPATH_W) 'compat/sleep.c'; else $(CYGPATH_W) '$(srcdir)/compat/sleep.c'; fi`
$(AM_V_at)$(am__mv) $(DEPDIR)/sleep.Tpo $(DEPDIR)/sleep.Po
# $(AM_V_CC)source='compat/sleep.c' object='sleep.obj' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sleep.obj `if test -f 'compat/sleep.c'; then $(CYGPATH_W) 'compat/sleep.c'; else $(CYGPATH_W) '$(srcdir)/compat/sleep.c'; fi`
syslog.o: compat/syslog.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syslog.o -MD -MP -MF $(DEPDIR)/syslog.Tpo -c -o syslog.o `test -f 'compat/syslog.c' || echo '$(srcdir)/'`compat/syslog.c
$(AM_V_at)$(am__mv) $(DEPDIR)/syslog.Tpo $(DEPDIR)/syslog.Po
# $(AM_V_CC)source='compat/syslog.c' object='syslog.o' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syslog.o `test -f 'compat/syslog.c' || echo '$(srcdir)/'`compat/syslog.c
syslog.obj: compat/syslog.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syslog.obj -MD -MP -MF $(DEPDIR)/syslog.Tpo -c -o syslog.obj `if test -f 'compat/syslog.c'; then $(CYGPATH_W) 'compat/syslog.c'; else $(CYGPATH_W) '$(srcdir)/compat/syslog.c'; fi`
$(AM_V_at)$(am__mv) $(DEPDIR)/syslog.Tpo $(DEPDIR)/syslog.Po
# $(AM_V_CC)source='compat/syslog.c' object='syslog.obj' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syslog.obj `if test -f 'compat/syslog.c'; then $(CYGPATH_W) 'compat/syslog.c'; else $(CYGPATH_W) '$(srcdir)/compat/syslog.c'; fi`
.cpp.o:
$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# $(AM_V_CXX)source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# $(AM_V_CXX)source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
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-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
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"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
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 $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(bindir)"; 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-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS
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 -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \
distclean distclean-compile distclean-generic distclean-tags \
distdir dvi dvi-am html html-am info info-am install \
install-am install-binPROGRAMS 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 maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
ps ps-am tags tags-am uninstall uninstall-am \
uninstall-binPROGRAMS
# 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:

View File

@ -1,13 +0,0 @@
AUTOMAKE_OPTIONS = foreign
AM_CFLAGS = -DLOCALSTATEDIR='"${localstatedir}"'
AM_CXXFLAGS = -DLOCALSTATEDIR='"${localstatedir}"'
AM_LDFLAGS = @WINLDADD@
bin_PROGRAMS = vchanger
vchanger_SOURCES = compat/getline.c compat/gettimeofday.c \
compat/readlink.c compat/semaphore.c \
compat/symlink.c compat/sleep.c compat/syslog.c \
win32_util.c uuidlookup.c bconsole.cpp \
tstring.cpp inifile.cpp mymutex.cpp mypopen.cpp \
vconf.cpp loghandler.cpp errhandler.cpp \
util.cpp changerstate.cpp diskchanger.cpp \
vchanger.cpp

View File

@ -1,722 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 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__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
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 = :
bin_PROGRAMS = vchanger$(EXEEXT)
subdir = src
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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 =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_vchanger_OBJECTS = getline.$(OBJEXT) gettimeofday.$(OBJEXT) \
readlink.$(OBJEXT) semaphore.$(OBJEXT) symlink.$(OBJEXT) \
sleep.$(OBJEXT) syslog.$(OBJEXT) win32_util.$(OBJEXT) \
uuidlookup.$(OBJEXT) bconsole.$(OBJEXT) tstring.$(OBJEXT) \
inifile.$(OBJEXT) mymutex.$(OBJEXT) mypopen.$(OBJEXT) \
vconf.$(OBJEXT) loghandler.$(OBJEXT) errhandler.$(OBJEXT) \
util.$(OBJEXT) changerstate.$(OBJEXT) diskchanger.$(OBJEXT) \
vchanger.$(OBJEXT)
vchanger_OBJECTS = $(am_vchanger_OBJECTS)
vchanger_LDADD = $(LDADD)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo " CXX " $@;
am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = $(vchanger_SOURCES)
DIST_SOURCES = $(vchanger_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
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@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
WINLDADD = @WINLDADD@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
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_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
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@
AUTOMAKE_OPTIONS = foreign
AM_CFLAGS = -DLOCALSTATEDIR='"${localstatedir}"'
AM_CXXFLAGS = -DLOCALSTATEDIR='"${localstatedir}"'
AM_LDFLAGS = @WINLDADD@
vchanger_SOURCES = compat/getline.c compat/gettimeofday.c \
compat/readlink.c compat/semaphore.c \
compat/symlink.c compat/sleep.c compat/syslog.c \
win32_util.c uuidlookup.c bconsole.cpp \
tstring.cpp inifile.cpp mymutex.cpp mypopen.cpp \
vconf.cpp loghandler.cpp errhandler.cpp \
util.cpp changerstate.cpp diskchanger.cpp \
vchanger.cpp
all: all-am
.SUFFIXES:
.SUFFIXES: .c .cpp .o .obj
$(srcdir)/Makefile.in: $(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) --foreign src/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign src/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: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
vchanger$(EXEEXT): $(vchanger_OBJECTS) $(vchanger_DEPENDENCIES) $(EXTRA_vchanger_DEPENDENCIES)
@rm -f vchanger$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(vchanger_OBJECTS) $(vchanger_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bconsole.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changerstate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskchanger.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errhandler.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getline.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inifile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loghandler.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mymutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mypopen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/semaphore.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tstring.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uuidlookup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vchanger.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vconf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32_util.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
getline.o: compat/getline.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getline.o -MD -MP -MF $(DEPDIR)/getline.Tpo -c -o getline.o `test -f 'compat/getline.c' || echo '$(srcdir)/'`compat/getline.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/getline.Tpo $(DEPDIR)/getline.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/getline.c' object='getline.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getline.o `test -f 'compat/getline.c' || echo '$(srcdir)/'`compat/getline.c
getline.obj: compat/getline.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getline.obj -MD -MP -MF $(DEPDIR)/getline.Tpo -c -o getline.obj `if test -f 'compat/getline.c'; then $(CYGPATH_W) 'compat/getline.c'; else $(CYGPATH_W) '$(srcdir)/compat/getline.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/getline.Tpo $(DEPDIR)/getline.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/getline.c' object='getline.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getline.obj `if test -f 'compat/getline.c'; then $(CYGPATH_W) 'compat/getline.c'; else $(CYGPATH_W) '$(srcdir)/compat/getline.c'; fi`
gettimeofday.o: compat/gettimeofday.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gettimeofday.o -MD -MP -MF $(DEPDIR)/gettimeofday.Tpo -c -o gettimeofday.o `test -f 'compat/gettimeofday.c' || echo '$(srcdir)/'`compat/gettimeofday.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gettimeofday.Tpo $(DEPDIR)/gettimeofday.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/gettimeofday.c' object='gettimeofday.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gettimeofday.o `test -f 'compat/gettimeofday.c' || echo '$(srcdir)/'`compat/gettimeofday.c
gettimeofday.obj: compat/gettimeofday.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gettimeofday.obj -MD -MP -MF $(DEPDIR)/gettimeofday.Tpo -c -o gettimeofday.obj `if test -f 'compat/gettimeofday.c'; then $(CYGPATH_W) 'compat/gettimeofday.c'; else $(CYGPATH_W) '$(srcdir)/compat/gettimeofday.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gettimeofday.Tpo $(DEPDIR)/gettimeofday.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/gettimeofday.c' object='gettimeofday.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gettimeofday.obj `if test -f 'compat/gettimeofday.c'; then $(CYGPATH_W) 'compat/gettimeofday.c'; else $(CYGPATH_W) '$(srcdir)/compat/gettimeofday.c'; fi`
readlink.o: compat/readlink.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT readlink.o -MD -MP -MF $(DEPDIR)/readlink.Tpo -c -o readlink.o `test -f 'compat/readlink.c' || echo '$(srcdir)/'`compat/readlink.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/readlink.Tpo $(DEPDIR)/readlink.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/readlink.c' object='readlink.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o readlink.o `test -f 'compat/readlink.c' || echo '$(srcdir)/'`compat/readlink.c
readlink.obj: compat/readlink.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT readlink.obj -MD -MP -MF $(DEPDIR)/readlink.Tpo -c -o readlink.obj `if test -f 'compat/readlink.c'; then $(CYGPATH_W) 'compat/readlink.c'; else $(CYGPATH_W) '$(srcdir)/compat/readlink.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/readlink.Tpo $(DEPDIR)/readlink.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/readlink.c' object='readlink.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o readlink.obj `if test -f 'compat/readlink.c'; then $(CYGPATH_W) 'compat/readlink.c'; else $(CYGPATH_W) '$(srcdir)/compat/readlink.c'; fi`
semaphore.o: compat/semaphore.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT semaphore.o -MD -MP -MF $(DEPDIR)/semaphore.Tpo -c -o semaphore.o `test -f 'compat/semaphore.c' || echo '$(srcdir)/'`compat/semaphore.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/semaphore.Tpo $(DEPDIR)/semaphore.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/semaphore.c' object='semaphore.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o semaphore.o `test -f 'compat/semaphore.c' || echo '$(srcdir)/'`compat/semaphore.c
semaphore.obj: compat/semaphore.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT semaphore.obj -MD -MP -MF $(DEPDIR)/semaphore.Tpo -c -o semaphore.obj `if test -f 'compat/semaphore.c'; then $(CYGPATH_W) 'compat/semaphore.c'; else $(CYGPATH_W) '$(srcdir)/compat/semaphore.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/semaphore.Tpo $(DEPDIR)/semaphore.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/semaphore.c' object='semaphore.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o semaphore.obj `if test -f 'compat/semaphore.c'; then $(CYGPATH_W) 'compat/semaphore.c'; else $(CYGPATH_W) '$(srcdir)/compat/semaphore.c'; fi`
symlink.o: compat/symlink.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT symlink.o -MD -MP -MF $(DEPDIR)/symlink.Tpo -c -o symlink.o `test -f 'compat/symlink.c' || echo '$(srcdir)/'`compat/symlink.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/symlink.Tpo $(DEPDIR)/symlink.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/symlink.c' object='symlink.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o symlink.o `test -f 'compat/symlink.c' || echo '$(srcdir)/'`compat/symlink.c
symlink.obj: compat/symlink.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT symlink.obj -MD -MP -MF $(DEPDIR)/symlink.Tpo -c -o symlink.obj `if test -f 'compat/symlink.c'; then $(CYGPATH_W) 'compat/symlink.c'; else $(CYGPATH_W) '$(srcdir)/compat/symlink.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/symlink.Tpo $(DEPDIR)/symlink.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/symlink.c' object='symlink.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o symlink.obj `if test -f 'compat/symlink.c'; then $(CYGPATH_W) 'compat/symlink.c'; else $(CYGPATH_W) '$(srcdir)/compat/symlink.c'; fi`
sleep.o: compat/sleep.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sleep.o -MD -MP -MF $(DEPDIR)/sleep.Tpo -c -o sleep.o `test -f 'compat/sleep.c' || echo '$(srcdir)/'`compat/sleep.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sleep.Tpo $(DEPDIR)/sleep.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/sleep.c' object='sleep.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sleep.o `test -f 'compat/sleep.c' || echo '$(srcdir)/'`compat/sleep.c
sleep.obj: compat/sleep.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sleep.obj -MD -MP -MF $(DEPDIR)/sleep.Tpo -c -o sleep.obj `if test -f 'compat/sleep.c'; then $(CYGPATH_W) 'compat/sleep.c'; else $(CYGPATH_W) '$(srcdir)/compat/sleep.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sleep.Tpo $(DEPDIR)/sleep.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/sleep.c' object='sleep.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sleep.obj `if test -f 'compat/sleep.c'; then $(CYGPATH_W) 'compat/sleep.c'; else $(CYGPATH_W) '$(srcdir)/compat/sleep.c'; fi`
syslog.o: compat/syslog.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syslog.o -MD -MP -MF $(DEPDIR)/syslog.Tpo -c -o syslog.o `test -f 'compat/syslog.c' || echo '$(srcdir)/'`compat/syslog.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/syslog.Tpo $(DEPDIR)/syslog.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/syslog.c' object='syslog.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syslog.o `test -f 'compat/syslog.c' || echo '$(srcdir)/'`compat/syslog.c
syslog.obj: compat/syslog.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syslog.obj -MD -MP -MF $(DEPDIR)/syslog.Tpo -c -o syslog.obj `if test -f 'compat/syslog.c'; then $(CYGPATH_W) 'compat/syslog.c'; else $(CYGPATH_W) '$(srcdir)/compat/syslog.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/syslog.Tpo $(DEPDIR)/syslog.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/syslog.c' object='syslog.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syslog.obj `if test -f 'compat/syslog.c'; then $(CYGPATH_W) 'compat/syslog.c'; else $(CYGPATH_W) '$(srcdir)/compat/syslog.c'; fi`
.cpp.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
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-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
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"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
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 $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(bindir)"; 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-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS
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 -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \
distclean distclean-compile distclean-generic distclean-tags \
distdir dvi dvi-am html html-am info info-am install \
install-am install-binPROGRAMS 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 maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
ps ps-am tags tags-am uninstall uninstall-am \
uninstall-binPROGRAMS
# 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:

View File

@ -1,213 +0,0 @@
/* bconsole.cpp
*
* Copyright (C) 2008-2018 Josh Fisher
*
* This program is free software. You may 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. See the file "COPYING". If not,
* see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#else
#ifdef HAVE_WINSOCK_H
#include <winsock.h>
#endif
#endif
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#ifdef HAVE_CTYPE_H
#include <ctype.h>
#endif
#include "compat_defs.h"
#include "util.h"
#include "loghandler.h"
#include "mymutex.h"
#include "mypopen.h"
#include "vconf.h"
#include "bconsole.h"
#ifndef HAVE_WINDOWS_H
/*
* Function to issue command in Bacula console.
* Returns zero on success, or errno if there was an error running the command
* or a timeout occurred.
*/
static int issue_bconsole_command(const char *bcmd)
{
int pid, rc, n, len, fno_in = -1, fno_out = -1;
struct timeval tv;
fd_set rfd;
tString cmd, tmp;
char buf[4096];
/* Build command line */
cmd = conf.bconsole;
if (cmd.empty()) return 0;
if (!conf.bconsole_config.empty()) {
cmd += " -c ";
cmd += conf.bconsole_config;
}
cmd += " -n -u 30";
/* Start bconsole process */
vlog.Debug("running '%s'", cmd.c_str());
pid = mypopen_raw(cmd.c_str(), &fno_in, &fno_out, NULL);
if (pid < 0) {
rc = errno;
vlog.Error("bconsole run failed errno=%d", rc);
errno = rc;
return rc;
}
/* Wait for bconsole to accept input */
tv.tv_sec = 30;
tv.tv_usec = 0;
FD_ZERO(&rfd);
FD_SET(fno_in, &rfd);
rc = select(fno_in + 1, NULL, &rfd, NULL, &tv);
if (rc == 0) {
vlog.Error("timeout waiting to send command to bconsole");
close(fno_in);
close(fno_out);
errno = ETIMEDOUT;
return ETIMEDOUT;
}
if (rc < 0) {
rc = errno;
vlog.Error("errno=%d waiting to send command to bconsole", rc);
close(fno_in);
close(fno_out);
errno = rc;
return rc;
}
/* Send command to bconsole's stdin */
vlog.Debug("sending bconsole command '%s'", bcmd);
len = strlen(bcmd);
n = 0;
while (n < len) {
rc = write(fno_in, bcmd + n, len - n);
if (rc < 0) {
rc = errno;
vlog.Error("send to bconsole's stdin failed errno=%d", rc);
close(fno_in);
close(fno_out);
errno = rc;
return rc;
}
n += rc;
}
if (write(fno_in, "\n", 1) != 1) {
rc = errno;
vlog.Error("send to bconsole's stdin failed errno=%d", rc);
close(fno_in);
close(fno_out);
errno = rc;
return rc;
}
/* Wait for bconsole process to finish */
close(fno_in);
pid = waitpid(pid, &rc, 0);
if (!WIFEXITED(rc)) {
vlog.Error("abnormal exit of bconsole process");
close(fno_out);
return EPIPE;
}
if (WEXITSTATUS(rc)) {
vlog.Error("bconsole: exited with rc=%d", WEXITSTATUS(rc));
close(fno_out);
return WEXITSTATUS(rc);
}
/* Read stdout from bconsole */
vlog.Debug("bconsole: bconsole terminated normally");
memset(buf, 0, sizeof(buf));
tmp.clear();
rc = read(fno_out, buf, 4095);
while (rc > 0) {
buf[rc] = 0;
tmp += buf;
rc = read(fno_out, buf, 4095);
}
if (rc < 0) {
rc = errno;
vlog.Error("errno=%d reading bconsole stdout", rc);
close(fno_out);
errno = rc;
return rc;
}
close(fno_out);
vlog.Debug("bconsole output:\n%s", tmp.c_str());
return 0;
}
/*
* Function to fork a new process and issue commands in Bacula console to
* perform update slots and/or label new volumes using barcodes.
*/
void IssueBconsoleCommands(bool update_slots, bool label_barcodes)
{
tString cmd;
/* Check if update needed */
if (!update_slots && !label_barcodes) return; /* Nothing to do */
/* Perform update slots command in bconsole */
if (update_slots) {
tFormat(cmd, "update slots storage=\"%s\" drive=\"0\"", conf.storage_name.c_str());
if(issue_bconsole_command(cmd.c_str())) {
vlog.Error("WARNING! 'update slots' needed in bconsole");
}
vlog.Info("bconsole update slots command success");
}
/* Perform label barcodes command in bconsole */
if (label_barcodes) {
tFormat(cmd, "label storage=\"%s\" pool=\"%s\" barcodes\nyes\nyes\n", conf.storage_name.c_str(),
conf.def_pool.c_str());
if (issue_bconsole_command(cmd.c_str())) {
vlog.Error("WARNING! 'label barcodes' needed in bconsole");
}
vlog.Info("bconsole label barcodes command success");
}
}
#else
/*
* Bconsole interaction is not currently supported on Windows
*/
void IssueBconsoleCommands(bool update_slots, bool label_barcodes)
{
return;
}
#endif

View File

@ -1,29 +0,0 @@
/* bconsole.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2017 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef BCONSOLE_H_
#define BCONSOLE_H_
void IssueBconsoleCommands(bool update_slots, bool label_barcodes);
#endif /* BCONSOLE_H_ */

Binary file not shown.

View File

@ -1,851 +0,0 @@
/* changerstate.cpp
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2018 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Provides a class to track state of virtual drives using files in
* the vchanger state directory.
*/
#include "config.h"
#include "compat_defs.h"
#ifdef HAVE_STDIO_H
#include <stdio.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_STDDEF_H
#include <stddef.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#ifdef HAVE_CTYPE_H
#include <ctype.h>
#endif
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#include "compat/getline.h"
#include "compat/readlink.h"
#include "compat/symlink.h"
#include "vconf.h"
#include "loghandler.h"
#include "errhandler.h"
#include "util.h"
#define __CHANGERSTATE_SOURCE 1
#include "changerstate.h"
#include "uuidlookup.h"
///////////////////////////////////////////////////
// Class MagazineSlot
///////////////////////////////////////////////////
MagazineSlot::MagazineSlot(const MagazineSlot &b)
{
mag_bay = b.mag_bay;
mag_slot = b.mag_slot;
label = b.label;
}
MagazineSlot& MagazineSlot::operator=(const MagazineSlot &b)
{
if (&b != this) {
mag_bay = b.mag_bay;
mag_slot = b.mag_slot;
label = b.label;
}
return *this;
}
bool MagazineSlot::operator==(const MagazineSlot &b)
{
if (&b == this) return true;
if (label == b.label) return true;
return false;
}
bool MagazineSlot::operator!=(const MagazineSlot &b)
{
if (&b == this) return false;
if (label != b.label) return true;
return false;
}
/*-------------------------------------------------
* Method to clear object values
*-------------------------------------------------*/
void MagazineSlot::clear()
{
mag_bay = -1;
mag_slot = -1;
label.clear();
}
///////////////////////////////////////////////////
// Class MagazineState
///////////////////////////////////////////////////
MagazineState::MagazineState(const MagazineState &b)
{
mag_bay = b.mag_bay;
num_slots = b.num_slots;
start_slot = b.start_slot;
prev_num_slots = b.prev_num_slots;
prev_start_slot = b.prev_start_slot;
mag_dev = b.mag_dev;
mountpoint = b.mountpoint;
mslot = b.mslot;
verr = b.verr;
}
MagazineState& MagazineState::operator=(const MagazineState &b)
{
if (&b != this) {
mag_bay = b.mag_bay;
num_slots = b.num_slots;
start_slot = b.start_slot;
prev_num_slots = b.prev_num_slots;
prev_start_slot = b.prev_start_slot;
mag_dev = b.mag_dev;
mountpoint = b.mountpoint;
mslot = b.mslot;
verr = b.verr;
}
return *this;
}
void MagazineState::clear()
{
/* Notice that device and bay number are not cleared */
num_slots = 0;
start_slot = 0;
mountpoint.clear();
mslot.clear();
verr.clear();
}
/*-------------------------------------------------
* Method to save current state of magazine bay to a file in
* the work directory named "bay" + bay_number.
* On success returns zero, otherwise sets lasterr and
* returns errno.
*-------------------------------------------------*/
int MagazineState::save()
{
mode_t old_mask;
int rc;
FILE *FS;
char sname[4096];
if (mag_bay < 0) {
verr.SetErrorWithErrno(EINVAL, "cannot save state of invalid magazine %d", mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return EINVAL;
}
/* Build path to state file */
snprintf(sname, sizeof(sname), "%s%sbay_state-%d", conf.work_dir.c_str(), DIR_DELIM, mag_bay);
/* Remove magazine state files for unmounted magazines */
if (mountpoint.empty() || mslot.empty()) {
unlink(sname);
return 0;
}
/* Write state file for mounted magazine */
old_mask = umask(027);
FS = fopen(sname, "w");
if (!FS) {
/* Unable to open state file for writing */
rc = errno;
umask(old_mask);
verr.SetErrorWithErrno(rc, "cannot open magazine %d state file for writing", mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
/* Save magazine device (directory or UUID), number of volumes, and start of
* virtual slot range it is assigned */
if (fprintf(FS, "%s,%d,%d\n", mag_dev.c_str(), num_slots, start_slot) < 0) {
/* I/O error writing state file */
rc = errno;
fclose(FS);
unlink(sname);
umask(old_mask);
verr.SetErrorWithErrno(rc, "cannot write to magazine %d state file", mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
fclose(FS);
umask(old_mask);
vlog.Notice("saved state of magazine %d", mag_bay);
return 0;
}
/*-------------------------------------------------
* Method to restore state of magazine from a file in the work
* directory named "bay_state-N", where N is the bay number.
* On success returns zero, otherwise sets lasterr and
* returns errno.
*-------------------------------------------------*/
int MagazineState::restore()
{
int rc;
tString line, word;
struct stat st;
FILE *FS;
size_t p;
char sname[4096];
if (mag_bay < 0) {
verr.SetErrorWithErrno(EINVAL, "cannot restore state of invalid magazine %d", mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return EINVAL;
}
clear();
prev_num_slots = 0;
prev_start_slot = 0;
snprintf(sname, sizeof(sname), "%s%sbay_state-%d", conf.work_dir.c_str(), DIR_DELIM, mag_bay);
/* Check for existing state file */
if (stat(sname, &st)) {
/* magazine bay state file not found, so bay did not previously
* contain a magazine */
return 0;
}
/* Read bay state file */
FS = fopen(sname, "r");
if (!FS) {
/* No read permission? */
rc = errno;
verr.SetErrorWithErrno(rc, "cannot open magazine %d state file for reading", mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
if (tGetLine(line, FS) == NULL) {
rc = errno;
if (!feof(FS)) {
/* error reading bay state file */
fclose(FS);
verr.SetErrorWithErrno(rc, "error reading magazine %d state file", mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
}
fclose(FS);
/* Get magazine device (UUID or path specified in config) */
tStrip(tRemoveEOL(line));
p = 0;
if (tParseCSV(word, line, p) <= 0) {
/* bay state file should not be empty, assume it didn't exist */
vlog.Warning("WARNING! magazine %d state file was empty, deleting it", mag_bay);
unlink(sname);
return 0;
}
if (mag_dev != word) {
/* Order of mag bays has changed in config file so ignore old state */
unlink(sname);
return 0;
}
/* Get number of slots */
if (tParseCSV(word, line, p) <= 0) {
/* Bay state file is corrupt.
* Treat as if it was not mounted at last invocation */
clear();
vlog.Warning("WARNING! magazine %d state file corrupt, deleting it", mag_bay);
unlink(sname);
return 0;
}
if (!isdigit(word[0])) {
/* Corrupt bay state file, assume it doesn't exist */
clear();
unlink(sname);
vlog.Warning("WARNING! magazine %d state file has invalid number of slots field, deleting it", mag_bay);
return 0;
}
prev_num_slots = (int)strtol(word.c_str(), NULL, 10);
if (prev_num_slots < 0) {
/* Corrupt bay state file, assume it doesn't exist */
clear();
prev_num_slots = 0;
unlink(sname);
vlog.Warning("WARNING! magazine %d state file has invalid number of slots field, deleting it", mag_bay);
return 0;
}
/* Get virtual slot number offset */
if (tParseCSV(word, line, p) <= 0) {
/* Bay state file is corrupt.
* Treat as if it was not mounted at last invocation */
clear();
prev_num_slots = 0;
vlog.Warning("WARNING! magazine %d state file corrupt, deleting it", mag_bay);
unlink(sname);
return 0;
}
if (!isdigit(word[0])) {
/* Corrupt bay state file, assume it doesn't exist */
clear();
prev_num_slots = 0;
unlink(sname);
vlog.Warning("WARNING! magazine %d state file has invalid virtual slot assignment field, deleting it",
mag_bay);
return 0;
}
prev_start_slot = (int)strtol(word.c_str(), NULL, 10);
if (prev_start_slot <= 0) {
/* Corrupt bay state file, assume it doesn't exist */
clear();
prev_num_slots = 0;
prev_start_slot = 0;
unlink(sname);
vlog.Warning("WARNING! magazine %d state file has invalid virtual slot assignment field, deleting it",
mag_bay);
return 0;
}
vlog.Notice("restored state of magazine %d", mag_bay);
return 0;
}
/*-------------------------------------------------
* Method to update a magazine from vchanger version 0.x format
* to the format used with version 1.0.0 or higher.
* Return values are:
* 0 Success
*-------------------------------------------------*/
int MagazineState::UpdateMagazineFormat()
{
FILE *fs;
DIR *dir;
struct dirent *de;
struct stat st;
tString str, fname, lname, vname;
int drv;
/* Rename driveN files to their volume file name */
dir = opendir(mountpoint.c_str());
if (!dir) return -1;
de = readdir(dir);
while (de) {
/* Skip if not regular file */
tFormat(fname, "%s%s%s", mountpoint.c_str(), DIR_DELIM, de->d_name);
stat(fname.c_str(), &st);
if (!S_ISREG(st.st_mode)) {
de = readdir(dir);
continue;
}
/* Skip index file */
if (tCaseCmp(de->d_name, "index") == 0) {
de = readdir(dir);
continue;
}
str = de->d_name;
if (str.find("drive") == 0) {
str.erase(0, 5);
if (str.find_first_of("0123456789") == tString::npos) {
de = readdir(dir);
continue;
}
if (str.find_first_not_of("0123456789") != tString::npos) {
de = readdir(dir);
continue;
}
drv = (int)strtol(str.c_str(), NULL, 10);
tFormat(lname, "%s%sloaded%d", mountpoint.c_str(), DIR_DELIM, drv);
fs = fopen(lname.c_str(), "r");
if (fs == NULL) {
verr.SetErrorWithErrno(errno, "failed to find loaded%d file when updating magazine %d", drv, mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
de = readdir(dir);
continue;
}
tGetLine(str, fs);
fclose(fs);
if (str.empty()) {
verr.SetError(-1, "loaded%d file empty when updating magazine %d", drv, mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
de = readdir(dir);
continue;
}
tStrip(tRemoveEOL(str));
tFormat(vname, "%s%s%s", mountpoint.c_str(), DIR_DELIM, str.c_str());
if (rename(fname.c_str(), vname.c_str())) {
verr.SetError(EINVAL, "unable to rename 'drive%d' on magazine %d",
drv, mag_bay);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
}
}
de = readdir(dir);
}
closedir(dir);
/* Delete loadedN files */
dir = opendir(mountpoint.c_str());
de = readdir(dir);
while (de) {
str = de->d_name;
/* Skip if not regular file */
tFormat(fname, "%s%s%s", mountpoint.c_str(), DIR_DELIM, de->d_name);
stat(fname.c_str(), &st);
if (!S_ISREG(st.st_mode)) {
de = readdir(dir);
continue;
}
if (str.find("loaded") == 0) {
str.erase(0, 6);
if (str.find_first_of("0123456789") == tString::npos) {
de = readdir(dir);
continue;
}
if (str.find_first_not_of("0123456789") != tString::npos) {
de = readdir(dir);
continue;
}
unlink(fname.c_str());
}
de = readdir(dir);
}
closedir(dir);
/* Delete index file */
tFormat(fname, "%s%sindex", mountpoint.c_str(), DIR_DELIM);
unlink(fname.c_str());
vlog.Warning("magaine %d updated from old format", mag_bay);
return 0;
}
/*-------------------------------------------------
* Method to determine mountpoint of magazine and assign its volume files
* to magazine slots. Regular files on the magazine are assigned slots in
* ascending alphanumeric order by filename beginning with magazine slot zero.
* If the magazine's device string begins with "UUID:" (case insensitive),
* then it specifies the UUID of a file system on a disk partition to be used
* as the virtual magazine. Otherwise, it specifies a directory to be used as
* the virtual magazine. If a UUID is given, then the system is queried to
* determine the mountpoint of the filesystem with the given UUID. The magazine
* device must already be mounted or configured to be auto-mounted.
* Return values are:
* 0 Magazine assigned successfully
* -1 system error
* -2 parameter error
* -3 magname not found or not mounted
* -5 permission denied
*-------------------------------------------------*/
int MagazineState::Mount()
{
int rc, s;
DIR *dir;
struct dirent *de;
struct stat st;
tString fname, line, path;
MagazineSlot v;
std::list<tString> vname;
std::list<tString>::iterator p;
char buf[4096];
clear();
if (tCaseFind(mag_dev, "uuid:") != 0) {
/* magazine specified as filesystem path */
mountpoint = mag_dev;
} else {
/* magazine specified as UUID, so query OS for mountpoint */
rc = GetMountpointFromUUID(buf, sizeof(buf), mag_dev.substr(5).c_str());
mountpoint = buf;
if (rc == -3 || rc == -4) {
/* magazine device not found or not mounted */
mountpoint.clear();
return -3;
}
if (rc) {
verr.SetError(rc, "system error determining mountpoint from UUID");
vlog.Error("ERROR! %s", verr.GetErrorMsg());
mountpoint.clear();
return -1;
}
}
/* Check mountpoint exists */
if (access(mountpoint.c_str(), F_OK) != 0) {
/* Mountpoint not found */
mountpoint.clear();
return -3;
}
/* Ensure access to magazine mountpoint */
if (access(mountpoint.c_str(), W_OK) != 0) {
verr.SetError(rc, "no write access to directory %s", mountpoint.c_str());
vlog.Error("%s", verr.GetErrorMsg());
mountpoint.clear();
return -5;
}
/* If this magazine contains a file named index then assume it was
* created by an old version of vchanger and prepare it for use
* by removing meta-information files. */
tFormat(fname, "%s%sindex", mountpoint.c_str(), DIR_DELIM);
if (access(fname.c_str(), F_OK) == 0) {
UpdateMagazineFormat();
}
/* Build list of this magazine's volume files */
dir = opendir(mountpoint.c_str());
if (!dir) {
/* could not open mountpoint dir */
rc = errno;
verr.SetErrorWithErrno(rc, "cannot open directory '%s'", mountpoint.c_str());
vlog.Error("ERROR! %s", verr.GetErrorMsg());
mountpoint.clear();
if (rc == ENOTDIR || rc == ENOENT) return -3;
if (rc == EACCES) return -5;
return -1;
}
de = readdir(dir);
while (de) {
/* Skip if not regular file */
tFormat(path, "%s%s%s", mountpoint.c_str(), DIR_DELIM, de->d_name);
stat(path.c_str(), &st);
if (!S_ISREG(st.st_mode)) {
de = readdir(dir);
continue;
}
/* Writable regular files on magazine are considered volume files */
if (access(path.c_str(), W_OK) == 0) {
vname.push_back(de->d_name);
}
de = readdir(dir);
}
closedir(dir);
if (vname.empty()) {
/* Magazine is ready for use but has no volumes */
start_slot = 0;
num_slots = 0;
return 0;
}
/* Assign volume files to slots in alphanumeric order */
vname.sort();
s = 0;
for (p = vname.begin(); p != vname.end(); p++) {
v.mag_bay = mag_bay;
v.label = *p;
v.mag_slot = s++;
mslot.push_back(v);
}
num_slots = (int)mslot.size();
return 0;
}
/*-------------------------------------------------
* Method to get path to volume file in a magazine slot
* On success returns path, else returns empty string
*-------------------------------------------------*/
const char* MagazineState::GetVolumeLabel(int ms) const
{
if (ms >= 0 && ms < (int)mslot.size() && !mslot[ms].empty()) {
return mslot[ms].label.c_str();
}
return "";
}
/*-------------------------------------------------
* Method to get path to volume file in a magazine slot
* On success returns path, else returns empty string
*-------------------------------------------------*/
tString MagazineState::GetVolumePath(int ms)
{
tString result;
if (ms >= 0 && ms < (int)mslot.size()) {
tFormat(result, "%s%s%s", mountpoint.c_str(), DIR_DELIM, GetVolumeLabel(ms));
}
return result;
}
/*-------------------------------------------------
* Method to get path to volume file in a magazine slot
* On success returns path, else returns empty string
*-------------------------------------------------*/
const char* MagazineState::GetVolumePath(tString &path, int ms)
{
path = GetVolumePath(ms);
return path.c_str();
}
/*-------------------------------------------------
* Method to get magazine slot containing a label.
* On success returns magazine slot number, else negative.
*-------------------------------------------------*/
int MagazineState::GetVolumeSlot(const char *label)
{
int n;
for (n = 0; n < num_slots; n++) {
if (mslot[n].label == label) return n;
}
return -1;
}
/*-------------------------------------------------
* Method to create a new volume file. 'vol_label_in' gives the
* name of the new volume file to create on the magazine. If empty,
* then a volume file name is generated based on the magazine's name.
* A new magazine slot is appended to hold the new volume and a new
* virtual slot is appended that maps to the new magazine slot.
* On success returns zero, else sets lasterr and returns negative
*-------------------------------------------------*/
int MagazineState::CreateVolume(const char *vol_label_in)
{
int rc = 0, slot;
FILE *fs;
tString fname, label(vol_label_in);
MagazineSlot new_mslot;
if (label.empty()) {
slot = (int)mslot.size();
--slot;
while(rc == 0) {
++slot;
tFormat(label, "%s_%d_%d", conf.storage_name.c_str(), mag_bay, slot);
tFormat(fname, "%s%s%s", mountpoint.c_str(), DIR_DELIM, label.c_str());
if (access(fname.c_str(), F_OK)) rc = errno;
else rc = 0;
}
} else {
tFormat(fname, "%s%s%s", mountpoint.c_str(), DIR_DELIM, label.c_str());
if (access(fname.c_str(), F_OK)) rc = errno;
else rc = 0;
if (rc == 0) {
verr.SetErrorWithErrno(rc, "volume %s already exists on magazine %d", label.c_str(), mag_bay);
return EEXIST;
}
}
if (rc != ENOENT) {
verr.SetErrorWithErrno(rc, "error %d accessing volumes on magazine %d", rc, mag_bay);
vlog.Error("MagazineState::CreateVolume: %s", verr.GetErrorMsg());
return -1;
}
/* Create new volume file on magazine */
fs = fopen(fname.c_str(), "w");
if (!fs) {
rc = errno;
verr.SetErrorWithErrno(rc, "error %d creating volume on magazine %d", rc, mag_bay);
vlog.Error("MagazineState::CreateVolume: %s", verr.GetErrorMsg());
return -1;
}
fclose(fs);
new_mslot.mag_bay = mag_bay;
new_mslot.mag_slot = mslot.size();
new_mslot.label = label;
mslot.push_back(new_mslot);
++num_slots;
vlog.Notice("created volume '%s' on magazine %d (%s)", label.c_str(), mag_bay, mag_dev.c_str());
return 0;
}
/*-------------------------------------------------
* Method to assign bay number and device for this magazine
*-------------------------------------------------*/
void MagazineState::SetBay(int bay, const char *dev)
{
mag_bay = bay;
mag_dev = dev;
clear();
}
///////////////////////////////////////////////////
// Class VirtualSlot
///////////////////////////////////////////////////
VirtualSlot::VirtualSlot(const VirtualSlot &b)
{
vs = b.vs;
drv = b.drv;
mag_bay = b.mag_bay;
mag_slot = b.mag_slot;
}
VirtualSlot& VirtualSlot::operator=(const VirtualSlot &b)
{
if (this != &b) {
vs = b.vs;
drv = b.drv;
mag_bay = b.mag_bay;
mag_slot = b.mag_slot;
}
return *this;
}
/*-------------------------------------------------
* Method to clear an virtual slot's values
*-------------------------------------------------*/
void VirtualSlot::clear()
{
drv = -1;
mag_bay = -1;
mag_slot = -1;
}
///////////////////////////////////////////////////
// Class DriveState
///////////////////////////////////////////////////
DriveState::DriveState(const DriveState &b)
{
drv = b.drv;
vs = b.vs;
}
DriveState& DriveState::operator=(const DriveState &b)
{
if (&b != this) {
drv = b.drv;
vs = b.vs;
}
return *this;
}
/*
* Method to clear a drive's values
*/
void DriveState::clear()
{
/* do not clear drive number */
vs = -1;
}
///////////////////////////////////////////////////
// Class DynamicConfig
///////////////////////////////////////////////////
/*-------------------------------------------------
* Method to save dynamic configuration info to a file in
* the work directory named dynamic.conf.
*-------------------------------------------------*/
void DynamicConfig::save()
{
mode_t old_mask;
int rc;
FILE *FS;
char sname[4096];
if (max_slot < 10) max_slot = 10;
/* Build path to dynamic.conf file */
snprintf(sname, sizeof(sname), "%s%sdynamic.conf", conf.work_dir.c_str(), DIR_DELIM);
/* Write dynamic config info */
old_mask = umask(027);
FS = fopen(sname, "w");
if (!FS) {
/* Unable to open dynamic.conf file for writing */
rc = errno;
umask(old_mask);
vlog.Error("ERROR! cannot open dynamic.conf file for writing (errno=%d)", rc);
return;
}
/* Save max slot number in use to dynamic configuration */
if (fprintf(FS, "max_used_slot=%d\n", max_slot) < 0) {
/* I/O error writing dynamic.conf file */
rc = errno;
fclose(FS);
unlink(sname);
umask(old_mask);
vlog.Error("ERROR! i/o error writing dynamic.conf file (errno=%d)", rc);
return;
}
fclose(FS);
umask(old_mask);
vlog.Notice("saved dynamic configuration (max used slot: %d)", max_slot);
}
/*-------------------------------------------------
* Method to restore dynamic configuration info.
*-------------------------------------------------*/
void DynamicConfig::restore()
{
int rc;
tString line;
struct stat st;
FILE *FS;
char sname[4096];
if (max_slot < 10) max_slot = 10;
/* Build path to dynamic.conf file */
snprintf(sname, sizeof(sname), "%s%sdynamic.conf", conf.work_dir.c_str(), DIR_DELIM);
/* Check for existing file */
if (stat(sname, &st)) {
/* dynamic configuration file not found */
return;
}
/* Read dynamic.conf file */
FS = fopen(sname, "r");
if (!FS) {
/* No read permission? */
rc = errno;
vlog.Error("ERROR! cannot open dynamic.conf file for restore (errno=%d)", rc);
return;
}
if (tGetLine(line, FS) == NULL) {
rc = errno;
if (!feof(FS)) {
/* error reading bay state file */
fclose(FS);
vlog.Error("ERROR! i/o error reading dynamic.conf file (errno=%d)", rc);
return;
}
}
fclose(FS);
/* Get magazine device (UUID or path specified in config) */
tStrip(tRemoveEOL(line));
if (tCaseFind(line, "max_used_slot") == 0) {
max_slot = (int)strtol(line.substr(14).c_str(), NULL, 10);
if (max_slot < 10) max_slot = 10;
}
}

View File

@ -1,137 +0,0 @@
/* changerstate.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2015 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef CHANGERSTATE_H_
#define CHANGERSTATE_H_
#include <vector>
#include "tstring.h"
#include "errhandler.h"
class MagazineSlot
{
public:
MagazineSlot() : mag_bay(-1), mag_slot(-1) {}
MagazineSlot(const MagazineSlot &b);
virtual ~MagazineSlot() {}
MagazineSlot& operator=(const MagazineSlot &b);
bool operator==(const MagazineSlot &b);
bool operator!=(const MagazineSlot &b);
void clear();
inline bool empty() { return label.empty(); }
inline bool empty() const { return label.empty(); }
inline bool operator==(const char *lab) { return (label == lab); }
inline bool operator!=(const char *lab) { return (label != lab); }
public:
int mag_bay;
int mag_slot;
tString label;
};
typedef std::vector<MagazineSlot> MagazineSlotArray;
class MagazineState
{
public:
MagazineState() : mag_bay(-1), num_slots(0), start_slot(0), prev_num_slots(0), prev_start_slot(0) {}
MagazineState(const MagazineState &b);
virtual ~MagazineState() {}
MagazineState& operator=(const MagazineState &b);
void clear();
int save();
int restore();
int Mount();
void SetBay(int bay, const char *dev);
inline void SetBay(int bay, const tString &dev) { SetBay(bay, dev.c_str()); }
tString GetVolumePath(int mag_slot);
const char* GetVolumePath(tString &path, int slot);
const char* GetVolumeLabel(int mag_slot) const;
int GetVolumeSlot(const char *fname);
inline int GetVolumeSlot(const tString &fname) { return GetVolumeSlot(fname.c_str()); }
int CreateVolume(const char *vol_label = "");
inline int CreateVolume(const tString &labl) { return CreateVolume(labl.c_str()); }
inline bool empty() { return mountpoint.empty(); }
inline bool empty() const { return mountpoint.empty(); }
protected:
int ReadMagazineIndex();
int UpdateMagazineFormat();
public:
int mag_bay;
int num_slots;
int start_slot;
int prev_num_slots;
int prev_start_slot;
tString mag_dev;
tString mountpoint;
MagazineSlotArray mslot;
ErrorHandler verr;
};
typedef std::vector<MagazineState> MagazineStateArray;
class VirtualSlot
{
public:
VirtualSlot() : vs(0), drv(-1), mag_bay(-1), mag_slot(-1) {}
VirtualSlot(const VirtualSlot &b);
virtual ~VirtualSlot() {}
VirtualSlot& operator=(const VirtualSlot &b);
void clear();
bool empty() { return mag_bay < 0; }
bool empty() const { return mag_bay < 0; }
public:
int vs;
int drv;
int mag_bay;
int mag_slot;
};
typedef std::vector<VirtualSlot> VirtualSlotArray;
class DynamicConfig
{
public:
DynamicConfig() : max_slot(0) {}
void save();
void restore();
public:
int max_slot;
};
class DriveState
{
public:
DriveState() : drv(-1), vs(-1) {}
DriveState(const DriveState &b);
virtual ~DriveState() {}
DriveState& operator=(const DriveState &b);
void clear();
inline bool empty() { return vs < 0; }
inline bool empty() const { return vs < 0; }
public:
int drv;
int vs;
};
typedef std::vector<DriveState> DriveStateArray;
#endif /*CHANGERSTATE_H_*/

View File

@ -1,81 +0,0 @@
/* getline.c
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifndef HAVE_GETLINE
#ifdef HAVE_WINDOWS_H
#include "targetver.h"
#endif
#include <stdio.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#include "compat/getline.h"
/*
* Emulate GNU extension function getline().
*/
ssize_t getline(char **lineptr, size_t *lineptr_sz, FILE *stream)
{
int c;
size_t n = 0;
c = fgetc(stream);
if (c == EOF) {
return -1;
}
if (*lineptr == NULL) {
*lineptr_sz = 4096;
*lineptr = (char*)malloc(*lineptr_sz);
if (*lineptr == NULL) {
return -1;
}
}
while (c != EOF && c != '\n')
{
if (n + 1 >= *lineptr_sz) {
*lineptr_sz += 4096;
*lineptr = (char*)realloc(*lineptr, *lineptr_sz);
if (*lineptr == NULL) {
return -1;
}
}
(*lineptr)[n++] = (char)c;
c = fgetc(stream);
}
if (c == '\n') {
if (n && (*lineptr)[n-1] == '\r') {
(*lineptr)[n-1] = '\n';
} else {
(*lineptr)[n++] = '\n';
}
}
(*lineptr)[n] = 0;
return (ssize_t)n;
}
#endif

View File

@ -1,38 +0,0 @@
/* getline.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _GETLINE_H_
#define _GETLINE_H_
#ifndef HAVE_GETLINE
/* For systems without getline function, use internal version */
#ifdef __cplusplus
extern "C" {
#endif
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
#ifdef __cplusplus
}
#endif
#endif
#endif /* _GETLINE_H */

View File

@ -1,118 +0,0 @@
/* gettimeofday.c
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifndef HAVE_GETTIMEOFDAY
#ifdef HAVE_WINDOWS_H
#include "targetver.h"
#include <windows.h>
#endif
#ifdef HAV_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_TIME_H
#include <time.h>
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#include "compat/gettimeofday.h"
#ifndef HAVE_WINDOWS_H
/*
* Emulate POSIX.1-2001 gettimeofday() function using the time() function.
*/
int gettimeofday(struct timeval *tv, struct timezone* tz)
{
if (tv != NULL) {
tv->tv_sec = time(NULL);
tv->tv_usec = 0;
}
if (tz != NULL) {
if (!tzflag) {
tzset();
tzflag++;
}
// Adjust for the timezone west of Greenwich
tz->tz_minuteswest = _timezone / 60;
tz->tz_dsttime = _daylight;
}
return 0;
}
#else
/*
* Emulate POSIX.1-2001 gettimeofday() function using the win32
* GetSystemTimeAsFIleTime() system function.
*/
int gettimeofday(struct timeval *tv, struct timezone* tz)
{
FILETIME ft;
int64_t tmpres = 0;
static int tzflag = 0;
if (tv != NULL) {
GetSystemTimeAsFileTime(&ft);
/* The GetSystemTimeAsFileTime returns the number of 100 nanosecond
* intervals since Jan 1, 1601 in a structure. Copy the high bits to
* the 64 bit tmpres, shift it left by 32 then or in the low 32 bits.
*/
tmpres |= ft.dwHighDateTime;
tmpres <<= 32;
tmpres |= ft.dwLowDateTime;
/* Convert to microseconds by dividing by 10 */
tmpres /= 10;
/* The Unix epoch starts on Jan 1 1970. Need to subtract the difference
* in seconds from Jan 1 1601.
*/
tmpres -= DELTA_EPOCH_IN_MICROSECS;
/* Finally change microseconds to seconds and place in the seconds value.
* The modulus picks up the microseconds.
*/
tv->tv_sec = tmpres / 1000000L;
tv->tv_usec = (tmpres % 1000000L);
}
if (NULL != tz) {
if (!tzflag) {
_tzset();
tzflag++;
}
// Adjust for the timezone west of Greenwich
tz->tz_minuteswest = _timezone / 60;
tz->tz_dsttime = _daylight;
}
return 0;
}
#endif
#endif

View File

@ -1,62 +0,0 @@
/* gettimeofday.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _GETTIMEOFDAY_H
#define _GETTIMEOFDAY_H
#ifndef HAVE_GETTIMEOFDAY
/* For systems without gettimeofday function, use internal version */
#ifdef HAVE_WINDOWS_H
#define EPOCH_FILETIME (116444736000000000LL) // 100 ns intervals between FILETIME epoch and Unix epoch
#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)
#define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64
#else
#define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL
#endif
#define suseconds_t long
struct timeval
{
time_t tv_sec;
suseconds_t tv_usec;
};
struct timezone
{
int tz_minuteswest;
int tz_dsttime;
};
#endif
#ifdef __cplusplus
extern "C" {
#endif
int gettimeofday(struct timeval *tv, struct timezone *tz);
#ifdef __cplusplus
}
#endif
#endif
#endif /* _GETTIMEOFDAY_H */

View File

@ -1,46 +0,0 @@
/* getuid.c
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2014 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifndef HAVE_GETUID
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#include "compat/getuid.h"
/*
* Emulate GNU extension function getline().
*/
uid_t getuid()
{
return 999;
}
gid_t getgid()
{
return 999;
}
#endif

View File

@ -1,45 +0,0 @@
/* getuid.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2014 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _GETUID_H_
#define _GETUID_H_
#ifndef HAVE_GETUID
/* For systems without getuid function, use internal version */
#ifdef HAVE_WINDOWS_H
typedef unsigned int uid_t;
typedef unsigned int gid_t;
#endif
#ifdef __cplusplus
extern "C" {
#endif
uid_t getuid();
gid_t getgid();
#ifdef __cplusplus
}
#endif
#endif
#endif /* _GETUID_H */

View File

@ -1,57 +0,0 @@
/*
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifndef HAVE_LOCALTIME_R
#ifdef HAVE_WINDOWS_H
#include "targetver.h"
#endif
#ifdef HAVE_TIME_H
#include <time.h>
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#include "compat/localtime_r.h"
/*
* Emulate SUSv2 localtime_r() function using C89 localtime(). On Win32
* localtime() is thread safe. For all others, note that this keeps the
* caller from using the unsafe buffer over any extended period,
* but it is still not thread safe and will fail if two threads call this
* function nearly simultaneously.
*/
struct tm* localtime_r(const time_t *timep, struct tm *buf)
{
struct tm *tm1 = localtime(timep);
if (!tm1) return NULL;
memcpy(buf, tm1, sizeof(struct tm));
return buf;
}
#endif

View File

@ -1,39 +0,0 @@
/*
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _LOCALTIME_R_H_
#define _LOCALTIME_R_H_
#ifndef HAVE_LOCALTIME_R
/* For systems without localtime_r function, use internal version */
#ifdef __cplusplus
extern "C" {
#endif
struct tm* localtime_r(const time_t *timep, struct tm *buf);
#ifdef __cplusplus
}
#endif
#endif
#endif /* _LOCALTIME_R_H_ */

View File

@ -1,126 +0,0 @@
/* readlink.c
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifndef HAVE_READLINK
#ifdef HAVE_WINDOWS_H
#include "targetver.h"
#include <windows.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_STDDEF_H
#include <stddef.h>
#endif
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#ifdef HAVE_TIME_H
#include <time.h>
#endif
#include "win32_util.h"
#include "compat/readlink.h"
#ifdef HAVE_WINDOWS_H
/*-------------------------------------------------
* Emulate POSIX.1-2001 readlink() function using win32/win64 CreateFileW()
* and GetFinalPathNameByHandleW() functions.
* On success returns the length of the target path string. On
* error returns -1 and sets errno.
*-------------------------------------------------*/
ssize_t readlink(const char *path_in, char *buf, size_t bufsiz)
{
HANDLE hFS;
DWORD dw;
wchar_t *p16, *path = NULL;
size_t path_sz = 0;
/* Convert path string to UTF16 encoding */
if (!AnsiToUTF16(path_in, &path, &path_sz)) {
errno = w32errno(ERROR_BAD_PATHNAME);
return -1;
}
/* Check attributes of path to see if it is a symlink */
dw = GetFileAttributesW(path);
if (dw == INVALID_FILE_ATTRIBUTES) {
/* Error getting attributes */
errno = w32errno(GetLastError());
free(path);
return -1;
}
if ((dw & FILE_ATTRIBUTE_REPARSE_POINT) == 0) {
/* path does not point to a symlink */
errno = EINVAL;
return -1;
}
/* Get an open handle to the symlink's target file */
hFS = CreateFileW(path, FILE_READ_ATTRIBUTES, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
if (hFS == INVALID_HANDLE_VALUE) {
/* Failed to open file */
errno = w32errno(GetLastError());
free(path);
return -1;
}
/* Get the full final UTF-16 path name of the opened file */
free(path);
path = (wchar_t*)malloc(65536);
dw = GetFinalPathNameByHandleW(hFS, path, 32768, FILE_NAME_OPENED);
if (dw == 0) {
/* Failed to get final path */
errno = w32errno(GetLastError());
CloseHandle(hFS);
free(path);
return -1;
}
/* Close file handle and get pointer to UTF-16 target path */
CloseHandle(hFS);
p16 = path;
if (path[0] == L'\\' && path[2] == L'?' && path[3] == L'\\') {
p16 = path + 4;
dw -= 4;
}
if (dw > bufsiz) {
/* Caller's buffer too small */
errno = EINVAL;
free(path);
return -1;
}
/* Convert target path to ANSI in caller's buffer */
if (!UTF16ToAnsi(p16, &buf, &bufsiz)) {
/* Failed to convert to ANSI */
errno = EINVAL;
free(path);
return -1;
}
free(path);
return strlen(buf);
}
#endif
#endif

View File

@ -1,42 +0,0 @@
/* readlink.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _READLINK_H
#define _READLINK_H
#ifndef HAVE_READLINK
/* For systems without readlink function, use internal version */
#ifdef __cplusplus
extern "C" {
#endif
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
#ifdef __cplusplus
}
#endif
#endif
#endif /* _READLINK_H */

View File

@ -1,197 +0,0 @@
/* semaphore.c
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2020 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifndef HAVE_SEMAPHORE_H
#ifdef HAVE_WINDOWS_H
#include "targetver.h"
#include <windows.h>
#include <limits.h>
#include "win32_util.h"
#endif
/*
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
*/
#include "compat/semaphore.h"
#ifdef HAVE_WINDOWS_H
/*-------------------------------------------------
* Emulate POSIX.1-2001 sem_open() function using win32/win64 CreateSemaphoreW() function.
* On success address of semaphore, else NULL on error.
*-------------------------------------------------*/
sem_t* sem_open(const char *name, int oflag, ...)
{
DWORD rc;
long mode, value;
wchar_t *wname = NULL;
size_t wname_sz = 0;
sem_t *fd;
va_list vl;
va_start(vl, oflag);
mode = (long)va_arg(vl, unsigned int);
value = (long)va_arg(vl, unsigned int);
va_end(vl);
/* Convert path strings to UTF16 encoding */
if (!AnsiToUTF16(name, &wname, &wname_sz)) {
rc = ERROR_BAD_PATHNAME;
errno = w32errno(rc);
return NULL;
}
fd = (sem_t*)CreateSemaphoreW(NULL, value, LONG_MAX, wname);
free(wname);
if (fd == NULL) {
errno = w32errno(GetLastError());
}
return fd;
}
/*-------------------------------------------------
* Emulate POSIX.1-2001 sem_close() function using win32/win64 CloseHandle() function.
* On success returns zero, else negative on error.
*-------------------------------------------------*/
int sem_close(sem_t *sem)
{
if (sem == NULL) {
errno = EINVAL;
return -1;
}
CloseHandle((HANDLE)sem);
return 0;
}
/*-------------------------------------------------
* Emulate POSIX.1-2001 sem_unnlink() function by doing nothing. Windows will
* automatically unlink the object when the last open handle is closed.
* Returns zero.
*-------------------------------------------------*/
int sem_unlink(const char *name)
{
return 0;
}
/*-------------------------------------------------
* Emulate POSIX.1-2001 sem_post() function using win32/win64 ReleaseSemaphore() function.
* On success returns zero, else negative on error.
*-------------------------------------------------*/
int sem_post(sem_t *sem)
{
if (sem == NULL) {
errno = EINVAL;
return -1;
}
ReleaseSemaphore((HANDLE)sem, 1, NULL);
return 0;
}
/*-------------------------------------------------
* Emulate POSIX.1-2001 sem_wait() function using win32/win64 WaitForSingleObjectEx() function.
* On success returns zero, else negative on error.
*-------------------------------------------------*/
int sem_wait(sem_t *sem)
{
DWORD reason;
if (sem == NULL) {
errno = EINVAL;
return -1;
}
reason = WaitForSingleObjectEx((HANDLE)sem, INFINITE, FALSE);
if (reason == 0) return 0;
switch (reason) {
case WAIT_IO_COMPLETION:
errno = EINTR;
break;
case WAIT_TIMEOUT:
errno = ETIMEDOUT;
break;
default:
errno = EINVAL;
break;
}
return -1;
}
/*-------------------------------------------------
* Emulate POSIX.1-2001 sem_timedwait() function using win32/win64 WaitForSingleObjectEx()
* function.
* On success returns zero, else negative on error.
*-------------------------------------------------*/
int sem_timedwait(sem_t *sem, const struct timespec *timeout)
{
DWORD reason, mt;
if (sem == NULL) {
errno = EINVAL;
return -1;
}
/* semaphore.h functions use absolute time and Windows needs a time interval */
timeout->tv_sec -= time(NULL);
mt = timeout->tv_sec * 1000 + (timeout->tv_nsec / 1000000);
reason = WaitForSingleObjectEx((HANDLE)sem, mt, FALSE);
if (reason == WAIT_OBJECT_0) return 0;
switch (reason) {
case WAIT_IO_COMPLETION:
errno = EINTR;
break;
case WAIT_TIMEOUT:
errno = ETIMEDOUT;
break;
default:
errno = EINVAL;
break;
}
return -1;
}
/*-------------------------------------------------
* Emulate POSIX.1-2001 sem_trywait() function using win32/win64 WaitForSingleObjectEx()
* function.
* On success returns zero, else negative on error.
*-------------------------------------------------*/
int sem_trywait(sem_t *sem)
{
DWORD reason;
if (sem == NULL) {
errno = EINVAL;
return -1;
}
reason = WaitForSingleObjectEx((HANDLE)sem, 0, FALSE);
if (reason == 0) return 0;
errno = EAGAIN;
return -1;
}
#endif
#endif

View File

@ -1,54 +0,0 @@
/* semaphore.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2020 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _SEMAPHORE_H
#define _SEMAPHORE_H
#ifndef HAVE_SEMAPHORE_H
/* For systems without symlink() function, use internal version */
typedef union
{
char __size[32];
long int __align;
} sem_t;
#ifdef __cplusplus
extern "C" {
#endif
sem_t* sem_open(const char *name, int oflag, ...);
int sem_post(sem_t *sem);
int sem_wait(sem_t *sem);
int sem_trywait(sem_t *sem);
int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout);
int sem_close(sem_t *sem);
int sem_unlink(const char *name);
#ifdef __cplusplus
}
#endif
#endif
#endif /* _SEMAPHORE_H */

View File

@ -1,39 +0,0 @@
/* sleep.c
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2014 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifdef HAVE_WINDOWS_H
#include "targetver.h"
#include "windows.h"
/*
* Emulate GNU extension function getline().
*/
unsigned int sleep(unsigned int seconds)
{
Sleep(seconds * 1000);
return 0;
}
#endif

View File

@ -1,42 +0,0 @@
/* sleep.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2014 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _SLEEP_H
#define _SLEEP_H
#ifdef HAVE_WINDOWS_H
/* For Windows provide sleep() function using Win32 API Sleep() */
#ifdef __cplusplus
extern "C" {
#endif
unsigned int sleep(unsigned int seconds);
#ifdef __cplusplus
}
#endif
#endif
#endif /* _SLEEP_H */

View File

@ -1,87 +0,0 @@
/* symlink.c
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifndef HAVE_SYMLINK
#ifdef HAVE_WINDOWS_H
#include "targetver.h"
#include <windows.h>
#include "win32_util.h"
#endif
/*
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
*/
#include "compat/symlink.h"
#ifdef HAVE_WINDOWS_H
/*-------------------------------------------------
* Emulate POSIX.1-2001 symlink() function using win32/win64 CreateSymbolicLinkW() function.
* On success returns zero, else negative on error.
*-------------------------------------------------*/
int symlink(const char *oldpath, const char *newpath)
{
DWORD rc, attr, dwFlags;
wchar_t *woldpath = NULL, *wnewpath = NULL;
size_t woldpath_sz = 0, wnewpath_sz = 0;
/* Convert path strings to UTF16 encoding */
if (!AnsiToUTF16(oldpath, &woldpath, &woldpath_sz)) {
rc = ERROR_BAD_PATHNAME;
errno = w32errno(rc);
return -1;
}
if (!AnsiToUTF16(newpath, &wnewpath, &wnewpath_sz)) {
rc = ERROR_BAD_PATHNAME;
errno = w32errno(rc);
free(woldpath);
return -1;
}
/* Determine if oldpath is a file or directory */
attr = GetFileAttributesW(woldpath);
if (attr == INVALID_FILE_ATTRIBUTES) {
free(woldpath);
free(wnewpath);
errno = w32errno(GetLastError());
return -1;
}
dwFlags = (attr & FILE_ATTRIBUTE_DIRECTORY) == 0 ? 0 : 1;
/* Create the symlink */
if (CreateSymbolicLinkW(wnewpath, woldpath, dwFlags)) {
free(woldpath);
free(wnewpath);
return 0;
}
free(woldpath);
free(wnewpath);
errno = w32errno(GetLastError());
return -1;
}
#endif
#endif

View File

@ -1,42 +0,0 @@
/* symlink.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _SYMLINK_H
#define _SYMLINK_H
#ifndef HAVE_SYMLINK
/* For systems without symlink() function, use internal version */
#ifdef __cplusplus
extern "C" {
#endif
int symlink(const char *oldpath, const char *newpath);
#ifdef __cplusplus
}
#endif
#endif
#endif /* _SYMLINK_H */

View File

@ -1,57 +0,0 @@
/* compat_syslog.c
*
* This file is part of vchanger by Josh Fisher.
*
* Provide syslog() replacement function for non-POSIX systems.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#ifndef HAVE_SYSLOG
#ifdef HAVE_STDARG_H
#include <stdarg.h>
#endif
#include "compat/syslog.h"
#ifdef HAVE_WINDOWS_H
/* Windows doesn't do syslog() ... ignore for now. Perhaps win32 event logging
* could be used to emulate syslog in future.
*/
void openlog(const char *app, int option, int facility)
{
}
void closelog(void)
{
}
void syslog(int type, const char *fmt, ...)
{
}
void vsyslog(int type, const char *fmt, va_list ap)
{
}
#endif
#endif

View File

@ -1,80 +0,0 @@
/* compat_syslog.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2013 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _COMPAT_SYSLOG_H_
#define _COMPAT_SYSLOG_H_
#ifndef HAVE_SYSLOG
/* For systems without syslog(), provide fake one */
#define LOG_EMERG 0
#define LOG_ALERT 1
#define LOG_CRIT 2
#define LOG_ERR 3
#define LOG_WARNING 4
#define LOG_NOTICE 5
#define LOG_INFO 6
#define LOG_DEBUG 7
#define LOG_KERN 0
#define LOG_USER 8
#define LOG_MAIL 16
#define LOG_DAEMON 24
#define LOG_AUTH 32
#define LOG_SYSLOG 40
#define LOG_LPR 48
#define LOG_NEWS 56
#define LOG_UUCP 64
#define LOG_CRON 72
#define LOG_AUTHPRIV 80
#define LOG_FTP 88
#define LOG_LOCAL0 128
#define LOG_LOCAL1 136
#define LOG_LOCAL2 144
#define LOG_LOCAL3 152
#define LOG_LOCAL4 160
#define LOG_LOCAL5 168
#define LOG_LOCAL6 176
#define LOG_LOCAL7 184
#define LOG_PID 1
#define LOG_CONS 2
#define LOG_ODELAY 4
#define LOG_NDELAY 8
#define LOG_NOWAIT 16
#define LOG_PERROR 32
#ifdef __cplusplus
extern "C" {
#endif
void syslog(int type, const char *fmt, ...);
void vsyslog(int type, const char *fmt, va_list ap);
void openlog(const char *app, int option, int facility);
void closelog(void);
#ifdef __cplusplus
}
#endif
#endif
#endif /* __SYSLOG_H */

View File

@ -1,37 +0,0 @@
/* vchanger_common.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2015 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _COMPAT_DEFS_H_
#define _COMPAT_DEFS_H_ 1
#ifdef HAVE_WINDOWS_H
#include "targetver.h"
#define DIR_DELIM "\\"
#define DIR_DELIM_C '\\'
#define MAG_VOLUME_MASK 0
#else
#define DIR_DELIM "/"
#define DIR_DELIM_C '/'
#define MAG_VOLUME_MASK S_IWGRP|S_IRWXO
#endif
#endif /* _VCHANGER_COMMON_H_ */

View File

@ -1,851 +0,0 @@
/* diskchanger.cpp
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2020 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* The bulk of the work gets done by the DiskChanger class, which does
* the actual "loading" and "unloading" of volumes.
*/
#include "config.h"
#include "compat_defs.h"
#ifdef HAVE_STDIO_H
#include <stdio.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#ifdef HAVE_TIME_H
#include <time.h>
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "compat/gettimeofday.h"
#include "compat/readlink.h"
#include "compat/sleep.h"
#include "compat/symlink.h"
#include "util.h"
#include "loghandler.h"
#include "bconsole.h"
#include "diskchanger.h"
#include "vconf.h"
/*=================================================
* Class DiskChanger
*=================================================*/
/*-------------------------------------------------
* Protected method to read previous state of magazine bays.
* Returns zero on success, else negative and sets lasterr
*-------------------------------------------------*/
void DiskChanger::InitializeMagazines()
{
int n;
MagazineState m;
magazine.clear();
for (n = 0; (size_t)n < conf.magazine.size(); n++) {
m.SetBay(n, conf.magazine[n].c_str());
m.prev_num_slots = 0;
m.prev_start_slot = 0;
magazine.push_back(m);
/* Restore previous slot count and starting virtual slot */
magazine[n].restore();
/* Get mountpoint and build magazine slot array */
magazine[n].Mount();
}
}
/*-------------------------------------------------
* Protected method to find the start of an empty range of
* 'count' virtual slots, adding slots if needed.
* Returns the starting slot number of the range found.
*------------------------------------------------*/
int DiskChanger::FindEmptySlotRange(int count)
{
VirtualSlot vs;
int start = 0, n = 1, found = 0;
/* Find next empty slot */
while (n < (int)vslot.size() && vslot[n].mag_bay >= 0) n++;
start = n;
while (n < (int)vslot.size() && found < count) {
if (vslot[n].mag_bay < 0) {
++found;
++n;
} else {
found = 0;
while (n < (int)vslot.size() && vslot[n].mag_bay >= 0) n++;
start = n;
}
}
if (found >= count) return start;
while (found < count) {
vs.vs = n++;
vslot.push_back(vs);
++found;
}
return start;
}
/*-------------------------------------------------
* Protected method to initialize array of virtual slot and
* assign magazine volumes to virtual slots. When possible,
* volumes are assigned to the same slot they were in
* previously.
*------------------------------------------------*/
void DiskChanger::InitializeVirtSlots()
{
int s, m, v, last;
VirtualSlot vs;
bool found;
/* Create all known slots as initially empty */
vslot.clear();
vs.clear();
for (s = 0; s <= dconf.max_slot; s++) {
vs.vs = s;
vslot.push_back(vs);
}
/* Re-create virtual slots that existed previously if possible */
for (m = 0; m < (int)magazine.size(); m++) {
/* Create slots if needed to match max slot used by previous magazines */
last = magazine[m].prev_start_slot + magazine[m].prev_num_slots - 1;
if (last >= (int)vslot.size()) {
vs.clear();
while ((int)vslot.size() <= last) {
vs.vs = (int)vslot.size();
vslot.push_back(vs);
}
}
/* Check this magazine's slots */
if (magazine[m].empty()) {
vlog.Info("magazine %d is not mounted", m);
/* magazine is not currently mounted, so will have no slots assigned */
if (magazine[m].prev_start_slot) {
/* Since it was previously mounted, an 'update slots' is needed */
vlog.Warning("update slots needed. magazine %d no longer mounted; previous: %d volumes in slots %d-%d", m,
magazine[m].prev_num_slots, magazine[m].prev_start_slot,
magazine[m].prev_start_slot + magazine[m].prev_num_slots - 1);
needs_update = true;
}
continue;
}
/* Magazine is currently mounted, so check for change in slot assignment */
vlog.Info("magazine %d has %d volumes on %s", m, magazine[m].num_slots,
magazine[m].mountpoint.c_str());
if (magazine[m].num_slots != magazine[m].prev_num_slots) {
/* Number of volumes has changed or magazine was not previously mounted, so
* needs new slot assignment and also 'update slots' will be needed */
vlog.Warning("update slots needed. magazine %d has %d volumes, previously had %d", m,
magazine[m].num_slots, magazine[m].prev_num_slots);
needs_update = true;
continue;
}
if (magazine[m].num_slots == 0) {
/* Magazine has no volumes so needs no slot assignment */
continue;
}
/* Magazine is mounted, was previously mounted, and has the same volume count,
* so attempt to assign to the same slots previously assigned */
found = false;
for (v = magazine[m].prev_start_slot; v < magazine[m].prev_start_slot + magazine[m].prev_num_slots; v++) {
if (!vslot[v].empty()) {
found = true;
break;
}
}
if (found) {
/* Slot used previously has already been assigned to another magazine.
* Magazine will need to be assigned a new slot range, so an
* 'update slots' will also be needed. */
vlog.Warning("update slots needed. magazine %d previous slots %d-%d are not available", m,
magazine[m].prev_start_slot, magazine[m].prev_start_slot + magazine[m].prev_num_slots - 1);
needs_update = true;
continue;
}
/* Assign this magazine's volumes to the same slots as previously assigned */
magazine[m].start_slot = magazine[m].prev_start_slot;
for (s = 0; s < magazine[m].num_slots; s++) {
v = magazine[m].start_slot + s;
vslot[v].mag_bay = m;
vslot[v].mag_slot = s;
}
vlog.Notice("%d volumes on magazine %d assigned slots %d-%d", magazine[m].num_slots, m,
magazine[m].start_slot, magazine[m].start_slot + magazine[m].num_slots - 1);
}
/* Assign slots to mounted magazines that have not already been assigned. */
for (m = 0; m < (int)magazine.size(); m++) {
if (magazine[m].empty() || magazine[m].start_slot > 0) continue;
if (magazine[m].num_slots == 0) continue;
magazine[m].start_slot = FindEmptySlotRange(magazine[m].num_slots);
for (s = 0; s < magazine[m].num_slots; s++) {
v = magazine[m].start_slot + s;
vslot[v].mag_bay = m;
vslot[v].mag_slot = s;
}
vlog.Notice("%d volumes on magazine %d assigned slots %d-%d", magazine[m].num_slots, m,
magazine[m].start_slot, magazine[m].start_slot + magazine[m].num_slots - 1);
}
/* Save updated state of magazines */
for (m = 0; m < (int)magazine.size(); m++) {
magazine[m].save();
}
/* Update dynamic configuration info */
if ((int)vslot.size() >= dconf.max_slot) {
dconf.max_slot = (int)vslot.size() - 1;
dconf.save();
}
}
/*-------------------------------------------------
* Protected method to initialize state of virtual drives.
* On success, returns zero. On error, returns non-zero.
*------------------------------------------------*/
int DiskChanger::InitializeDrives()
{
int n, rc, max_drive = -1;
DIR *d;
struct dirent *de;
DriveState ds;
tString tmp;
/* For each drive for which a state file exists. try to restore its state */
d = opendir(conf.work_dir.c_str());
if (!d) {
rc = errno;
verr.SetErrorWithErrno(rc, "error %d accessing work directory", rc);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
de = readdir(d);
while (de) {
/* Find next drive state file */
tmp = de->d_name;
if (tmp.find("drive_state-") == 0) {
tmp.erase(0, 12);
if (tmp.find_first_of("0123456789") == tString::npos) {
de = readdir(d);
continue;
}
if (tmp.find_first_not_of("0123456789") != tString::npos) {
de = readdir(d);
continue;
}
n = (int)strtol(tmp.c_str(), NULL, 10);
if (n > max_drive) max_drive = n;
}
de = readdir(d);
}
closedir(d);
if (max_drive < 0) {
/* No drive state files exist, so create at least one drive */
max_drive = 0;
}
/* Restore last known state of virtual drives where possible. */
for (n = 0; n <= max_drive; n++) {
ds.drv = n;
drive.push_back(ds);
/* Attempt to restore drive's last state */
if (RestoreDriveState(n)) {
vlog.Error("ERROR! %s", verr.GetErrorMsg());
}
}
return 0;
}
/*-------------------------------------------------
* Protected method to ensure that there are at least n drives
*------------------------------------------------*/
void DiskChanger::SetMaxDrive(int need)
{
int n = (int)drive.size();
DriveState ds;
while (n <= need) {
ds.drv = n++;
drive.push_back(ds);
}
}
/*
* Method to create symlink for drive pointing to currently loaded volume file
*/
int DiskChanger::CreateDriveSymlink(int drv)
{
int mag, mslot, rc;
tString sname, fname;
char lname[4096];
if (drv < 0 || drv >= (int)drive.size()) {
verr.SetError(EINVAL, "cannot create symlink for invalid drive %d", drv);
return EINVAL;
}
if (drive[drv].vs <= 0) {
verr.SetError(ENOENT, "cannot create symlink for unloaded drive %d", drv);
return ENOENT;
}
mag = vslot[drive[drv].vs].mag_bay;
mslot = vslot[drive[drv].vs].mag_slot;
fname = magazine[mag].GetVolumePath(mslot);
if (fname.empty()) {
verr.SetError(ENOENT, "cannot create symlink for unloaded drive %d", drv);
return ENOENT;
}
tFormat(sname, "%s%s%d", conf.work_dir.c_str(), DIR_DELIM, drv);
rc = readlink(sname.c_str(), lname, sizeof(lname));
if (rc > 0) {
if (rc >= (int)sizeof(lname)) {
verr.SetError(ENAMETOOLONG, "symlink target too long on readlink for drive %d", drv);
return ENAMETOOLONG;
}
lname[rc] = 0;
if (fname == lname) {
/* symlink already exists */
vlog.Info("found symlink for drive %d -> %s", drv, fname.c_str());
return 0;
}
/* Symlink points to wrong mountpoint, so delete and re-create */
if (RemoveDriveSymlink(drv)) return EEXIST;
}
if (symlink(fname.c_str(), sname.c_str())) {
rc = errno;
verr.SetErrorWithErrno(rc, "error %d creating symlink for drive %d", rc, drv);
return rc;
}
vlog.Notice("created symlink for drive %d -> %s", drv, fname.c_str());
return 0;
}
/*-------------------------------------------------
* Method to delete this drive's symlink.
* On success returns zero, else on error sets lasterr and
* returns errno.
*-------------------------------------------------*/
int DiskChanger::RemoveDriveSymlink(int drv)
{
int rc;
tString sname;
if (drv < 0 || drv >= (int)drive.size()) {
verr.SetError(EINVAL, "cannot delete symlink for invalid drive %d", drv);
return EINVAL;
}
/* Remove symlink pointing to loaded volume file */
tFormat(sname, "%s%s%d", conf.work_dir.c_str(), DIR_DELIM, drv);
if (unlink(sname.c_str())) {
if (errno == ENOENT) return 0; /* Ignore if not found */
/* System error preventing deletion of symlink */
rc = errno;
verr.SetErrorWithErrno(errno, "error %d deleting symlink for drive %d: ", rc, drv);
return rc;
}
vlog.Notice("deleted symlink for drive %d", drv);
return 0;
}
/*-------------------------------------------------
* Method to save current drive state, device string and
* volume label (filename), to a file in the work
* directory named "drive_state-N", where N is the drive number.
* On success returns zero, else on error sets lasterr and
* returns errno.
*-------------------------------------------------*/
int DiskChanger::SaveDriveState(int drv)
{
mode_t old_mask;
FILE *FS;
int rc, mag, mslot;
tString sname;
if (drv < 0 || drv >= (int)drive.size()) {
verr.SetError(EINVAL, "cannot save state of invalid drive %d", drv);
return EINVAL;
}
/* Delete old state file */
tFormat(sname, "%s%sdrive_state-%d", conf.work_dir.c_str(), DIR_DELIM, drv);
if (drive[drv].empty()) {
if (access(sname.c_str(), F_OK) == 0) {
vlog.Notice("deleted state file for drive %d", drv);
}
unlink(sname.c_str());
return 0;
}
old_mask = umask(027);
FS = fopen(sname.c_str(), "w");
if (!FS) {
/* Unable to open state file */
rc = errno;
umask(old_mask);
verr.SetErrorWithErrno(rc, "failed opening state file for drive %d", drv);
return rc;
}
mag = vslot[drive[drv].vs].mag_bay;
mslot = vslot[drive[drv].vs].mag_slot;
if (fprintf(FS, "%s,%s\n", magazine[mag].mag_dev.c_str(),
magazine[mag].GetVolumeLabel(mslot)) < 0) {
/* I/O error writing state file */
rc = errno;
fclose(FS);
umask(old_mask);
verr.SetErrorWithErrno(rc, "error %d writing state file for drive %d", rc, drv);
return rc;
}
fclose(FS);
umask(old_mask);
vlog.Notice("wrote state file for drive %d", drv);
return 0;
}
/*-------------------------------------------------
* Method to restore drive state from a file in the work directory
* named "drive_state-N", where N is drive_number. If the volume
* previously loaded is available, then restore drive to the loaded
* state, otherwise set drive unloaded and remove the symlink and
* state file for this drive.
* On success returns zero, else on error sets lasterr and
* returns errno.
*-------------------------------------------------*/
int DiskChanger::RestoreDriveState(int drv)
{
int rc, v, m, ms;
tString line, dev, labl;
size_t p;
struct stat st;
FILE *FS;
tString sname;
if (drv < 0 || drv >= (int)drive.size()) {
verr.SetError(EINVAL, "cannot restore state of invalid drive %d", drv);
return EINVAL;
}
drive[drv].clear();
/* Check for existing state file */
tFormat(sname, "%s%sdrive_state-%d", conf.work_dir.c_str(), DIR_DELIM, drv);
if (stat(sname.c_str(), &st)) {
/* drive state file not found, so drive is not loaded */
RemoveDriveSymlink(drv);
vlog.Info("drive %d previously unloaded", drv);
return 0;
}
/* Read loaded volume info from state file */
FS = fopen(sname.c_str(), "r");
if (!FS) {
/* Error opening state file, so leave drive unloaded */
verr.SetError(EACCES, "drive %d state file is not readable", drv);
return EACCES;
}
if (tGetLine(line, FS) == NULL) {
if (!feof(FS)) {
/* i/o error reading line from state file. Change state to unloaded */
rc = ferror(FS);
fclose(FS);
unlink(sname.c_str());
RemoveDriveSymlink(drv);
verr.SetErrorWithErrno(rc, "error %d reading state file for drive %d", rc, drv);
return rc;
}
}
fclose(FS);
tStrip(tRemoveEOL(line));
/* Extract the device drive was last loaded from */
p = 0;
rc = tParseCSV(dev, line, p);
if (rc != 1 || dev.empty()) {
/* Device string not found. Change state to unloaded. */
verr.SetError(EINVAL, "deleting corrupt state file for drive %d", drv);
unlink(sname.c_str());
RemoveDriveSymlink(drv);
return EINVAL;
}
/* Extract label of volume drive was last loaded from */
rc = tParseCSV(labl, line, p);
if (rc != 1 || labl.empty()) {
/* Label string not found. Change state to unloaded. */
verr.SetError(EINVAL, "deleting corrupt state file for drive %d", drv);
unlink(sname.c_str());
RemoveDriveSymlink(drv);
return EINVAL;
}
/* Find virtual slot assigned the volume file last loaded in drive */
for (v = 1; v < (int)vslot.size(); v++) {
if (labl == GetVolumeLabel(v)) break;
}
if (v >= (int)vslot.size()) {
/* Volume last loaded is no longer available. Change state to unloaded. */
vlog.Notice("volume %s no longer available, unloading drive %d",
labl.c_str(), drv);
unlink(sname.c_str());
RemoveDriveSymlink(drv);
return 0;
}
drive[drv].vs = v;
/* Ensure symlink exists or create it */
if ((rc = CreateDriveSymlink(drv)) != 0) {
/* Unable to create symlink */
drive[drv].vs = -1;
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
/* Assign drive to virtual slot */
vslot[v].drv = drv;
m = vslot[v].mag_bay;
ms = vslot[v].mag_slot;
vlog.Notice("drive %d previously loaded from slot %d (%s)", drv, v, magazine[m].GetVolumeLabel(ms));
return 0;
}
/*-------------------------------------------------
* Method to initialize changer parameters and state of magazines,
* virtual slots, and virtual drives.
* On success, returns zero. On error, returns negative.
* In either case, obtains a lock on the changer unless the lock operation
* itself fails. The lock will be released when the DiskChanger object
* is destroyed.
*------------------------------------------------*/
int DiskChanger::Initialize()
{
/* Make sure we have a lock on this changer */
magazine.clear();
vslot.clear();
drive.clear();
dconf.restore();
needs_update = false;
/* Initialize array of mounted magazines */
InitializeMagazines();
/* Initialize array of virtual slots */
InitializeVirtSlots();
/* Initialize array of virtual drives */
if (InitializeDrives()) return verr.GetError();
return 0;
}
/*-------------------------------------------------
* Method to load virtual drive 'drv' from virtual slot 'slot'.
* Returns zero on success, else sets lasterr and
* returns negative.
*------------------------------------------------*/
int DiskChanger::LoadDrive(int drv, int slot)
{
int rc, m, ms;
if (drv < 0) {
verr.SetError(EINVAL, "invalid drive number %d", drv);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return EINVAL;
}
SetMaxDrive(drv);
if (slot < 1 || slot >= (int)vslot.size()) {
verr.SetError(EINVAL, "cannot load drive %d from invalid slot %d", drv, slot);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return EINVAL;
}
if (!drive[drv].empty()) {
if (drive[drv].vs == slot) return 0; /* already loaded from this slot */
verr.SetError(EBUSY, "drive %d already loaded from slot %d", drv, slot);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return EBUSY;
}
if (vslot[slot].drv >= 0) {
verr.SetError(EINVAL, "requested slot %d already loaded in drive %d", slot, drv);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return ENOENT;
}
if (vslot[slot].empty()) {
verr.SetError(EINVAL, "cannot load drive %d from empty slot %d", drv, slot);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return ENOENT;
}
/* Create symlink for drive pointing to volume file */
drive[drv].vs = slot;
if ((rc = CreateDriveSymlink(drv))) {
drive[drv].vs = -1;
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
/* Save state of newly loaded drive */
if ((rc = SaveDriveState(drv)) != 0) {
/* Error writing drive state file */
RemoveDriveSymlink(drv);
drive[drv].vs = -1;
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
/* Assign virtual slot to drive */
vslot[slot].drv = drv;
m = vslot[slot].mag_bay;
ms = vslot[slot].mag_slot;
vlog.Notice("loaded drive %d from slot %d (%s)", drv, slot, magazine[m].GetVolumeLabel(ms));
return 0;
}
/*-------------------------------------------------
* Method to unload volume in virtual drive 'drv'. Deletes symlink
* and state file for the drive.
* On success, returns zero. Otherwise sets lasterr and returns
* errno.
*------------------------------------------------*/
int DiskChanger::UnloadDrive(int drv)
{
int rc;
if (drv < 0) {
verr.SetError(EINVAL, "invalid drive number %d", drv);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return EINVAL;
}
SetMaxDrive(drv);
if (drive[drv].empty()) {
/* Drive is already empty so assume successful */
return 0;
}
/* Remove drive's symlink */
if ((rc = RemoveDriveSymlink(drv)) != 0) {
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
/* Remove virtual slot assignment */
vslot[drive[drv].vs].drv = -1;
drive[drv].vs = -1;
/* Update drive state file (will delete state file due to negative slot number) */
if ((rc = SaveDriveState(drv)) != 0) {
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return rc;
}
vlog.Notice("unloaded drive %d", drv);
return 0;
}
/*-------------------------------------------------
* Method to create new volume files in virtual slots 'slot1' through 'slot2'.
* Use volume labels (barcodes) of the form prefix + '_' + mag_slot_number, where
* mag_slot_number is the magazine relative slot number of the magazine slot that
* the virtual slot maps to. If 'label_prefix' is blank, then use the magazine name
* of the magazine the virtual slot is mapped onto as the prefix.
* Returns zero on success, else returns negative and sets lasterr.
*------------------------------------------------*/
int DiskChanger::CreateVolumes(int bay, int count, int start, const char *label_prefix_in)
{
MagazineSlot vol;
tString label, label_prefix(label_prefix_in);
int i;
if (bay < 0 || bay >= (int)magazine.size()) {
verr.SetError(EINVAL, "invalid magazine");
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return -1;
}
if (count < 1) count = 1;
tStrip(tRemoveEOL(label_prefix));
if (label_prefix.empty()) {
/* Default prefix is storage-name_magazine-number */
tFormat(label_prefix, "%s_%04d_", conf.storage_name.c_str(), bay);
}
if (start < 0) {
/* Find highest uniqueness number for this filename prefix */
for (i = magazine[bay].num_slots * 5; i > 0; i--) {
tFormat(label, "%s%04d", label_prefix.c_str(), i);
if (magazine[bay].GetVolumeSlot(label) >= 0) break;
}
start = i;
}
for (i = 0; i < count; i++) {
tFormat(label, "%s%04d", label_prefix.c_str(), start);
if (!magazine[bay].empty()) {
while (magazine[bay].GetVolumeSlot(label) >= 0) {
++start;
tFormat(label, "%s%04d", label_prefix.c_str(), start);
}
}
fprintf(stdout, "creating label '%s'\n", label.c_str());
if (magazine[bay].CreateVolume(label)) {
/* On failure, update magazine state if any were created */
if (i) magazine[bay].save();
return -1;
}
++start;
}
/* Update magazine state */
magazine[bay].save();
/* New mag state will require 'update slots' and 'label barcodes' in Bacula */
needs_update = true;
needs_label = true;
vlog.Notice("%d volumes added to magazine %d",count , bay);
return 0;
}
/*-------------------------------------------------
* Method to get label of volume in this slot
*-------------------------------------------------*/
const char* DiskChanger::GetVolumeLabel(int slot)
{
if (slot <= 0 || slot >= (int)vslot.size()) {
verr.SetError(-1, "volume label request from invalid slot %d", slot);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return NULL;
}
if (vslot[slot].empty()) return "";
return magazine[vslot[slot].mag_bay].GetVolumeLabel(vslot[slot].mag_slot);
}
/*-------------------------------------------------
* Method to get filename path of volume in this slot
*-------------------------------------------------*/
const char* DiskChanger::GetVolumePath(tString &path, int slot)
{
path.clear();
if (slot <= 0 || slot >= (int)vslot.size()) {
verr.SetError(-1, "volume path request from invalid slot %d", slot);
vlog.Error("ERROR! %s", verr.GetErrorMsg());
return NULL;
}
if (vslot[slot].empty()) return path.c_str();
return magazine[vslot[slot].mag_bay].GetVolumePath(path, vslot[slot].mag_slot);
}
/*-------------------------------------------------
* Method returns true if magazine is not mounted,
* else returns false.
*------------------------------------------------*/
bool DiskChanger::MagazineEmpty(int mag) const
{
if (mag < 0 || mag >= (int)magazine.size()) return true;
return magazine[mag].empty();
}
/*-------------------------------------------------
* Method returns true if no magazine volume is assigned
* to virtual slot, else returns false.
*------------------------------------------------*/
bool DiskChanger::SlotEmpty(int slot) const
{
if (slot <= 0 || slot >= (int)vslot.size()) return true;
return vslot[slot].empty();
}
/*-------------------------------------------------
* Method returns true if no magazine volume is loaded
* into drive drv, else returns false.
*------------------------------------------------*/
bool DiskChanger::DriveEmpty(int drv) const
{
if (drv < 0 || drv >= (int)drive.size()) return true;
return drive[drv].empty();
}
/*-------------------------------------------------
* Method to get virtual slot currently loaded in virtual drive 'drv'.
* If drive is loaded then returns the virtual slot number of the
* loaded volume. If unloaded, returns zero.
*------------------------------------------------*/
int DiskChanger::GetDriveSlot(int drv) const
{
if (drv < 0 || drv >= (int)drive.size()) return 0;
return drive[drv].vs;
}
/*-------------------------------------------------
* Method to get drive a virtual slot is currently loaded in.
* Returns the drive number a slot's volume is loaded in.
* If unloaded, returns negative.
*------------------------------------------------*/
int DiskChanger::GetSlotDrive(int slot) const
{
if (slot <= 0 || slot >= (int)vslot.size()) return -1;
return vslot[slot].drv;
}
/*-------------------------------------------------
* Method to return number of volumes on magazine 'mag'.
*------------------------------------------------*/
int DiskChanger::GetMagazineSlots(int mag) const
{
if (mag < 0 || mag >= (int)magazine.size()) return 0;
return magazine[mag].num_slots;
}
/*-------------------------------------------------
* Method to return the start of the virtual slot range
* that is assigned to magazine 'mag' volumes.
*------------------------------------------------*/
int DiskChanger::GetMagazineStartSlot(int mag) const
{
if (mag < 0 || mag >= (int)magazine.size()) return 0;
return magazine[mag].start_slot;
}
/*-------------------------------------------------
* Method to return the mountpoint of magazine 'mag'.
*------------------------------------------------*/
const char* DiskChanger::GetMagazineMountpoint(int mag) const
{
if (mag < 0 || mag >= (int)magazine.size()) return "";
return magazine[mag].mountpoint.c_str();
}

View File

@ -1,76 +0,0 @@
/* diskchanger.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2020 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef DISKCHANGER_H_
#define DISKCHANGER_H_
#include "vconf.h"
#include "errhandler.h"
#include "changerstate.h"
class DiskChanger
{
public:
DiskChanger() : needs_update(false), needs_label(false) {}
virtual ~DiskChanger() {};
int Initialize();
int LoadDrive(int drv, int slot);
int UnloadDrive(int drv);
int CreateVolumes(int bay, int count, int start = -1, const char *label_prefix = "");
const char* GetVolumeLabel(int slot);
const char* GetVolumePath(tString &fname, int slot);
bool MagazineEmpty(int bay) const;
bool SlotEmpty(int slot) const;
bool DriveEmpty(int drv) const;
int GetDriveSlot(int drv) const;
int GetSlotDrive(int slot) const;
int GetMagazineSlots(int mag) const;
int GetMagazineStartSlot(int mag) const;
const char* GetMagazineMountpoint(int mag) const;
inline int NumDrives() { return (int)drive.size(); }
inline int NumMagazines() { return (int)magazine.size(); }
inline int NumSlots() { return (int)vslot.size() - 1; }
inline int GetError() { return verr.GetError(); }
inline const char* GetErrorMsg() const { return verr.GetErrorMsg(); }
inline bool NeedsUpdate() const { return needs_update; }
inline bool NeedsLabel() const { return needs_label; }
protected:
void InitializeMagazines();
int FindEmptySlotRange(int count);
int InitializeDrives();
void InitializeVirtSlots();
void SetMaxDrive(int n);
int CreateDriveSymlink(int drv);
int RemoveDriveSymlink(int drv);
int SaveDriveState(int drv);
int RestoreDriveState(int drv);
protected:
bool needs_update;
bool needs_label;
ErrorHandler verr;
DynamicConfig dconf;
MagazineStateArray magazine;
DriveStateArray drive;
VirtualSlotArray vslot;
};
#endif /*DISKCHANGER_H_*/

View File

@ -1,73 +0,0 @@
/* errhandler.cpp
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2014 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Provides a class for logging messages to a file
*/
#include "config.h"
#include <stdio.h>
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#ifdef HAVE_STDARG_H
#include <stdarg.h>
#endif
#ifdef HAVE_VARARGS_H
#include <varargs.h>
#endif
#include "errhandler.h"
///////////////////////////////////////////////////
// Class ErrorHandler
///////////////////////////////////////////////////
/*-------------------------------------------------
* Method to set error and error message
*------------------------------------------------*/
void ErrorHandler::SetError(int errnum, const char *fmt, ...)
{
va_list vl;
char buf[4096];
err = errnum;
va_start(vl, fmt);
vsnprintf(buf, sizeof(buf), fmt, vl);
va_end(vl);
msg = buf;
}
/*-------------------------------------------------
* Method to set error and error message and append the text
* returned from strerror(errnum).
*------------------------------------------------*/
void ErrorHandler::SetErrorWithErrno(int errnum, const char *fmt, ...)
{
va_list vl;
char buf[4096];
err = errnum;
va_start(vl, fmt);
vsnprintf(buf, sizeof(buf), fmt, vl);
va_end(vl);
msg = buf;
msg += ": ";
msg += strerror(err);
}

View File

@ -1,43 +0,0 @@
/* errhandler.h
*
* This file is part of vchanger by Josh Fisher.
*
* vchanger copyright (C) 2008-2014 Josh Fisher
*
* vchanger is free software.
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License version 2, as published by the Free
* Software Foundation.
*
* vchanger 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 vchanger. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _ERRHANDLER_H_
#define _ERRHANDLER_H_ 1
#include "tstring.h"
class ErrorHandler
{
public:
ErrorHandler() : err(0) {}
~ErrorHandler() {}
inline void clear() { err = 0; msg.clear(); }
void SetError(int errnum, const char *fmt, ...);
void SetErrorWithErrno(int errnum, const char *fmt, ...);
inline const char* GetErrorMsg() const { return msg.c_str(); }
inline int GetError() { return err; }
protected:
int err;
tString msg;
};
#endif /* _ERRHANDLER_H_ */

Some files were not shown because too many files have changed in this diff Show More