Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
emulab-devel
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
143
Issues
143
List
Boards
Labels
Service Desk
Milestones
Merge Requests
6
Merge Requests
6
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
emulab
emulab-devel
Commits
cea4fdf5
Commit
cea4fdf5
authored
Oct 20, 2017
by
Mike Hibler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Old: hacks for FreeBSD 10.4 support.
parent
68887069
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
2459 additions
and
1 deletion
+2459
-1
clientside/configure
clientside/configure
+1
-0
clientside/configure.ac
clientside/configure.ac
+1
-0
clientside/tmcc/freebsd/init/10.4/GNUmakefile.in
clientside/tmcc/freebsd/init/10.4/GNUmakefile.in
+30
-0
clientside/tmcc/freebsd/init/10.4/getmntopts.c
clientside/tmcc/freebsd/init/10.4/getmntopts.c
+197
-0
clientside/tmcc/freebsd/init/10.4/init.c
clientside/tmcc/freebsd/init/10.4/init.c
+2078
-0
clientside/tmcc/freebsd/init/10.4/mntopts.h
clientside/tmcc/freebsd/init/10.4/mntopts.h
+102
-0
clientside/tmcc/freebsd/init/10.4/pathnames.h
clientside/tmcc/freebsd/init/10.4/pathnames.h
+43
-0
clientside/tmcc/freebsd/init/GNUmakefile.in
clientside/tmcc/freebsd/init/GNUmakefile.in
+5
-1
configure
configure
+1
-0
configure.ac
configure.ac
+1
-0
No files found.
clientside/configure
View file @
cea4fdf5
...
@@ -4558,6 +4558,7 @@ outfiles="Makeconf GNUmakefile setversion \
...
@@ -4558,6 +4558,7 @@ outfiles="Makeconf GNUmakefile setversion \
tmcc/freebsd/init/9/GNUmakefile
\
tmcc/freebsd/init/9/GNUmakefile
\
tmcc/freebsd/init/10/GNUmakefile
\
tmcc/freebsd/init/10/GNUmakefile
\
tmcc/freebsd/init/10.3/GNUmakefile
\
tmcc/freebsd/init/10.3/GNUmakefile
\
tmcc/freebsd/init/10.4/GNUmakefile
\
tmcc/freebsd/init/11/GNUmakefile
\
tmcc/freebsd/init/11/GNUmakefile
\
tmcc/freebsd/init/12/GNUmakefile
\
tmcc/freebsd/init/12/GNUmakefile
\
tmcc/freebsd/supfile tmcc/freebsd/sethostname
\
tmcc/freebsd/supfile tmcc/freebsd/sethostname
\
...
...
clientside/configure.ac
View file @
cea4fdf5
...
@@ -285,6 +285,7 @@ outfiles="Makeconf GNUmakefile setversion \
...
@@ -285,6 +285,7 @@ outfiles="Makeconf GNUmakefile setversion \
tmcc/freebsd/init/9/GNUmakefile \
tmcc/freebsd/init/9/GNUmakefile \
tmcc/freebsd/init/10/GNUmakefile \
tmcc/freebsd/init/10/GNUmakefile \
tmcc/freebsd/init/10.3/GNUmakefile \
tmcc/freebsd/init/10.3/GNUmakefile \
tmcc/freebsd/init/10.4/GNUmakefile \
tmcc/freebsd/init/11/GNUmakefile \
tmcc/freebsd/init/11/GNUmakefile \
tmcc/freebsd/init/12/GNUmakefile \
tmcc/freebsd/init/12/GNUmakefile \
tmcc/freebsd/supfile tmcc/freebsd/sethostname \
tmcc/freebsd/supfile tmcc/freebsd/sethostname \
...
...
clientside/tmcc/freebsd/init/10.4/GNUmakefile.in
0 → 100644
View file @
cea4fdf5
#
# Insert Copyright Here.
#
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = @top_builddir@
SUBDIR = $(subst $(TESTBED_SRCDIR)/,,$(SRCDIR))
include $(OBJDIR)/Makeconf
all:
client: init
include $(TESTBED_SRCDIR)/GNUmakerules
CFLAGS += -DDEBUGSHELL -DSECURE -DLOGIN_CAP -DCOMPAT_SYSV_INIT -DTESTBED
init.c: pathnames.h mntopts.h
getmntopts.c: mntopts.h
init: init.c getmntopts.c
$(CC) $(CFLAGS) -static -o init $^ -lutil -lcrypt
install:
client-install: client
install -s -o root -g wheel -m 555 -b -B.bak -fschg -S init $(DESTDIR)/sbin/init
clean:
rm -f *.o core init
clientside/tmcc/freebsd/init/10.4/getmntopts.c
0 → 100644
View file @
cea4fdf5
/*-
* Copyright (c) 1994
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
*/
#if 0
#ifndef lint
static char sccsid[] = "@(#)getmntopts.c 8.3 (Berkeley) 3/29/95";
#endif /* not lint */
#endif
#include <sys/cdefs.h>
__FBSDID
(
"$FreeBSD: releng/10.4/sbin/mount/getmntopts.c 310378 2016-12-21 23:16:58Z brooks $"
);
#include <sys/param.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/uio.h>
#include <err.h>
#include <errno.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mntopts.h"
int
getmnt_silent
=
0
;
void
getmntopts
(
const
char
*
options
,
const
struct
mntopt
*
m0
,
int
*
flagp
,
int
*
altflagp
)
{
const
struct
mntopt
*
m
;
int
negative
,
len
;
char
*
opt
,
*
optbuf
,
*
p
;
int
*
thisflagp
;
/* Copy option string, since it is about to be torn asunder... */
if
((
optbuf
=
strdup
(
options
))
==
NULL
)
err
(
1
,
NULL
);
for
(
opt
=
optbuf
;
(
opt
=
strtok
(
opt
,
","
))
!=
NULL
;
opt
=
NULL
)
{
/* Check for "no" prefix. */
if
(
opt
[
0
]
==
'n'
&&
opt
[
1
]
==
'o'
)
{
negative
=
1
;
opt
+=
2
;
}
else
negative
=
0
;
/*
* for options with assignments in them (ie. quotas)
* ignore the assignment as it's handled elsewhere
*/
p
=
strchr
(
opt
,
'='
);
if
(
p
!=
NULL
)
*++
p
=
'\0'
;
/* Scan option table. */
for
(
m
=
m0
;
m
->
m_option
!=
NULL
;
++
m
)
{
len
=
strlen
(
m
->
m_option
);
if
(
strncasecmp
(
opt
,
m
->
m_option
,
len
)
==
0
)
if
(
opt
[
len
]
==
'\0'
||
opt
[
len
]
==
'='
)
break
;
}
/* Save flag, or fail if option is not recognized. */
if
(
m
->
m_option
)
{
thisflagp
=
m
->
m_altloc
?
altflagp
:
flagp
;
if
(
negative
==
m
->
m_inverse
)
*
thisflagp
|=
m
->
m_flag
;
else
*
thisflagp
&=
~
m
->
m_flag
;
}
else
if
(
!
getmnt_silent
)
{
errx
(
1
,
"-o %s: option not supported"
,
opt
);
}
}
free
(
optbuf
);
}
void
rmslashes
(
char
*
rrpin
,
char
*
rrpout
)
{
char
*
rrpoutstart
;
*
rrpout
=
*
rrpin
;
for
(
rrpoutstart
=
rrpout
;
*
rrpin
!=
'\0'
;
*
rrpout
++
=
*
rrpin
++
)
{
/* skip all double slashes */
while
(
*
rrpin
==
'/'
&&
*
(
rrpin
+
1
)
==
'/'
)
rrpin
++
;
}
/* remove trailing slash if necessary */
if
(
rrpout
-
rrpoutstart
>
1
&&
*
(
rrpout
-
1
)
==
'/'
)
*
(
rrpout
-
1
)
=
'\0'
;
else
*
rrpout
=
'\0'
;
}
int
checkpath
(
const
char
*
path
,
char
*
resolved
)
{
struct
stat
sb
;
if
(
realpath
(
path
,
resolved
)
==
NULL
||
stat
(
resolved
,
&
sb
)
!=
0
)
return
(
1
);
if
(
!
S_ISDIR
(
sb
.
st_mode
))
{
errno
=
ENOTDIR
;
return
(
1
);
}
return
(
0
);
}
void
build_iovec
(
struct
iovec
**
iov
,
int
*
iovlen
,
const
char
*
name
,
void
*
val
,
size_t
len
)
{
int
i
;
if
(
*
iovlen
<
0
)
return
;
i
=
*
iovlen
;
*
iov
=
realloc
(
*
iov
,
sizeof
**
iov
*
(
i
+
2
));
if
(
*
iov
==
NULL
)
{
*
iovlen
=
-
1
;
return
;
}
(
*
iov
)[
i
].
iov_base
=
strdup
(
name
);
(
*
iov
)[
i
].
iov_len
=
strlen
(
name
)
+
1
;
i
++
;
(
*
iov
)[
i
].
iov_base
=
val
;
if
(
len
==
(
size_t
)
-
1
)
{
if
(
val
!=
NULL
)
len
=
strlen
(
val
)
+
1
;
else
len
=
0
;
}
(
*
iov
)[
i
].
iov_len
=
(
int
)
len
;
*
iovlen
=
++
i
;
}
/*
* This function is needed for compatibility with parameters
* which used to use the mount_argf() command for the old mount() syscall.
*/
void
build_iovec_argf
(
struct
iovec
**
iov
,
int
*
iovlen
,
const
char
*
name
,
const
char
*
fmt
,
...)
{
va_list
ap
;
char
val
[
255
]
=
{
0
};
va_start
(
ap
,
fmt
);
vsnprintf
(
val
,
sizeof
(
val
),
fmt
,
ap
);
va_end
(
ap
);
build_iovec
(
iov
,
iovlen
,
name
,
strdup
(
val
),
(
size_t
)
-
1
);
}
/*
* Free the iovec and reset to NULL with zero length. Useful for calling
* nmount in a loop.
*/
void
free_iovec
(
struct
iovec
**
iov
,
int
*
iovlen
)
{
int
i
;
for
(
i
=
0
;
i
<
*
iovlen
;
i
++
)
free
((
*
iov
)[
i
].
iov_base
);
free
(
*
iov
);
}
clientside/tmcc/freebsd/init/10.4/init.c
0 → 100644
View file @
cea4fdf5
This diff is collapsed.
Click to expand it.
clientside/tmcc/freebsd/init/10.4/mntopts.h
0 → 100644
View file @
cea4fdf5
/*-
* Copyright (c) 1994
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
*
* @(#)mntopts.h 8.7 (Berkeley) 3/29/95
* $FreeBSD: releng/10.4/sbin/mount/mntopts.h 310378 2016-12-21 23:16:58Z brooks $
*/
struct
mntopt
{
const
char
*
m_option
;
/* option name */
int
m_inverse
;
/* if a negative option, e.g. "atime" */
long
long
m_flag
;
/* bit to set, e.g. MNT_RDONLY */
int
m_altloc
;
/* 1 => set bit in altflags */
};
/* User-visible MNT_ flags. */
#define MOPT_ASYNC { "async", 0, MNT_ASYNC, 0 }
#define MOPT_NOATIME { "atime", 1, MNT_NOATIME, 0 }
#define MOPT_NOEXEC { "exec", 1, MNT_NOEXEC, 0 }
#define MOPT_NOSUID { "suid", 1, MNT_NOSUID, 0 }
#define MOPT_NOSYMFOLLOW { "symfollow", 1, MNT_NOSYMFOLLOW, 0 }
#define MOPT_RDONLY { "rdonly", 0, MNT_RDONLY, 0 }
#define MOPT_SYNC { "sync", 0, MNT_SYNCHRONOUS, 0 }
#define MOPT_UNION { "union", 0, MNT_UNION, 0 }
#define MOPT_USERQUOTA { "userquota", 0, 0, 0 }
#define MOPT_GROUPQUOTA { "groupquota", 0, 0, 0 }
#define MOPT_NOCLUSTERR { "clusterr", 1, MNT_NOCLUSTERR, 0 }
#define MOPT_NOCLUSTERW { "clusterw", 1, MNT_NOCLUSTERW, 0 }
#define MOPT_SUIDDIR { "suiddir", 0, MNT_SUIDDIR, 0 }
#define MOPT_SNAPSHOT { "snapshot", 0, MNT_SNAPSHOT, 0 }
#define MOPT_MULTILABEL { "multilabel", 0, MNT_MULTILABEL, 0 }
#define MOPT_ACLS { "acls", 0, MNT_ACLS, 0 }
#define MOPT_NFS4ACLS { "nfsv4acls", 0, MNT_NFS4ACLS, 0 }
#define MOPT_AUTOMOUNTED { "automounted",0, MNT_AUTOMOUNTED, 0 }
/* Control flags. */
#define MOPT_FORCE { "force", 0, MNT_FORCE, 0 }
#define MOPT_UPDATE { "update", 0, MNT_UPDATE, 0 }
#define MOPT_RO { "ro", 0, MNT_RDONLY, 0 }
#define MOPT_RW { "rw", 1, MNT_RDONLY, 0 }
/* This is parsed by mount(8), but is ignored by specific mount_*(8)s. */
#define MOPT_AUTO { "auto", 0, 0, 0 }
/* A handy macro as terminator of MNT_ array. */
#define MOPT_END { NULL, 0, 0, 0 }
#define MOPT_FSTAB_COMPAT \
MOPT_RO, \
MOPT_RW, \
MOPT_AUTO
/* Standard options which all mounts can understand. */
#define MOPT_STDOPTS \
MOPT_USERQUOTA, \
MOPT_GROUPQUOTA, \
MOPT_FSTAB_COMPAT, \
MOPT_NOATIME, \
MOPT_NOEXEC, \
MOPT_SUIDDIR,
/* must be before MOPT_NOSUID */
\
MOPT_NOSUID, \
MOPT_NOSYMFOLLOW, \
MOPT_RDONLY, \
MOPT_UNION, \
MOPT_NOCLUSTERR, \
MOPT_NOCLUSTERW, \
MOPT_MULTILABEL, \
MOPT_ACLS, \
MOPT_NFS4ACLS, \
MOPT_AUTOMOUNTED
void
getmntopts
(
const
char
*
,
const
struct
mntopt
*
,
int
*
,
int
*
);
void
rmslashes
(
char
*
,
char
*
);
int
checkpath
(
const
char
*
,
char
resolved_path
[]);
extern
int
getmnt_silent
;
void
build_iovec
(
struct
iovec
**
iov
,
int
*
iovlen
,
const
char
*
name
,
void
*
val
,
size_t
len
);
void
build_iovec_argf
(
struct
iovec
**
iov
,
int
*
iovlen
,
const
char
*
name
,
const
char
*
fmt
,
...);
void
free_iovec
(
struct
iovec
**
iovec
,
int
*
iovlen
);
clientside/tmcc/freebsd/init/10.4/pathnames.h
0 → 100644
View file @
cea4fdf5
/*-
* Copyright (c) 1991, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Donn Seeley at Berkeley Software Design, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
*
* @(#)pathnames.h 8.1 (Berkeley) 6/5/93
* $FreeBSD: releng/10.4/sbin/init/pathnames.h 293744 2016-01-12 10:14:57Z trasz $
*/
#include <paths.h>
#define _PATH_INITLOG "/var/log/init.log"
#define _PATH_SLOGGER "/sbin/session_logger"
#define _PATH_RUNCOM "/etc/rc"
#define _PATH_RUNDOWN "/etc/rc.shutdown"
#define _PATH_REROOT "/dev/reroot"
#define _PATH_REROOT_INIT _PATH_REROOT "/init"
clientside/tmcc/freebsd/init/GNUmakefile.in
View file @
cea4fdf5
#
#
# Copyright (c) 2006-201
6
University of Utah and the Flux Group.
# Copyright (c) 2006-201
7
University of Utah and the Flux Group.
#
#
# {{{EMULAB-LICENSE
# {{{EMULAB-LICENSE
#
#
...
@@ -50,12 +50,16 @@ ifeq ($(FBSDVERSION),FreeBSD9)
...
@@ -50,12 +50,16 @@ ifeq ($(FBSDVERSION),FreeBSD9)
FSUBDIR = 9
FSUBDIR = 9
endif
endif
ifeq ($(FBSDVERSION),FreeBSD10)
ifeq ($(FBSDVERSION),FreeBSD10)
ifeq ($(FBSDREL),10.4)
FSUBDIR = 10.4
else
ifeq ($(FBSDREL),10.3)
ifeq ($(FBSDREL),10.3)
FSUBDIR = 10.3
FSUBDIR = 10.3
else
else
FSUBDIR = 10
FSUBDIR = 10
endif
endif
endif
endif
endif
ifeq ($(FBSDVERSION),FreeBSD11)
ifeq ($(FBSDVERSION),FreeBSD11)
FSUBDIR = 11
FSUBDIR = 11
endif
endif
...
...
configure
View file @
cea4fdf5
...
@@ -7157,6 +7157,7 @@ outfiles="$outfiles clientside/GNUmakefile clientside/setversion \
...
@@ -7157,6 +7157,7 @@ outfiles="$outfiles clientside/GNUmakefile clientside/setversion \
clientside/tmcc/freebsd/init/9/GNUmakefile
\
clientside/tmcc/freebsd/init/9/GNUmakefile
\
clientside/tmcc/freebsd/init/10/GNUmakefile
\
clientside/tmcc/freebsd/init/10/GNUmakefile
\
clientside/tmcc/freebsd/init/10.3/GNUmakefile
\
clientside/tmcc/freebsd/init/10.3/GNUmakefile
\
clientside/tmcc/freebsd/init/10.4/GNUmakefile
\
clientside/tmcc/freebsd/init/11/GNUmakefile
\
clientside/tmcc/freebsd/init/11/GNUmakefile
\
clientside/tmcc/freebsd/init/12/GNUmakefile
\
clientside/tmcc/freebsd/init/12/GNUmakefile
\
clientside/tmcc/freebsd/supfile clientside/tmcc/freebsd/sethostname
\
clientside/tmcc/freebsd/supfile clientside/tmcc/freebsd/sethostname
\
...
...
configure.ac
View file @
cea4fdf5
...
@@ -1489,6 +1489,7 @@ outfiles="$outfiles clientside/GNUmakefile clientside/setversion \
...
@@ -1489,6 +1489,7 @@ outfiles="$outfiles clientside/GNUmakefile clientside/setversion \
clientside/tmcc/freebsd/init/9/GNUmakefile \
clientside/tmcc/freebsd/init/9/GNUmakefile \
clientside/tmcc/freebsd/init/10/GNUmakefile \
clientside/tmcc/freebsd/init/10/GNUmakefile \
clientside/tmcc/freebsd/init/10.3/GNUmakefile \
clientside/tmcc/freebsd/init/10.3/GNUmakefile \
clientside/tmcc/freebsd/init/10.4/GNUmakefile \
clientside/tmcc/freebsd/init/11/GNUmakefile \
clientside/tmcc/freebsd/init/11/GNUmakefile \
clientside/tmcc/freebsd/init/12/GNUmakefile \
clientside/tmcc/freebsd/init/12/GNUmakefile \
clientside/tmcc/freebsd/supfile clientside/tmcc/freebsd/sethostname \
clientside/tmcc/freebsd/supfile clientside/tmcc/freebsd/sethostname \
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment