Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
DNS-Compliance-Testing
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
5
Issues
5
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Container Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ISC Open Source Projects
DNS-Compliance-Testing
Commits
2e6bef4a
Commit
2e6bef4a
authored
Jul 15, 2018
by
Mark Andrews
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add centos7
parent
bbb64955
Changes
8
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
224 additions
and
171 deletions
+224
-171
.gitlab-ci.yml
.gitlab-ci.yml
+53
-8
aclocal.m4
aclocal.m4
+86
-103
compile
compile
+4
-4
configure.ac
configure.ac
+0
-1
depcomp
depcomp
+4
-4
genreport.c
genreport.c
+39
-30
install-sh
install-sh
+31
-14
missing
missing
+7
-7
No files found.
.gitlab-ci.yml
View file @
2e6bef4a
image
:
"
debian:sid"
variables
:
DEBIAN_FRONTEND
:
noninteractive
LC_ALL
:
C.UTF-8
DOCKER_DRIVER
:
overlay2
CI_REGISTRY_IMAGE
:
oerdnj/bind9
stages
:
-
build
-
test
build
:
.centos-centos7-amd64
:
¢os_centos7_amd64_image
image
:
"
$CI_REGISTRY_IMAGE:centos-centos7-amd64"
variables
:
LC_ALL
:
en_US.UTF-8
tags
:
-
linux
-
docker
-
amd64
.debian-sid-amd64
:
&debian_sid_amd64_image
image
:
"
$CI_REGISTRY_IMAGE:debian-sid-amd64"
variables
:
LC_ALL
:
C.UTF-8
image
:
"
$CI_REGISTRY_IMAGE:debian-sid-amd64"
tags
:
-
linux
-
docker
-
amd64
.build
:
&build_job
stage
:
build
tags
:
-
linux
-
docker
before_script
:
-
apt-get update
-
apt-get -y install autotools-dev build-essential autoconf automake libtool
-
autoreconf -fi
script
:
-
./configure
...
...
@@ -27,12 +42,42 @@ build:
-
config.log
-
genreport
test
:
.test
:
&test_job
stage
:
test
tags
:
-
linux
-
docker
script
:
-
echo . f.root-servers.net | ./genreport
build:centos:centos7:amd64:
variables
:
CC
:
gcc
CFLAGS
:
"
-Wall
-Wextra
-O2
-g
-D_BSD_SOURCE"
before_script
:
-
autoreconf -fi
<<
:
*centos_centos7_amd64_image
<<
:
*build_job
build:debian:sid:amd64:
variables
:
CC
:
gcc
CFLAGS
:
"
-Wall
-Wextra
-O2
-g"
before_script
:
-
apt-get update
-
apt-get -y install autotools-dev build-essential autoconf automake libtool
-
autoreconf -fi
<<
:
*debian_sid_amd64_image
<<
:
*build_job
test:centos:centos7:amd64:
<<
:
*centos_centos7_amd64_image
<<
:
*test_job
dependencies
:
-
build
-
build:centos:centos7:amd64
test:debian:sid:amd64:
<<
:
*debian_sid_amd64_image
<<
:
*test_job
dependencies
:
-
build:debian:sid:amd64
aclocal.m4
View file @
2e6bef4a
This diff is collapsed.
Click to expand it.
compile
View file @
2e6bef4a
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion
=
201
6-01-11.22
;
# UTC
scriptversion
=
201
8-03-07.03
;
# UTC
# Copyright (C) 1999-201
7
Free Software Foundation, Inc.
# Copyright (C) 1999-201
8
Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
...
...
@@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC
# 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/>.
# along with this program. If not, see <http
s
://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
...
...
@@ -340,7 +340,7 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook '
write-file-hooks
'time-stamp)
# eval: (add-hook '
before-save-hook
'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
...
...
configure.ac
View file @
2e6bef4a
...
...
@@ -5,7 +5,6 @@ AC_PROG_CC_C99
AC_CONFIG_SRCDIR([genreport.c])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_FILES([Makefile])
AC_USE_SYSTEM_EXTENSIONS
AC_CANONICAL_HOST
AC_SEARCH_LIBS([res_mkquery],[resolv bind])
AC_SEARCH_LIBS([res_9_mkquery],[resolv bind])
...
...
depcomp
View file @
2e6bef4a
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion
=
201
6-01-11.22
;
# UTC
scriptversion
=
201
8-03-07.03
;
# UTC
# Copyright (C) 1999-201
7
Free Software Foundation, Inc.
# Copyright (C) 1999-201
8
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
...
...
@@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
# 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/>.
# along with this program. If not, see <http
s
://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
...
...
@@ -783,7 +783,7 @@ exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook '
write-file-hooks
'time-stamp)
# eval: (add-hook '
before-save-hook
'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
...
...
genreport.c
View file @
2e6bef4a
...
...
@@ -8,9 +8,11 @@
#define FD_SETSIZE 1600
#include <config.h>
#ifndef _BSD_SOURCE
#define _BSD_SOURCE 1
#endif
#
define __FAVOR_BSD 1
#
include <config.h>
#include <stdio.h>
#include <string.h>
...
...
@@ -559,7 +561,7 @@ struct summary {
char
ns
[
1024
];
/* the server's name */
struct
sockaddr_storage
storage
;
/* server we are talking to */
int
tests
;
/* number of outstanding tests */
int
last
;
/* last test sent */
unsigned
int
last
;
/* last test sent */
int
deferred
;
/* was the printing deferred */
int
done
;
/* we are done */
int
type
;
/* recursive query lookup type */
...
...
@@ -582,7 +584,7 @@ struct summary {
int
allrefused
;
/* all answers are current ok */
int
allservfail
;
/* all answers are current ok */
struct
summary
*
xlink
;
/* cross link of recursive A/AAAA */
int
nsidlen
;
unsigned
int
nsidlen
;
char
nsid
[
100
];
/* nsid if found */
char
results
[
sizeof
(
opts
)
/
sizeof
(
opts
[
0
])][
100
];
};
...
...
@@ -883,7 +885,7 @@ printandfree(struct summary *summary) {
}
printf
(
" %s=%s"
,
opts
[
i
].
name
,
summary
->
results
[
i
]);
}
if
(
printnsid
&&
summary
->
nsidlen
!=
0
)
{
if
(
printnsid
&&
summary
->
nsidlen
!=
0
U
)
{
printf
(
" ("
);
for
(
i
=
0
;
i
<
summary
->
nsidlen
;
i
++
)
{
if
(
isprint
(
summary
->
nsid
[
i
]
&
0xff
))
...
...
@@ -1109,7 +1111,8 @@ static void
dotest
(
struct
workitem
*
item
)
{
unsigned
char
*
cp
;
unsigned
int
ttl
;
int
n
,
fd
,
id
,
tries
=
0
,
opcode
;
int
n
,
fd
,
id
,
tries
=
0
;
unsigned
int
opcode
;
socklen_t
ss_len
;
...
...
@@ -1644,7 +1647,8 @@ process(struct workitem *item, unsigned char *buf, int buflen) {
unsigned
int
i
,
id
,
qr
,
aa
,
tc
,
rd
,
ra
,
z
,
ad
,
cd
;
unsigned
int
qrcount
,
ancount
,
aucount
,
adcount
;
unsigned
int
opcode
,
rcode
;
unsigned
int
type
,
ednssize
=
0
,
class
,
ednsttl
=
0
,
ttl
,
rdlen
;
unsigned
int
ednssize
=
0
,
class
,
ednsttl
=
0
,
ttl
,
rdlen
;
unsigned
short
type
;
unsigned
char
*
cp
,
*
eom
;
int
seenopt
=
0
,
seensoa
=
0
,
seenrrsig
=
0
;
int
seennsid
=
0
,
seenecs
=
0
,
seenexpire
=
0
,
seencookie
=
0
;
...
...
@@ -1846,7 +1850,7 @@ process(struct workitem *item, unsigned char *buf, int buflen) {
{
struct
summary
*
summarya
,
*
summaryaaaa
;
n
=
dn_expand
(
buf
,
eom
,
cp
,
ns
,
sizeof
(
ns
));
if
(
n
!=
rdlen
)
if
(
n
<
0
||
(
size_t
)
n
!=
rdlen
)
goto
err
;
item
->
summary
->
done
=
1
;
/*
...
...
@@ -1981,16 +1985,18 @@ process(struct workitem *item, unsigned char *buf, int buflen) {
testname
=
opts
[
item
->
test
].
name
;
else
testname
=
""
;
printf
(
"id=%-5u %-9s opcode=%u rcode=%u aa=%u tc=%u rd=%u "
printf
(
"id=%-5u %-9s opcode=%u rcode=%u
qr=%u
aa=%u tc=%u rd=%u "
"ra=%u z=%u ad=%u cd=%u qrcount=%u ancount=%u "
"aucount=%u adcount=%u
\n
"
"
\t
seensoa=%u seenrrsig=%u seenopt=%u "
"seennsid=%u seenecs=%u seenexpire=%u seencookie=%u
\n
"
,
"seennsid=%u seenecs=%u seenexpire=%u seencookie=%u
\n
"
"
\t
ednsudpsize=%u
\n
"
,
id
,
testname
,
opcode
,
rcode
,
aa
,
tc
,
rd
,
ra
,
z
,
ad
,
cd
,
qr
,
aa
,
tc
,
rd
,
ra
,
z
,
ad
,
cd
,
qrcount
,
ancount
,
aucount
,
adcount
,
seensoa
,
seenrrsig
,
seenopt
,
seennsid
,
seenecs
,
seenexpire
,
seencookie
);
seennsid
,
seenecs
,
seenexpire
,
seencookie
,
ednssize
);
}
if
(
item
->
summary
->
type
)
{
...
...
@@ -2368,6 +2374,8 @@ readstdin(int fd) {
char
address
[
1204
];
int
n
;
fd
=
fd
;
/* unused */
/*
* Too much outstanding work then wait to be called again.
*/
...
...
@@ -2447,9 +2455,9 @@ icmp4read(int fd) {
hlen
=
icmp
->
icmp_ip
.
ip_hl
<<
2
;
offset
=
offsetof
(
struct
icmp
,
icmp_ip
)
+
hlen
;
if
(
icmp
->
icmp_ip
.
ip_p
==
IPPROTO_UDP
&&
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
udphdr
=
(
struct
udphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
msgdata
=
offset
+
sizeof
(
struct
udphdr
);
id
=
(
buf
[
msgdata
]
<<
8
)
+
buf
[
msgdata
+
1
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2463,9 +2471,9 @@ icmp4read(int fd) {
}
}
if
(
icmp
->
icmp_ip
.
ip_p
==
IPPROTO_TCP
&&
n
>=
offset
+
sizeof
(
struct
tcphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
tcphdr
))
{
tcphdr
=
(
struct
tcphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
tcphdr
)
+
4
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
tcphdr
)
+
4
)
{
msgdata
=
offset
+
sizeof
(
struct
tcphdr
);
id
=
(
buf
[
msgdata
+
2
]
<<
8
)
+
buf
[
msgdata
+
3
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2534,9 +2542,9 @@ icmp4read(int fd) {
hlen
=
icmp
->
icmp_ip
.
ip_hl
<<
2
;
offset
=
offsetof
(
struct
icmp
,
icmp_ip
)
+
hlen
;
if
(
icmp
->
icmp_ip
.
ip_p
==
IPPROTO_UDP
&&
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
udphdr
=
(
struct
udphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
msgdata
=
offset
+
sizeof
(
struct
udphdr
);
id
=
(
buf
[
msgdata
]
<<
8
)
+
buf
[
msgdata
+
1
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2550,9 +2558,9 @@ icmp4read(int fd) {
}
}
if
(
icmp
->
icmp_ip
.
ip_p
==
IPPROTO_TCP
&&
n
>=
offset
+
sizeof
(
struct
tcphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
tcphdr
))
{
tcphdr
=
(
struct
tcphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
tcphdr
)
+
4
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
tcphdr
)
+
4
)
{
msgdata
=
offset
+
sizeof
(
struct
tcphdr
);
id
=
(
buf
[
msgdata
+
2
]
<<
8
)
+
buf
[
msgdata
+
3
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2634,9 +2642,9 @@ icmp6read(int fd) {
offset
+=
8
;
}
if
(
nxt
==
IPPROTO_UDP
&&
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
udphdr
=
(
struct
udphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
msgdata
=
offset
+
sizeof
(
struct
udphdr
);
id
=
(
buf
[
msgdata
]
<<
8
)
+
buf
[
msgdata
+
1
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2669,9 +2677,9 @@ icmp6read(int fd) {
offset
+=
8
;
}
if
(
nxt
==
IPPROTO_UDP
&&
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
udphdr
=
(
struct
udphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
msgdata
=
offset
+
sizeof
(
struct
udphdr
);
id
=
(
buf
[
msgdata
]
<<
8
)
+
buf
[
msgdata
+
1
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2685,9 +2693,9 @@ icmp6read(int fd) {
}
}
if
(
nxt
==
IPPROTO_TCP
&&
n
>=
offset
+
sizeof
(
struct
tcphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
tcphdr
))
{
tcphdr
=
(
struct
tcphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
tcphdr
)
+
2
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
tcphdr
)
+
2
)
{
msgdata
=
offset
+
sizeof
(
struct
tcphdr
);
id
=
(
buf
[
msgdata
+
2
]
<<
8
)
+
buf
[
msgdata
+
3
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2734,9 +2742,9 @@ icmp6read(int fd) {
offset
+=
8
;
}
if
(
nxt
==
IPPROTO_UDP
&&
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
))
{
udphdr
=
(
struct
udphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
udphdr
)
+
2
)
{
msgdata
=
offset
+
sizeof
(
struct
udphdr
);
id
=
(
buf
[
msgdata
]
<<
8
)
+
buf
[
msgdata
+
1
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2750,9 +2758,9 @@ icmp6read(int fd) {
}
}
if
(
nxt
==
IPPROTO_TCP
&&
n
>=
offset
+
sizeof
(
struct
tcphdr
))
{
(
size_t
)
n
>=
offset
+
sizeof
(
struct
tcphdr
))
{
tcphdr
=
(
struct
tcphdr
*
)
&
buf
[
offset
];
if
(
n
>=
offset
+
sizeof
(
struct
tcphdr
)
+
2
)
{
if
(
(
size_t
)
n
>=
offset
+
sizeof
(
struct
tcphdr
)
+
2
)
{
msgdata
=
offset
+
sizeof
(
struct
tcphdr
);
id
=
(
buf
[
msgdata
+
2
]
<<
8
)
+
buf
[
msgdata
+
3
];
memset
(
&
storage
,
0
,
sizeof
(
storage
));
...
...
@@ -2917,6 +2925,7 @@ static int stats;
static
void
info
(
int
sig
)
{
sig
=
sig
;
/* unused */
stats
=
1
;
}
...
...
install-sh
View file @
2e6bef4a
#!/bin/sh
# install - install a program, script, or datafile
scriptversion
=
201
6-01-11.22
;
# UTC
scriptversion
=
201
8-03-11.20
;
# UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
...
...
@@ -271,15 +271,18 @@ do
fi
dst
=
$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
# If destination is a directory, append the input filename.
if
test
-d
"
$dst
"
;
then
if
test
"
$is_target_a_directory
"
=
never
;
then
echo
"
$0
:
$dst_arg
: Is a directory"
>
&2
exit
1
fi
dstdir
=
$dst
dst
=
$dstdir
/
`
basename
"
$src
"
`
dstbase
=
`
basename
"
$src
"
`
case
$dst
in
*
/
)
dst
=
$dst$dstbase
;;
*
)
dst
=
$dst
/
$dstbase
;;
esac
dstdir_status
=
0
else
dstdir
=
`
dirname
"
$dst
"
`
...
...
@@ -288,6 +291,11 @@ do
fi
fi
case
$dstdir
in
*
/
)
dstdirslash
=
$dstdir
;;
*
)
dstdirslash
=
$dstdir
/
;;
esac
obsolete_mkdir_used
=
false
if
test
$dstdir_status
!=
0
;
then
...
...
@@ -324,34 +332,43 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*
)
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir
=
${
TMPDIR
-/tmp
}
/ins
$RANDOM
-
$$
trap
'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret'
0
trap
'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret'
0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if
(
umask
$mkdir_umask
&&
exec
$mkdirprog
$mkdir_mode
-p
--
"
$tmpdir
/d"
)
>
/dev/null 2>&1
$mkdirprog
$mkdir_mode
"
$tmpdir
"
&&
exec
$mkdirprog
$mkdir_mode
-p
--
"
$tmpdir
/a/b"
)
>
/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
"
`
test_tmpdir
=
"
$tmpdir
/a"
ls_ld_tmpdir
=
`
ls
-ld
"
$test_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
"
`
$mkdirprog
-m
$different_mode
-p
--
"
$t
est_t
mpdir
"
&&
{
ls_ld_tmpdir_1
=
`
ls
-ld
"
$t
est_t
mpdir
"
`
test
"
$ls_ld_tmpdir
"
=
"
$ls_ld_tmpdir_1
"
}
}
then
posix_mkdir
=
:
fi
rmdir
"
$tmpdir
/
d
"
"
$tmpdir
"
rmdir
"
$tmpdir
/
a/b"
"
$tmpdir
/a
"
"
$tmpdir
"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir
./
$mkdir_mode
./-p ./-- 2>/dev/null
rmdir
./
$mkdir_mode
./-p ./--
"
$tmpdir
"
2>/dev/null
fi
trap
''
0
;;
esac
;;
...
...
@@ -427,8 +444,8 @@ do
else
# Make a couple of temp file names in the proper directory.
dsttmp
=
$
dstdir
/
_inst.
$$
_
rmtmp
=
$
dstdir
/
_rm.
$$
_
dsttmp
=
$
{
dstdirslash
}
_inst.
$$
_
rmtmp
=
$
{
dstdirslash
}
_rm.
$$
_
# Trap to clean up those temp files at exit.
trap
'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret'
0
...
...
@@ -493,7 +510,7 @@ do
done
# Local variables:
# eval: (add-hook '
write-file-hooks
'time-stamp)
# eval: (add-hook '
before-save-hook
'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
...
...
missing
View file @
2e6bef4a
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion
=
201
6-01-11.22
;
# UTC
scriptversion
=
201
8-03-07.03
;
# UTC
# Copyright (C) 1996-201
7
Free Software Foundation, Inc.
# Copyright (C) 1996-201
8
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
...
...
@@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC
# 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/>.
# along with this program. If not, see <http
s
://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
...
...
@@ -101,9 +101,9 @@ else
exit
$st
fi
perl_URL
=
http://www.perl.org/
flex_URL
=
http
://flex.sourceforge.net/
gnu_software_URL
=
http://www.gnu.org/software
perl_URL
=
http
s
://www.perl.org/
flex_URL
=
http
s://github.com/westes/flex
gnu_software_URL
=
http
s
://www.gnu.org/software
program_details
()
{
...
...
@@ -207,7 +207,7 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
exit
$st
# Local variables:
# eval: (add-hook '
write-file-hooks
'time-stamp)
# eval: (add-hook '
before-save-hook
'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
...
...
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