1
0
Fork 0

Adding upstream version 2.25.15.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
Daniel Baumann 2025-06-21 11:04:07 +02:00
parent 10737b110a
commit b543f2e88d
Signed by: daniel.baumann
GPG key ID: BCC918A2ABD66424
485 changed files with 191459 additions and 0 deletions

50
test/Makefile Normal file
View file

@ -0,0 +1,50 @@
OUR_TESTS= \
perl \
annotate-output \
checkbashisms \
dd-list \
debchange \
debdiff \
debrepro \
debsign \
mass_bug \
mergechanges \
mk-origtargz \
package_lifecycle \
sadt \
uscan \
uscan_ftp \
uscan_git \
uscan_svn \
uscan_mangle \
uscan_group \
perltidy \
wrap-and-sort \
# Tests that must run as root, and alter the state of the system by
# adding/removing packages
DESTRUCTIVE_TESTS = \
debi \
# unset some variables that might affect tests
undefine DEB_CHECK_COMMAND
test: $(foreach i,$(OUR_TESTS),test_$(i).test)
destructive-test: $(foreach i,$(DESTRUCTIVE_TESTS),test_$(i).test)
%.test: %
./$<
test-installed: $(foreach i,$(OUR_TESTS),test_$(i).test_installed)
destructive-test-installed: $(foreach i,$(DESTRUCTIVE_TESTS),test_$(i).test_installed)
%.test_installed: %
./$< --installed
online-test:
./test_uscan_online
.PHONY: test test-installed online-test destructive-test

6
test/bashisms/531327.sh Normal file
View file

@ -0,0 +1,6 @@
#!/bin/sh
foo() {}
foo \
source something

6
test/bashisms/535368.mk Normal file
View file

@ -0,0 +1,6 @@
#!/usr/bin/make -f
foo:
if [ "$$(< $(DEBIAN)/foo md5sum)" != "$$(cat $(DEBIAN)/foo.md5)" ] ; then \
echo moo; \
fi

9
test/bashisms/808271.sh Normal file
View file

@ -0,0 +1,9 @@
#!/bin/sh
if type which; then
echo "use which"
fi
if ! type which; then
echo "well, idk"
fi

View file

@ -0,0 +1,4 @@
possible bashism in bashisms/808271.sh line 3 (type):
if type which; then
possible bashism in bashisms/808271.sh line 7 (type):
if ! type which; then

21
test/bashisms/arith.sh Normal file
View file

@ -0,0 +1,21 @@
#!/bin/sh
metric=0
echo $((metric=metric+1))
m=0
n=2
echo $((n-m++)) # BASHISM
echo $((++m)) # BASHISM
echo $(( m-- )) # BASHISM
echo $((--m)) # BASHISM
foo_bar=0
echo $((foo_bar++)) # BASHISM
echo $((foo_bar=foo_bar*2))
echo $((foo_bar*3/6))
echo $((2*n++)) # BASHISM
echo $(($n*n++)) # BASHISM
echo $((3**2)) # BASHISM

View file

@ -0,0 +1,16 @@
possible bashism in bashisms/arith.sh line 7 ('$((n++))' should be '$n; $((n=n+1))'):
echo $((n-m++)) # BASHISM
possible bashism in bashisms/arith.sh line 8 ('$((++n))' should be '$((n=n+1))'):
echo $((++m)) # BASHISM
possible bashism in bashisms/arith.sh line 9 ('$((n--))' should be '$n; $((n=n-1))'):
echo $(( m-- )) # BASHISM
possible bashism in bashisms/arith.sh line 10 ('$((--n))' should be '$((n=n-1))'):
echo $((--m)) # BASHISM
possible bashism in bashisms/arith.sh line 13 ('$((n++))' should be '$n; $((n=n+1))'):
echo $((foo_bar++)) # BASHISM
possible bashism in bashisms/arith.sh line 17 ('$((n++))' should be '$n; $((n=n+1))'):
echo $((2*n++)) # BASHISM
possible bashism in bashisms/arith.sh line 19 ('$((n++))' should be '$n; $((n=n+1))'):
echo $(($n*n++)) # BASHISM
possible bashism in bashisms/arith.sh line 21 (exponentiation is not POSIX):
echo $((3**2)) # BASHISM

View file

@ -0,0 +1,60 @@
#!/bin/sh
# This is a TO DO, but irrelevant to this test case:
foo=(foo bar moo BASH ISM)
n=1
echo BASHISM ${foo[1]%r}
echo BASHISM ${foo[$n]%r}
echo BASHISM ${foo[*]%o}
echo BASHISM ${foo[@]%o}
echo BASHISM ${foo[1]%%r}
echo BASHISM ${foo[$n]%%r}
echo BASHISM ${foo[*]%%o}
echo BASHISM ${foo[@]%%o}
echo BASHISM ${foo[1]#*a}
echo BASHISM ${foo[$n]#*a}
echo BASHISM ${foo[*]#*o}
echo BASHISM ${foo[@]#*o}
echo BASHISM ${foo[1]##*a}
echo BASHISM ${foo[$n]##*a}
echo BASHISM ${foo[*]##*o}
echo BASHISM ${foo[@]##*o}
echo BASHISM ${#foo[1]}
echo BASHISM ${#foo[$n]}
echo BASHISM ${#foo[*]}
echo BASHISM ${#foo[@]}
# Technically, there are two bashisms here, but I'm happy if it at
# least matches one. The regexes become more complex without real gain
# otherwise. (hence the "BASH ISMS", with the extra space)
echo BASHISM BASH ISMS ${foo[1]^*a}
echo BASHISM BASH ISMS ${foo[$n]^*a}
echo BASHISM BASH ISMS ${foo[*]^*o}
echo BASHISM BASH ISMS ${foo[@]^*o}
echo BASHISM BASH ISMS ${foo[1]^^*a}
echo BASHISM BASH ISMS ${foo[$n]^^*a}
echo BASHISM BASH ISMS ${foo[*]^^*o}
echo BASHISM BASH ISMS ${foo[@]^^*o}
echo BASHISM BASH ISMS ${foo[1],*a}
echo BASHISM BASH ISMS ${foo[$n],*a}
echo BASHISM BASH ISMS ${foo[*],*a}
echo BASHISM BASH ISMS ${foo[@],*a}
echo BASHISM BASH ISMS ${foo[1],,*a}
echo BASHISM BASH ISMS ${foo[$n],,*a}
echo BASHISM BASH ISMS ${foo[*],,*a}
echo BASHISM BASH ISMS ${foo[@],,*a}
echo BASHISM BASH ISMS ${foo[1]/a/R}
echo BASHISM BASH ISMS ${foo[$n]/a/R}
echo BASHISM BASH ISMS ${foo[*]/a/R}
echo BASHISM BASH ISMS ${foo[@]/a/R}

View file

@ -0,0 +1,80 @@
possible bashism in bashisms/array-expansion.sh line 8 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[1]%r}
possible bashism in bashisms/array-expansion.sh line 9 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[$n]%r}
possible bashism in bashisms/array-expansion.sh line 10 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[*]%o}
possible bashism in bashisms/array-expansion.sh line 11 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[@]%o}
possible bashism in bashisms/array-expansion.sh line 13 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[1]%%r}
possible bashism in bashisms/array-expansion.sh line 14 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[$n]%%r}
possible bashism in bashisms/array-expansion.sh line 15 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[*]%%o}
possible bashism in bashisms/array-expansion.sh line 16 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[@]%%o}
possible bashism in bashisms/array-expansion.sh line 18 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[1]#*a}
possible bashism in bashisms/array-expansion.sh line 19 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[$n]#*a}
possible bashism in bashisms/array-expansion.sh line 20 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[*]#*o}
possible bashism in bashisms/array-expansion.sh line 21 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[@]#*o}
possible bashism in bashisms/array-expansion.sh line 23 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[1]##*a}
possible bashism in bashisms/array-expansion.sh line 24 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[$n]##*a}
possible bashism in bashisms/array-expansion.sh line 25 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[*]##*o}
possible bashism in bashisms/array-expansion.sh line 26 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${foo[@]##*o}
possible bashism in bashisms/array-expansion.sh line 28 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${#foo[1]}
possible bashism in bashisms/array-expansion.sh line 29 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${#foo[$n]}
possible bashism in bashisms/array-expansion.sh line 30 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${#foo[*]}
possible bashism in bashisms/array-expansion.sh line 31 (bash arrays, ${name[0|*|@]}):
echo BASHISM ${#foo[@]}
possible bashism in bashisms/array-expansion.sh line 37 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[1]^*a}
possible bashism in bashisms/array-expansion.sh line 38 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[$n]^*a}
possible bashism in bashisms/array-expansion.sh line 39 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[*]^*o}
possible bashism in bashisms/array-expansion.sh line 40 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[@]^*o}
possible bashism in bashisms/array-expansion.sh line 42 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[1]^^*a}
possible bashism in bashisms/array-expansion.sh line 43 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[$n]^^*a}
possible bashism in bashisms/array-expansion.sh line 44 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[*]^^*o}
possible bashism in bashisms/array-expansion.sh line 45 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[@]^^*o}
possible bashism in bashisms/array-expansion.sh line 47 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[1],*a}
possible bashism in bashisms/array-expansion.sh line 48 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[$n],*a}
possible bashism in bashisms/array-expansion.sh line 49 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[*],*a}
possible bashism in bashisms/array-expansion.sh line 50 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[@],*a}
possible bashism in bashisms/array-expansion.sh line 52 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[1],,*a}
possible bashism in bashisms/array-expansion.sh line 53 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[$n],,*a}
possible bashism in bashisms/array-expansion.sh line 54 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[*],,*a}
possible bashism in bashisms/array-expansion.sh line 55 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[@],,*a}
possible bashism in bashisms/array-expansion.sh line 57 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[1]/a/R}
possible bashism in bashisms/array-expansion.sh line 58 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[$n]/a/R}
possible bashism in bashisms/array-expansion.sh line 59 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[*]/a/R}
possible bashism in bashisms/array-expansion.sh line 60 (bash arrays, ${name[0|*|@]}):
echo BASHISM BASH ISMS ${foo[@]/a/R}

View file

@ -0,0 +1,4 @@
#!/bin/sh
setvar foo bar # BASHISM
[ bar = "$foo" ]

View file

@ -0,0 +1,2 @@
possible bashism in bashisms/ash-setvar.sh line 3 (setvar 'foo' 'bar' should be eval 'foo="'"$bar"'"'):
setvar foo bar # BASHISM

View file

@ -0,0 +1,6 @@
#!/usr/bin/make -f
override SHELL := bash
test:
@echo -e foo

View file

@ -0,0 +1,6 @@
#!/usr/bin/make -f
SHELL := bash
test:
echo -e foo

21
test/bashisms/basic.mk Normal file
View file

@ -0,0 +1,21 @@
#!/usr/bin/make -f
# bug:
overrideSHELL := bash
test:
-echo -e "foo BASHISM"
@echo -e "bar BASHISM"
@-echo -e "bar BASHISM" && false
-@echo -e "bar BASHISM" && false
true
dirs:
source diff:
source diff.gz::
source file-stamp:
caller %.so:
:
foo: $(shell echo dir/BASHISM/{foo,bar})
:

View file

@ -0,0 +1,10 @@
possible bashism in bashisms/basic.mk line 7 (echo -e):
-echo -e "foo BASHISM"
possible bashism in bashisms/basic.mk line 8 (echo -e):
@echo -e "bar BASHISM"
possible bashism in bashisms/basic.mk line 9 (echo -e):
@-echo -e "bar BASHISM" && false
possible bashism in bashisms/basic.mk line 10 (echo -e):
-@echo -e "bar BASHISM" && false
possible bashism in bashisms/basic.mk line 20 (brace expansion):
foo: $(shell echo dir/BASHISM/{foo,bar})

View file

@ -0,0 +1,9 @@
#!/bin/sh
echo BASHISM{1..10}
echo BASHISM{1..10..2}
echo BASHISM{a..z}
echo BASHISM{Z..a}
echo BASHISM{a..z..2}
echo {a.._}
echo {a..9}

View file

@ -0,0 +1,10 @@
possible bashism in bashisms/brace-expansion.sh line 3 (brace expansion, {a..b[..c]}should be $(seq a [c] b)):
echo BASHISM{1..10}
possible bashism in bashisms/brace-expansion.sh line 4 (brace expansion, {a..b[..c]}should be $(seq a [c] b)):
echo BASHISM{1..10..2}
possible bashism in bashisms/brace-expansion.sh line 5 (brace expansion):
echo BASHISM{a..z}
possible bashism in bashisms/brace-expansion.sh line 6 (brace expansion):
echo BASHISM{Z..a}
possible bashism in bashisms/brace-expansion.sh line 7 (brace expansion):
echo BASHISM{a..z..2}

View file

@ -0,0 +1,19 @@
#!/bin/sh
foo=foo
bar=BAR
echo BASHISM: ${foo^f}
echo BASHISM: ${foo^^o}
echo BASHISM: ${bar,B}
echo BASHISM: ${bar,,R}
echo BASHISM: ${foo^}
echo BASHISM: ${foo^^}
echo BASHISM: ${bar,}
echo BASHISM: ${bar,,}
echo BASHISM: ${@^}
echo BASHISM: ${*^^}
echo BASHISM: ${@,}
echo BASHISM: ${*,,}

View file

@ -0,0 +1,24 @@
possible bashism in bashisms/case-modification.sh line 6 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${foo^f}
possible bashism in bashisms/case-modification.sh line 7 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${foo^^o}
possible bashism in bashisms/case-modification.sh line 8 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${bar,B}
possible bashism in bashisms/case-modification.sh line 9 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${bar,,R}
possible bashism in bashisms/case-modification.sh line 11 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${foo^}
possible bashism in bashisms/case-modification.sh line 12 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${foo^^}
possible bashism in bashisms/case-modification.sh line 13 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${bar,}
possible bashism in bashisms/case-modification.sh line 14 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${bar,,}
possible bashism in bashisms/case-modification.sh line 16 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${@^}
possible bashism in bashisms/case-modification.sh line 17 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${*^^}
possible bashism in bashisms/case-modification.sh line 18 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${@,}
possible bashism in bashisms/case-modification.sh line 19 (${parm,[,][pat]} or ${parm^[^][pat]}):
echo BASHISM: ${*,,}

16
test/bashisms/command.sh Normal file
View file

@ -0,0 +1,16 @@
#!/bin/sh
command test
command -p test
command -v test
command -V test
command -p test
command -p -v test
command -pv test
command -p -v -a test # BASHISM
command -p -a -v test # BASHISM
command -pa test # BASHISM
command -ap test # BASHISM
command -p -a test # BASHISM
command -pV -a test # BASHISM
command -p test

View file

@ -0,0 +1,12 @@
possible bashism in bashisms/command.sh line 10 ('command' with option other than -p, -v or -V):
command -p -v -a test # BASHISM
possible bashism in bashisms/command.sh line 11 ('command' with option other than -p, -v or -V):
command -p -a -v test # BASHISM
possible bashism in bashisms/command.sh line 12 ('command' with option other than -p, -v or -V):
command -pa test # BASHISM
possible bashism in bashisms/command.sh line 13 ('command' with option other than -p, -v or -V):
command -ap test # BASHISM
possible bashism in bashisms/command.sh line 14 ('command' with option other than -p, -v or -V):
command -p -a test # BASHISM
possible bashism in bashisms/command.sh line 15 ('command' with option other than -p, -v or -V):
command -pV -a test # BASHISM

View file

@ -0,0 +1,7 @@
#!/bin/sh
echo 's#/##g
s# #/#'
echo '
' # foo() {} "

View file

@ -0,0 +1,4 @@
#!/bin/sh
echo "
\" # " # foo() {} '

View file

@ -0,0 +1,3 @@
#!/bin/sh
echo $# ; echo -e BASHISM

View file

@ -0,0 +1,2 @@
possible bashism in bashisms/comments-parsing-fns.sh line 3 (echo -e):
echo $# ; echo -e BASHISM

3
test/bashisms/coproc.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/sh
coproc true # BASHISM

View file

@ -0,0 +1,2 @@
possible bashism in bashisms/coproc.sh line 3 (coproc):
coproc true # BASHISM

View file

@ -0,0 +1,9 @@
#!/bin/sh
len=1
f=foo
echo "${f:1}" # BASHISM
echo "${f:$len}" # BASHISM
echo "${f:$len$len}" # BASHISM
echo "${f:${len}}" # BASHISM

View file

@ -0,0 +1,8 @@
possible bashism in bashisms/dynamic-length.sh line 6 (${foo:3[:1]}):
echo "${f:1}" # BASHISM
possible bashism in bashisms/dynamic-length.sh line 7 (${foo:3[:1]}):
echo "${f:$len}" # BASHISM
possible bashism in bashisms/dynamic-length.sh line 8 (${foo:3[:1]}):
echo "${f:$len$len}" # BASHISM
possible bashism in bashisms/dynamic-length.sh line 9 (${foo:3[:1]}):
echo "${f:${len}}" # BASHISM

View file

@ -0,0 +1,7 @@
#!/bin/sh
# http://bugs.debian.org/687450
exit -- 2 # BASHISM
exit 255
exit 256 # BASHISM
exit -1 # BASHISM

View file

@ -0,0 +1,6 @@
possible bashism in bashisms/exit-code.sh line 4 ('exit --' should be 'exit' (idem for return)):
exit -- 2 # BASHISM
possible bashism in bashisms/exit-code.sh line 6 (exit|return status code greater than 255):
exit 256 # BASHISM
possible bashism in bashisms/exit-code.sh line 7 (exit|return with negative status code):
exit -1 # BASHISM

View file

@ -0,0 +1,3 @@
#!/bin/sh
eval $_INITSCRIPT force-reload ${HIDEOUTPUT:+\>/dev/null 2\>&1}

9
test/bashisms/fps.sh Normal file
View file

@ -0,0 +1,9 @@
#!/bin/sh
echo -e "BASHISM" \
"something else \n"
#exec ${loclibdir}/tkcon.tcl \
# -eval "source ${loclibdir}/console.tcl" \
# -slave "package require Tk; set argc $#; set argv [list $*]; \
# source ${loclibdir}/xcircuit.tcl"

3
test/bashisms/fps.sh.out Normal file
View file

@ -0,0 +1,3 @@
possible bashism in bashisms/fps.sh line 4 (echo -e):
echo -e "BASHISM" \
"something else \n"

View file

@ -0,0 +1,66 @@
#!/bin/sh
foo() {
:
}
_all_good () {
:
}
_all_good101_ ( ) {
:
}
function BASHISM() {
:
}
function BASHISM {
:
}
function BASHISM {
echo foo
} &>/dev/null # BASHISM
,() { # BASHISM
:
}
function foo:bar:BASHISM { # BASHISMS
:
}
function foo-bar-BASHISM() { # BASHISMS
:
}
foo-bar-BASHISM ( ) {
:
}
_ () {
:
}
function _ { #BASHISM
:
}
=() { #BASHISM
:
}
function BASHISM=() { #BASHISMS
:
}
function BASHISM= { #BASHISMS
:
}
# This doesn't work:
#foo=() {
# :
#}

View file

@ -0,0 +1,32 @@
possible bashism in bashisms/functions.sh line 15 ('function' is useless):
function BASHISM() {
possible bashism in bashisms/functions.sh line 19 ('function' is useless):
function BASHISM {
possible bashism in bashisms/functions.sh line 23 ('function' is useless):
function BASHISM {
possible bashism in bashisms/functions.sh line 25 (should be >word 2>&1):
} &>/dev/null # BASHISM
possible bashism in bashisms/functions.sh line 27 (function names should only contain [a-z0-9_]):
,() { # BASHISM
possible bashism in bashisms/functions.sh line 31 (function names should only contain [a-z0-9_]):
function foo:bar:BASHISM { # BASHISMS
possible bashism in bashisms/functions.sh line 31 ('function' is useless):
function foo:bar:BASHISM { # BASHISMS
possible bashism in bashisms/functions.sh line 35 (function names should only contain [a-z0-9_]):
function foo-bar-BASHISM() { # BASHISMS
possible bashism in bashisms/functions.sh line 35 ('function' is useless):
function foo-bar-BASHISM() { # BASHISMS
possible bashism in bashisms/functions.sh line 39 (function names should only contain [a-z0-9_]):
foo-bar-BASHISM ( ) {
possible bashism in bashisms/functions.sh line 47 ('function' is useless):
function _ { #BASHISM
possible bashism in bashisms/functions.sh line 51 (function names should only contain [a-z0-9_]):
=() { #BASHISM
possible bashism in bashisms/functions.sh line 55 (function names should only contain [a-z0-9_]):
function BASHISM=() { #BASHISMS
possible bashism in bashisms/functions.sh line 55 ('function' is useless):
function BASHISM=() { #BASHISMS
possible bashism in bashisms/functions.sh line 59 (function names should only contain [a-z0-9_]):
function BASHISM= { #BASHISMS
possible bashism in bashisms/functions.sh line 59 ('function' is useless):
function BASHISM= { #BASHISMS

5
test/bashisms/gettext.sh Normal file
View file

@ -0,0 +1,5 @@
#!/bin/sh
echo $"hello world -- BASHISM"
echo "foo ' bar moo'$"

View file

@ -0,0 +1,2 @@
possible bashism in bashisms/gettext.sh line 3 ($"foo" should be eval_gettext "foo"):
echo $"hello world -- BASHISM"

View file

@ -0,0 +1,4 @@
#!/bin/sh
GLOBIGNORE="run-tests.sh:BASHISM"
echo *.sh | grep -q run-tests.sh || echo meh

View file

@ -0,0 +1,2 @@
possible bashism in bashisms/glob-ignore.sh line 3 (GLOBIGNORE=):
GLOBIGNORE="run-tests.sh:BASHISM"

5
test/bashisms/hash.sh Normal file
View file

@ -0,0 +1,5 @@
#!/bin/sh
: BASHISM; hash
hash which # BASHISM
hash -r # BASHISM

View file

@ -0,0 +1,6 @@
possible bashism in bashisms/hash.sh line 3 (hash):
: BASHISM; hash
possible bashism in bashisms/hash.sh line 4 (hash):
hash which # BASHISM
possible bashism in bashisms/hash.sh line 5 (hash):
hash -r # BASHISM

View file

@ -0,0 +1,35 @@
#!/bin/sh
cat << -EOF1- 1>&2
CLEAN
-EOF1-
cat << -EOF2 1>&2
CLEAN
-EOF2
cat <<-EOF3 1>&2
CLEAN
EOF3
cat <<- EOF4 1>&2
CLEAN
EOF4
foo=bar
cat << '-EOF1-' 1>&2
CLEAN $foo
-EOF1-
cat << '-EOF2' 1>&2
CLEAN $foo
-EOF2
cat <<-'EOF3' 1>&2
CLEAN $foo
EOF3
cat <<- 'EOF4' 1>&2
CLEAN $foo
EOF4

View file

@ -0,0 +1,77 @@
#!/bin/sh
cat << =EOF1
function CLEAN() {}
=EOF1
cat << :EOF2
function CLEAN() {}
:EOF2
cat << ,EOF3
function CLEAN() {}
,EOF3
cat << ?EOF4
function CLEAN() {}
?EOF4
cat << E$OF5
function CLEAN() {}
E$OF5
cat << $EOF6
function CLEAN() {}
$EOF6
cat << EOF_7
function CLEAN() {}
EOF_7
cat << EOF;:
function CLEAN() {}
EOF
cat << EOF{}9
function CLEAN() {}
EOF{}9
cat << EOF\ 10
function CLEAN() {}
EOF 10
cat << EOF\;11
function CLEAN() {}
EOF;11
cat << EOF\12
function CLEAN() {}
EOF12
cat << EOF\\13
function CLEAN() {}
EOF\13
cat << EOF\\1\\4
function CLEAN() {}
EOF\1\4
cat << \<EOF15\>
function CLEAN() {}
<EOF15>
cat << "E\OF16"
function CLEAN() {}
E\OF16
cat << 'E\OF17'
function CLEAN() {}
E\OF17
cat << EOF18|:
function CLEAN() {}
EOF18
cat << EOF19>/dev/null
echo -e CLEAN() {}
EOF19

52
test/bashisms/heredocs.sh Normal file
View file

@ -0,0 +1,52 @@
#!/bin/sh
cat <<- FOO
foo
bar
moo
FOO
echo -e moo # BASHISM
foo() {
cat <<- FOO
foo
bar
moo
FOO
echo -e BASHISM
}
bar() {
cat <<- FOO
foo
bar
moo
FOO
echo -e nothing wrong here
FOO
echo -e BASHISM
}
moo() {
cat << FOO
foo
bar
moo
FOO
echo -e nothing wrong here
FOO
echo -e still nothing wrong here
FOO
echo -e BASHISM
}
baz() {
cat << EOF1
EOF1
echo -e still inside the here doc
EOF1 ; echo -e still inside...
EOF1
echo -e BASHISM
}

View file

@ -0,0 +1,10 @@
possible bashism in bashisms/heredocs.sh line 9 (echo -e):
echo -e moo # BASHISM
possible bashism in bashisms/heredocs.sh line 17 (echo -e):
echo -e BASHISM
possible bashism in bashisms/heredocs.sh line 28 (echo -e):
echo -e BASHISM
possible bashism in bashisms/heredocs.sh line 42 (echo -e):
echo -e BASHISM
possible bashism in bashisms/heredocs.sh line 51 (echo -e):
echo -e BASHISM

15
test/bashisms/jobs.sh Normal file
View file

@ -0,0 +1,15 @@
#!/bin/sh
# POSIX+UP:
jobs # BASHISM
jobs -l # BASHISM
jobs -p # BASHISM
# Non-POSIX at all:
sleep 10 &
j=$(jobs -p) # possible BASHISM (context changes because of subshell)
jobs -r # BASHISM
jobs -s # BASHISM
jobs -n # BASHISM
jobs -x # BASHISM

16
test/bashisms/jobs.sh.out Normal file
View file

@ -0,0 +1,16 @@
possible bashism in bashisms/jobs.sh line 4 (jobs):
jobs # BASHISM
possible bashism in bashisms/jobs.sh line 5 (jobs):
jobs -l # BASHISM
possible bashism in bashisms/jobs.sh line 6 (jobs):
jobs -p # BASHISM
possible bashism in bashisms/jobs.sh line 11 (jobs):
j=$(jobs -p) # possible BASHISM (context changes because of subshell)
possible bashism in bashisms/jobs.sh line 12 (jobs):
jobs -r # BASHISM
possible bashism in bashisms/jobs.sh line 13 (jobs):
jobs -s # BASHISM
possible bashism in bashisms/jobs.sh line 14 (jobs):
jobs -n # BASHISM
possible bashism in bashisms/jobs.sh line 15 (jobs):
jobs -x # BASHISM

View file

@ -0,0 +1,19 @@
#!/bin/sh
echo foo; \
shopt something # BASHISM
echo foo; echo \
shopt something
cat <<EOF \
&>/dev/null #BASHISM
bar
moo
EOF
cat <<EOF
foo\
bar\
moo
EOF

View file

@ -0,0 +1,6 @@
possible bashism in bashisms/line-continuation.sh line 4 (shopt):
echo foo; \
shopt something # BASHISM
possible bashism in bashisms/line-continuation.sh line 10 (should be >word 2>&1):
cat <<EOF \
&>/dev/null #BASHISM

View file

@ -0,0 +1,11 @@
#!/bin/sh
case "moo" in
[^f]oo) # BASHISM
echo hey
;;
[!f]oo)
echo hey
;;
esac

View file

@ -0,0 +1,2 @@
possible bashism in bashisms/negations.sh line 4 ([^] should be [!]):
[^f]oo) # BASHISM

View file

@ -0,0 +1,15 @@
#!/bin/sh
test() {
echo $FUNCNAME BASHISM
}
test
echo $DIRSTACK BASHISM
echo $SECONDS BASHISM
echo $TMOUT BASHISM
echo $TIMEFORMAT BASHISM
TMOUT=2 # BASHISM
read REPLY
TIMEFORMAT='' # BASHISM

View file

@ -0,0 +1,14 @@
possible bashism in bashisms/other-vars.sh line 4 ($FUNCNAME):
echo $FUNCNAME BASHISM
possible bashism in bashisms/other-vars.sh line 9 ($DIRSTACK):
echo $DIRSTACK BASHISM
possible bashism in bashisms/other-vars.sh line 10 ($SECONDS):
echo $SECONDS BASHISM
possible bashism in bashisms/other-vars.sh line 11 ($TMOUT):
echo $TMOUT BASHISM
possible bashism in bashisms/other-vars.sh line 12 ($TIMEFORMAT):
echo $TIMEFORMAT BASHISM
possible bashism in bashisms/other-vars.sh line 13 (TMOUT=):
TMOUT=2 # BASHISM
possible bashism in bashisms/other-vars.sh line 15 (TIMEFORMAT=):
TIMEFORMAT='' # BASHISM

7
test/bashisms/printf.sh Normal file
View file

@ -0,0 +1,7 @@
#!/bin/sh
printf -v some_var "this is a BASHISM"
printf "the use of %q is bad\n" "BASHISMS" >/dev/null
printf "%q leading the string is bad\n" "BASHISMS" >/dev/null

View file

@ -0,0 +1,6 @@
possible bashism in bashisms/printf.sh line 3 ('printf -v var ...' should be var='$(printf ...)'):
printf -v some_var "this is a BASHISM"
possible bashism in bashisms/printf.sh line 5 (printf %q):
printf "the use of %q is bad\n" "BASHISMS" >/dev/null
possible bashism in bashisms/printf.sh line 7 (printf %q):
printf "%q leading the string is bad\n" "BASHISMS" >/dev/null

View file

@ -0,0 +1,37 @@
#!/bin/sh
foo="
echo -e nothing wrong here
#crap"
echo -e BASHISM
foo="\
#crap"
echo -e BASHISM
case foo in
*\'*)
echo -e BASHISM
;;
esac
#'
echo -e BASHISM
case foo in
*\\"*")
echo -e BASHISM
;;
*\\\"*)
echo -e BASHISM
;;
*\"*)
echo -e BASHISM
;;
esac
#"
echo -e BASHISM
foo='\'
echo -e BASHISM

View file

@ -0,0 +1,18 @@
possible bashism in bashisms/quoted-strings.sh line 7 (echo -e):
echo -e BASHISM
possible bashism in bashisms/quoted-strings.sh line 12 (echo -e):
echo -e BASHISM
possible bashism in bashisms/quoted-strings.sh line 16 (echo -e):
echo -e BASHISM
possible bashism in bashisms/quoted-strings.sh line 20 (echo -e):
echo -e BASHISM
possible bashism in bashisms/quoted-strings.sh line 24 (echo -e):
echo -e BASHISM
possible bashism in bashisms/quoted-strings.sh line 27 (echo -e):
echo -e BASHISM
possible bashism in bashisms/quoted-strings.sh line 30 (echo -e):
echo -e BASHISM
possible bashism in bashisms/quoted-strings.sh line 34 (echo -e):
echo -e BASHISM
possible bashism in bashisms/quoted-strings.sh line 37 (echo -e):
echo -e BASHISM

9
test/bashisms/read.sh Normal file
View file

@ -0,0 +1,9 @@
#!/bin/sh
read
read -r
read file.txt
read-local-command
read-local-command -r
read-local-command file.txt

View file

@ -0,0 +1,4 @@
possible bashism in bashisms/read.sh line 3 (read without variable):
read
possible bashism in bashisms/read.sh line 4 (read without variable):
read -r

13
test/bashisms/return.sh Normal file
View file

@ -0,0 +1,13 @@
#!/bin/sh
foo() {
return -- 1 # BASHISM
}
bar () {
return 256 # BASHISM
}
moo () {
return -1 # BASHISM
}

View file

@ -0,0 +1,6 @@
possible bashism in bashisms/return.sh line 4 ('exit --' should be 'exit' (idem for return)):
return -- 1 # BASHISM
possible bashism in bashisms/return.sh line 8 (exit|return status code greater than 255):
return 256 # BASHISM
possible bashism in bashisms/return.sh line 12 (exit|return with negative status code):
return -1 # BASHISM

View file

@ -0,0 +1,5 @@
#!/usr/bin/make -f
foo:
read foo bar | echo $$foo and $$bar
echo my pid: $$$$

2
test/bashisms/source Normal file
View file

@ -0,0 +1,2 @@
#!/bin/sh
source foo.sh # BASHISM

2
test/bashisms/source.out Normal file
View file

@ -0,0 +1,2 @@
possible bashism in bashisms/source line 2 (should be '.', not 'source'):
source foo.sh # BASHISM

View file

@ -0,0 +1,13 @@
#!/bin/sh
case "foo" in
foo)
echo once
;& # BASHISM
moo)
echo twice
;;& # BASHISM
foo)
echo foo again
;;
esac

View file

@ -0,0 +1,4 @@
possible bashism in bashisms/special-case.sh line 6 (;;& and ;& special case operators):
;& # BASHISM
possible bashism in bashisms/special-case.sh line 9 (;;& and ;& special case operators):
;;& # BASHISM

View file

@ -0,0 +1,26 @@
#!/bin/sh
set -- foo bar moo
echo BASHISM: ${#@}
echo BASHISM: ${#*}
echo BASHISM: ${@%f*}
echo BASHISM: ${*%f*}
echo BASHISM: ${@%%f*}
echo BASHISM: ${*%%f*}
echo BASHISM: ${@#*o}
echo BASHISM: ${*#*o}
echo BASHISM: ${@##*o}
echo BASHISM: ${*##*o}
echo BASHISM: ${@/?/u}
echo BASHISM: ${*/?/u}
echo BASHISM: ${@/?/}
echo BASHISM: ${*/?/}
echo BASHISM: ${@:2}
echo BASHISM: ${*:2}
echo BASHISM: ${@:1:1}
echo BASHISM: ${*:1:1}

View file

@ -0,0 +1,36 @@
possible bashism in bashisms/special-expansions.sh line 5 (${#@} or ${#*}):
echo BASHISM: ${#@}
possible bashism in bashisms/special-expansions.sh line 6 (${#@} or ${#*}):
echo BASHISM: ${#*}
possible bashism in bashisms/special-expansions.sh line 8 (${[@|*]#[#]pat} or ${[@|*]%[%]pat}):
echo BASHISM: ${@%f*}
possible bashism in bashisms/special-expansions.sh line 9 (${[@|*]#[#]pat} or ${[@|*]%[%]pat}):
echo BASHISM: ${*%f*}
possible bashism in bashisms/special-expansions.sh line 10 (${[@|*]#[#]pat} or ${[@|*]%[%]pat}):
echo BASHISM: ${@%%f*}
possible bashism in bashisms/special-expansions.sh line 11 (${[@|*]#[#]pat} or ${[@|*]%[%]pat}):
echo BASHISM: ${*%%f*}
possible bashism in bashisms/special-expansions.sh line 13 (${[@|*]#[#]pat} or ${[@|*]%[%]pat}):
echo BASHISM: ${@#*o}
possible bashism in bashisms/special-expansions.sh line 14 (${[@|*]#[#]pat} or ${[@|*]%[%]pat}):
echo BASHISM: ${*#*o}
possible bashism in bashisms/special-expansions.sh line 15 (${[@|*]#[#]pat} or ${[@|*]%[%]pat}):
echo BASHISM: ${@##*o}
possible bashism in bashisms/special-expansions.sh line 16 (${[@|*]#[#]pat} or ${[@|*]%[%]pat}):
echo BASHISM: ${*##*o}
possible bashism in bashisms/special-expansions.sh line 18 (${parm/?/pat[/str]}):
echo BASHISM: ${@/?/u}
possible bashism in bashisms/special-expansions.sh line 19 (${parm/?/pat[/str]}):
echo BASHISM: ${*/?/u}
possible bashism in bashisms/special-expansions.sh line 20 (${parm/?/pat[/str]}):
echo BASHISM: ${@/?/}
possible bashism in bashisms/special-expansions.sh line 21 (${parm/?/pat[/str]}):
echo BASHISM: ${*/?/}
possible bashism in bashisms/special-expansions.sh line 23 (${foo:3[:1]}):
echo BASHISM: ${@:2}
possible bashism in bashisms/special-expansions.sh line 24 (${foo:3[:1]}):
echo BASHISM: ${*:2}
possible bashism in bashisms/special-expansions.sh line 25 (${foo:3[:1]}):
echo BASHISM: ${@:1:1}
possible bashism in bashisms/special-expansions.sh line 26 (${foo:3[:1]}):
echo BASHISM: ${*:1:1}

View file

@ -0,0 +1,3 @@
#!/bin/sh
echo $((echo foo); echo bar)

View file

@ -0,0 +1,41 @@
#!/bin/sh
echo tilde alone: ~/
echo tilde with name: ~root/
cd ; cd - >/dev/null
echo BASHISM: tilde plus: ~+
echo BASHISM: tilde minus: ~-
pushd ~ >/dev/null 2>&1 # BASHISM
for i in $(seq 1 9); do
pushd / >/dev/null 2>&1 # BASHISM
done
echo BASHISM: tilde plus n: ~+1
echo BASHISM: tilde implicit plus n: ~1
echo BASHISM: tilde minus n: ~-1
echo BASHISM: tilde plus 10: ~+10
echo BASHISM: tilde implicit plus 10: ~10
echo BASHISM: tilde minus 10: ~-10
echo BASHISM=~-/bin
echo BASHISM=/:~+/bin/
BASHISM=~-/bin ; echo $BASHISM
BASHISM=/:~+/bin/ ; echo $BASHISM
echo nothing wrong here: ~+foo/
echo nothing wrong here: ~-moo/
echo nothing wrong here: ~+1foo/
echo nothing wrong here: ~1foo/
echo nothing wrong here: ~-1moo/
# Again, but without the slash
echo nothing wrong here: ~+foo
echo nothing wrong here: ~-moo
echo nothing wrong here: ~+1foo
echo nothing wrong here: ~1foo
echo nothing wrong here: ~-1moo

View file

@ -0,0 +1,28 @@
possible bashism in bashisms/tilde-expansion.sh line 8 (non-standard tilde expansion):
echo BASHISM: tilde plus: ~+
possible bashism in bashisms/tilde-expansion.sh line 9 (non-standard tilde expansion):
echo BASHISM: tilde minus: ~-
possible bashism in bashisms/tilde-expansion.sh line 11 ((push|pop)d):
pushd ~ >/dev/null 2>&1 # BASHISM
possible bashism in bashisms/tilde-expansion.sh line 13 ((push|pop)d):
pushd / >/dev/null 2>&1 # BASHISM
possible bashism in bashisms/tilde-expansion.sh line 16 (non-standard tilde expansion):
echo BASHISM: tilde plus n: ~+1
possible bashism in bashisms/tilde-expansion.sh line 17 (non-standard tilde expansion):
echo BASHISM: tilde implicit plus n: ~1
possible bashism in bashisms/tilde-expansion.sh line 18 (non-standard tilde expansion):
echo BASHISM: tilde minus n: ~-1
possible bashism in bashisms/tilde-expansion.sh line 20 (non-standard tilde expansion):
echo BASHISM: tilde plus 10: ~+10
possible bashism in bashisms/tilde-expansion.sh line 21 (non-standard tilde expansion):
echo BASHISM: tilde implicit plus 10: ~10
possible bashism in bashisms/tilde-expansion.sh line 22 (non-standard tilde expansion):
echo BASHISM: tilde minus 10: ~-10
possible bashism in bashisms/tilde-expansion.sh line 24 (non-standard tilde expansion):
echo BASHISM=~-/bin
possible bashism in bashisms/tilde-expansion.sh line 25 (non-standard tilde expansion):
echo BASHISM=/:~+/bin/
possible bashism in bashisms/tilde-expansion.sh line 26 (non-standard tilde expansion):
BASHISM=~-/bin ; echo $BASHISM
possible bashism in bashisms/tilde-expansion.sh line 27 (non-standard tilde expansion):
BASHISM=/:~+/bin/ ; echo $BASHISM

17
test/bashisms/traps.sh Normal file
View file

@ -0,0 +1,17 @@
#!/bin/sh
trap foo ERR # BASHISM
trap foo RETURN # BASHISM
trap foo DEBUG # BASHISM
trap "echo BASHISM" ERR
trap "echo BASHISM" RETURN
trap "echo BASHISM" DEBUG
foo() {
echo ": dummy function"
}
trap $(foo BASHISM) ERR
trap "$(foo BASHISM)" RETURN
trap "echo $foo BASHISM" DEBUG

View file

@ -0,0 +1,18 @@
possible bashism in bashisms/traps.sh line 3 (trap with ERR|DEBUG|RETURN):
trap foo ERR # BASHISM
possible bashism in bashisms/traps.sh line 4 (trap with ERR|DEBUG|RETURN):
trap foo RETURN # BASHISM
possible bashism in bashisms/traps.sh line 5 (trap with ERR|DEBUG|RETURN):
trap foo DEBUG # BASHISM
possible bashism in bashisms/traps.sh line 7 (trap with ERR|DEBUG|RETURN):
trap "echo BASHISM" ERR
possible bashism in bashisms/traps.sh line 8 (trap with ERR|DEBUG|RETURN):
trap "echo BASHISM" RETURN
possible bashism in bashisms/traps.sh line 9 (trap with ERR|DEBUG|RETURN):
trap "echo BASHISM" DEBUG
possible bashism in bashisms/traps.sh line 15 (trap with ERR|DEBUG|RETURN):
trap $(foo BASHISM) ERR
possible bashism in bashisms/traps.sh line 16 (trap with ERR|DEBUG|RETURN):
trap "$(foo BASHISM)" RETURN
possible bashism in bashisms/traps.sh line 17 (trap with ERR|DEBUG|RETURN):
trap "echo $foo BASHISM" DEBUG

View file

@ -0,0 +1,3 @@
#!/bin/sh
echo BASHISM $_

View file

@ -0,0 +1,2 @@
possible bashism in bashisms/underscore-var.sh line 3 ($_):
echo BASHISM $_

View file

@ -0,0 +1,297 @@
#!/bin/sh
################################################################################
# #
# Copyright (c) 2009 FUJITSU LIMITED #
# #
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Author: Miao Xie <miaox@cn.fujitsu.com> #
# #
################################################################################
cd $LTPROOT/testcases/bin
. ./cpuset_funcs.sh
export TCID="cpuset01"
export TST_TOTAL=97
export TST_COUNT=1
nr_cpus=$NR_CPUS
nr_mems=$N_NODES
cpus_all="$(seq -s, 0 $((nr_cpus-1)))"
mems_all="$(seq -s, 0 $((nr_mems-1)))"
exit_status=0
cfile_name=
# base_op_write_and_test <write_file_name> <write_string> <expect_string>
base_op_write_and_test()
{
local write_file="$1"
local write_string="$2"
local expect_string="$3"
local write_result=
local ret=0
mkdir -p "$(dirname $write_file)" || {
tst_brkm TFAIL "Failed to mkdir -p $(basename $write_file)"
return 1
}
[ "$write_string" = NULL ] && write_string=" "
/bin/echo "$write_string" > "$write_file" 2> $CPUSET_TMP/stderr
ret=$?
write_result="$(cat "$write_file")"
case "$expect_string" in
EMPTY)
test -z "$write_result" -a $ret = 0
ret=$?
;;
WRITE_ERROR)
ret=$((!$ret))
;;
*)
test "$expect_string" = "$write_result" -a $ret = 0
ret=$?
;;
esac
if [ $ret -eq 0 ]; then
tst_resm TPASS "$cfile_name: Get the expected string"
else
tst_resm TFAIL "$cfile_name: Test result - $write_result Expected string - \"$expect_string\""
fi
return $ret
}
base_op_test()
{
setup
if [ $? -ne 0 ]; then
exit_status=1
else
base_op_write_and_test "$@"
if [ $? -ne 0 ]; then
exit_status=1
fi
cleanup
if [ $? -ne 0 ]; then
exit_status=1
fi
fi
: $((TST_COUNT++)) #BASHISM
}
test_cpus()
{
cfile_name="cpus"
while read cpus result
do
base_op_test "$CPUSET/1/cpus" "$cpus" "$result"
done <<- EOF
NULL EMPTY
0 0
$nr_cpus WRITE_ERROR
$cpus_all 0-$((nr_cpus-1))
${cpus_all}$nr_cpus WRITE_ERROR
0,0 0
0-0 0
0-$((nr_cpus-1)) 0-$((nr_cpus-1))
-1 WRITE_ERROR
0-$nr_cpus WRITE_ERROR
0- WRITE_ERROR
0--$((nr_cpus-1)) WRITE_ERROR
0,1-$((nr_cpus-2)),$((nr_cpus-1)) 0-$((nr_cpus-1))
0,1-$((nr_cpus-2)), 0-$((nr_cpus-2))
0AAA WRITE_ERROR
AAA WRITE_ERROR
EOF
# while read cpus result
}
test_mems()
{
cfile_name="mems"
while read mems result
do
base_op_test "$CPUSET/1/mems" "$mems" "$result"
done <<- EOF
NULL EMPTY
0 0
$nr_mems WRITE_ERROR
$mems_all 0-$((nr_mems-1))
${mems_all}$nr_mems WRITE_ERROR
0,0 0
0-0 0
0-$((nr_mems-1)) 0-$((nr_mems-1))
-1 WRITE_ERROR
0-$nr_mems WRITE_ERROR
0- WRITE_ERROR
0--$((nr_mems-1)) WRITE_ERROR
0,1-$((nr_mems-2)),$((nr_mems-1)) 0-$((nr_mems-1))
0,1-$((nr_mems-2)), 0-$((nr_mems-2))
0AAA WRITE_ERROR
AAA WRITE_ERROR
EOF
# while read mems result
}
test_flags()
{
for filename in cpu_exclusive mem_exclusive mem_hardwall \
memory_migrate memory_spread_page memory_spread_slab \
sched_load_balance memory_pressure_enabled
do
cfile_name="$filename"
while read flags result
do
base_op_test "$CPUSET/$filename" "$flags" "$result"
done <<- EOF
NULL 0
0 0
1 1
-1 WRITE_ERROR
A WRITE_ERROR
2 1
EOF
# while read flags, result
done # for filename in flagfiles
}
test_domain()
{
cfile_name="sched_relax_domain_level"
while read domain_level result
do
base_op_test "$CPUSET/sched_relax_domain_level" "$domain_level" "$result"
done <<- EOF
NULL 0
0 0
1 1
2 2
3 3
4 4
5 5
6 WRITE_ERROR
-1 -1
-2 WRITE_ERROR
A WRITE_ERROR
EOF
# while read domain_level result
}
# attach_task_test <cpus> <mems> <expect>
attach_task_test()
{
local cpus=$1
local mems=$2
local expect=$3
local pid=
local ret=
setup
if [ $? -ne 0 ]; then
exit_status=1
cleanup
((TST_COUNT++)) #BASHISM
return
fi
# create sub cpuset
mkdir "$CPUSET/sub_cpuset" > /dev/null
if [ $? -ne 0 ]; then
exit_status=1
cleanup
((TST_COUNT++)) # BASHISM
return
fi
if [ "$cpus" != "NULL" ]; then
echo $cpus > "$CPUSET/sub_cpuset/cpus"
fi
if [ "$mems" != "NULL" ]; then
echo $mems > "$CPUSET/sub_cpuset/mems"
fi
cat /dev/zero > /dev/null &
pid=$!
# attach task into the cpuset group
echo $pid > "$CPUSET/sub_cpuset/tasks" 2> /dev/null
if [ $? -eq $expect ]; then
tst_resm TPASS "Attaching Task Test succeeded!!"
else
tst_resm TFAIL "Attaching Task Test failed!! cpus - \"$cpus\", mems - \"$mems\", Expect - \"$expect\", Fact - \"$ret\". (0 - Attach Success, 1 - Attach Fail)"
exit_status=1
fi
/bin/kill $pid &> /dev/null # BASHISM
cleanup
if [ $? -ne 0 ]; then
exit_status=1
fi
((TST_COUNT++)) # BASHISM
}
test_attach_task()
{
cfile_name="tasks"
while read cpus mems expect
do
attach_task_test "$cpus" "$mems" "$expect"
done <<- EOF
0 NULL 1
0 0 0
NULL 0 1
EOF
# while read cpus mems expect
}
test_readonly_cfiles()
{
for filename in cpus mems memory_pressure
do
cfile_name="$filename(READONLY)"
base_op_test "$CPUSET/$filename" "0" "WRITE_ERROR"
done # for filename in readonly cfiles
}
# Case 1-3
test_readonly_cfiles
# Case 4-19
test_cpus
# Case 20-35
test_mems
# Case 36-83
test_flags
# Case 84-94
test_domain
# Case 95-97
test_attach_task
exit $exit_status

View file

@ -0,0 +1,10 @@
possible bashism in bashisms/unknown-fns.sh line 100 ('$((n++))' should be '$n; $((n=n+1))'):
: $((TST_COUNT++)) #BASHISM
possible bashism in bashisms/unknown-fns.sh line 215 ('((' should be '$(('):
((TST_COUNT++)) #BASHISM
possible bashism in bashisms/unknown-fns.sh line 224 ('((' should be '$(('):
((TST_COUNT++)) # BASHISM
possible bashism in bashisms/unknown-fns.sh line 247 (should be >word 2>&1):
/bin/kill $pid &> /dev/null # BASHISM
possible bashism in bashisms/unknown-fns.sh line 252 ('((' should be '$(('):
((TST_COUNT++)) # BASHISM

View file

@ -0,0 +1,5 @@
#!/bin/sh
CLEAN="'("'"c"'")'"
echo "foo
bar"

View file

@ -0,0 +1,5 @@
#!/bin/sh
CLEAN="("'"c"'")"
echo "foo
bar"

185
test/dd-list/sources Normal file
View file

@ -0,0 +1,185 @@
Package: vim
Binary: vim-common, vim-gui-common, vim-runtime, vim-doc, vim-tiny, vim, vim-dbg, vim-gtk, vim-nox, vim-athena, vim-lesstif, vim-gnome
Version: 2:7.3.429-2
Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
Uploaders: James McCoy <jamessan@debian.org>
Build-Depends: libacl1-dev, libgpmg1-dev [linux-any], debhelper (>= 7.2.3~), libtinfo-dev | libncurses5-dev, libselinux1-dev [linux-any], dpkg-dev (>= 1.15.1), libgtk2.0-dev, libxaw7-dev, libxt-dev, libxpm-dev, libgnomeui-dev [!m68k], libperl-dev, tcl-dev, python-dev, ruby1.8, ruby1.8-dev, lua5.1, liblua5.1-dev
Build-Depends-Indep: docbook-xml, docbook-utils
Architecture: any all
Standards-Version: 3.9.2.0
Format: 3.0 (quilt)
Files:
c02fea331371614ac4ca4360e6fff789 1998 vim_7.3.429-2.dsc
5e1b68e1d716e3e8a07775e7987b08c2 11009709 vim_7.3.429.orig.tar.gz
6f58c13344d6cfbd3f62a2beb6c4147a 190039 vim_7.3.429-2.debian.tar.gz
Vcs-Browser: http://hg.debian.org/hg/pkg-vim/vim
Vcs-Hg: http://hg.debian.org/hg/pkg-vim/vim
Checksums-Sha1:
a0dbb9cae1d926e6133c1293e8897570fa640eea 1998 vim_7.3.429-2.dsc
984a42ad7f7e17c2e7543d1587e1f95500862587 11009709 vim_7.3.429.orig.tar.gz
bfe717bd260687098b230dcfa988d006662298a7 190039 vim_7.3.429-2.debian.tar.gz
Checksums-Sha256:
dd4999aebb61e5c552b0495a155c25bc880da0bfd00a57db861890870dc1a693 1998 vim_7.3.429-2.dsc
998bf2823a494d092b7c674d8499e2f94022fcac2ee7512a44a4d8b9409db077 11009709 vim_7.3.429.orig.tar.gz
ac3f78bfc56b8420de2d415c2288829abc5779305efd4a95079d4b5d2c960ae8 190039 vim_7.3.429-2.debian.tar.gz
Homepage: http://www.vim.org/
Directory: pool/main/v/vim
Priority: source
Section: editors
Package: bzip2
Binary: libbz2-1.0, libbz2-dev, bzip2, bzip2-doc
Version: 1.0.6-7
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
Uploaders: Santiago Ruano Rincón <santiago@debian.org>, Jorge Ernesto Guevara Cuenca <jguevara@debiancolombia.org>
Build-Depends: gcc-multilib [amd64 i386 kfreebsd-amd64 powerpc ppc64 s390 sparc] | gcc-4.1 (<< 4.1.2) [amd64 i386 kfreebsd-amd64 powerpc ppc64 s390 sparc], dpkg-dev (>= 1.16.0), debhelper (>= 9), dh-exec
Build-Depends-Indep: texinfo
Architecture: any all
Standards-Version: 3.9.5
Format: 3.0 (quilt)
Files:
d4850752a3386592ae416b3fd6fc2c3a 2261 bzip2_1.0.6-7.dsc
2a1df12bd405cc86790291797673753c 708737 bzip2_1.0.6.orig.tar.bz2
3bc252d3eb0a16a4f5950fac8deb7bb1 59542 bzip2_1.0.6-7.debian.tar.bz2
Vcs-Browser: http://git.debian.org/?p=collab-maint/bzip2.git
Vcs-Git: git://git.debian.org/collab-maint/bzip2.git
Checksums-Sha1:
f970fefd8f7cb4a02ec74d3ecc21c31068201b5c 2261 bzip2_1.0.6-7.dsc
3725a0554fa6bb654ef2728fef36bc06aed4e388 708737 bzip2_1.0.6.orig.tar.bz2
e5169afbee8f9ee603c253e03421364819a14c12 59542 bzip2_1.0.6-7.debian.tar.bz2
Checksums-Sha256:
098b7e38d1d634fc361847602bf85753dadeca121b9531f6dba2614b16e0637c 2261 bzip2_1.0.6-7.dsc
d70a9ccd8bdf47e302d96c69fecd54925f45d9c7b966bb4ef5f56b770960afa7 708737 bzip2_1.0.6.orig.tar.bz2
17e030ccb2908d15553c1510869e09d8ef41b5f8e72c7c65d1d5503396a5bd3a 59542 bzip2_1.0.6-7.debian.tar.bz2
Homepage: http://www.bzip.org/
Package-List:
bzip2 deb utils standard arch=any
bzip2-doc deb doc optional arch=all
libbz2-1.0 deb libs important arch=any
libbz2-dev deb libdevel optional arch=any
Extra-Source-Only: yes
Directory: pool/main/b/bzip2
Priority: source
Section: utils
Package: bzip2
Binary: libbz2-1.0, libbz2-dev, bzip2, bzip2-doc
Version: 1.0.6-8
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
Uploaders: Santiago Ruano Rincón <santiago@debian.org>
Build-Depends: dpkg-dev (>= 1.16.0), debhelper (>= 9), dh-exec
Build-Depends-Indep: texinfo
Architecture: any all
Standards-Version: 3.9.6
Format: 3.0 (quilt)
Files:
7709d3c0a7715bf4f61cc74adc10ee5a 2042 bzip2_1.0.6-8.dsc
2a1df12bd405cc86790291797673753c 708737 bzip2_1.0.6.orig.tar.bz2
72b1174a04f96b62c1f50391c8f41488 59494 bzip2_1.0.6-8.debian.tar.bz2
Vcs-Browser: http://git.debian.org/?p=collab-maint/bzip2.git
Vcs-Git: git://git.debian.org/collab-maint/bzip2.git
Checksums-Sha1:
8bb35859d49d012e1464db621e740e1702a5ad14 2042 bzip2_1.0.6-8.dsc
3725a0554fa6bb654ef2728fef36bc06aed4e388 708737 bzip2_1.0.6.orig.tar.bz2
78c527bdc6eb5727b79d401ebf3ddf2b175af91f 59494 bzip2_1.0.6-8.debian.tar.bz2
Checksums-Sha256:
46df0e8112487065532829f2340ffd6ca64d46b6ab01b0000694751d3e67fb11 2042 bzip2_1.0.6-8.dsc
d70a9ccd8bdf47e302d96c69fecd54925f45d9c7b966bb4ef5f56b770960afa7 708737 bzip2_1.0.6.orig.tar.bz2
60fe87fd3942c385e5921786255a27daf9a962ebc7301a60dfd8d1e1a5c8ce78 59494 bzip2_1.0.6-8.debian.tar.bz2
Homepage: http://www.bzip.org/
Package-List:
bzip2 deb utils standard arch=any
bzip2-doc deb doc optional arch=all
libbz2-1.0 deb libs important arch=any
libbz2-dev deb libdevel optional arch=any
Directory: pool/main/b/bzip2
Priority: source
Section: utils
Package: subversion
Binary: subversion, subversion-dbg, libsvn1, libsvn-dev, libsvn-doc, libapache2-mod-svn, libapache2-svn, python-subversion, subversion-tools, libsvn-java, libsvn-perl, ruby-svn, libsvn-ruby1.8
Version: 1.8.13-1
Maintainer: Peter Samuelson <peter@p12n.org>
Uploaders: Troy Heber <troyh@debian.org>, James McCoy <jamessan@debian.org>
Build-Depends: debhelper (>= 8), libserf-dev (>= 1.2), zlib1g-dev, libapr1-dev, libaprutil1-dev, libdb5.3-dev, libsasl2-dev, apache2-dev, dh-apache2, libsqlite3-dev (>= 3.7.12), libgnome-keyring-dev, libdbus-1-dev, kdelibs5-dev, quilt, doxygen, autotools-dev, autoconf, libtool-bin, swig, python-all-dev, perl, libperl-dev, ruby, ruby-dev, default-jdk, junit
Build-Conflicts: libsvn-dev (<< 1.8~), ruby-test-unit
Architecture: any all
Standards-Version: 3.9.5
Format: 1.0
Files:
4b08c636bc2c67f22cce2f27f04e4bba 3105 subversion_1.8.13-1.dsc
8065b3698d799507fb72dd7926ed32b6 9326793 subversion_1.8.13.orig.tar.gz
4e2ea3b225f551ec470796203bd14803 270351 subversion_1.8.13-1.diff.gz
Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-subversion/src/1.8.x/
Vcs-Svn: svn://anonscm.debian.org/pkg-subversion/src/1.8.x/
Checksums-Sha1:
80a8c73f36c57d476989d949f31cf1504631e5fb 3105 subversion_1.8.13-1.dsc
437cf662b7ed27d2254aa7ca334fdd74b49262ef 9326793 subversion_1.8.13.orig.tar.gz
be7fdefbc914b305c38698897f2d061b93942b79 270351 subversion_1.8.13-1.diff.gz
Checksums-Sha256:
26fb93f8adf42cf1bc3afae7890a4bbfff32d860dcb805eb20d8013bffe3e063 3105 subversion_1.8.13-1.dsc
17e8900a877ac9f0d5ef437c20df437fec4eb2c5cb9882609d2277e2312da52c 9326793 subversion_1.8.13.orig.tar.gz
7cf687a60566f4f41ea70f6e028253880ea0d2b52d6dead5ba99c9e298a8245d 270351 subversion_1.8.13-1.diff.gz
Homepage: http://subversion.apache.org/
Package-List:
libapache2-mod-svn deb httpd optional arch=any
libapache2-svn deb oldlibs extra arch=all
libsvn-dev deb libdevel extra arch=any
libsvn-doc deb doc extra arch=all
libsvn-java deb java optional arch=any
libsvn-perl deb perl optional arch=any
libsvn-ruby1.8 deb oldlibs extra arch=all
libsvn1 deb libs optional arch=any
python-subversion deb python optional arch=any
ruby-svn deb ruby optional arch=any
subversion deb vcs optional arch=any
subversion-dbg deb debug extra arch=any
subversion-tools deb vcs extra arch=any
Testsuite: autopkgtest
Directory: pool/main/s/subversion
Priority: source
Section: vcs
Package: subversion
Binary: subversion, subversion-dbg, libsvn1, libsvn-dev, libsvn-doc, libapache2-mod-svn, libapache2-svn, python-subversion, subversion-tools, libsvn-java, libsvn-perl, ruby-svn, libsvn-ruby1.8
Version: 1.9.2-1
Maintainer: Peter Samuelson <peter@p12n.org>
Uploaders: James McCoy <jamessan@debian.org>
Build-Depends: apache2-dev (>= 2.4.16), autoconf, autotools-dev, bash-completion, debhelper (>= 8), default-jdk (>= 2:1.6) [!hurd-i386 !kfreebsd-amd64 !kfreebsd-i386 !hppa !m68k !sparc !sparc64], dh-apache2, dh-python, doxygen, junit [!hurd-i386 !kfreebsd-amd64 !kfreebsd-i386 !hppa !m68k !sparc !sparc64], kdelibs5-dev, libapr1-dev, libaprutil1-dev, libdb5.3-dev, libdbus-1-dev, libgnome-keyring-dev, libperl-dev, libsasl2-dev, libserf-dev (>= 1.3.4), libsqlite3-dev (>= 3.7.12), libtool, perl, python-all-dev (>= 2.7), quilt, ruby, ruby-dev, swig, zlib1g-dev
Build-Conflicts: libsvn-dev (<< 1.9~)
Architecture: any all
Standards-Version: 3.9.5
Format: 1.0
Files:
ead24ca2537b45470a38ff0c568f371b 3259 subversion_1.9.2-1.dsc
c3f4a2d2f21c565617e97f7640c3c81d 10625378 subversion_1.9.2.orig.tar.gz
939a431c1f383a8b93a38c05982c32d8 2418695 subversion_1.9.2-1.diff.gz
Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-subversion/src/1.9.x/
Vcs-Svn: svn://anonscm.debian.org/pkg-subversion/src/1.9.x/
Checksums-Sha1:
48a7fc952190b738f307e85fb87737f173d49dd4 3259 subversion_1.9.2-1.dsc
4c57828c07d21b4777a058f0d3dc973652d18ce9 10625378 subversion_1.9.2.orig.tar.gz
aa869fff7dc7116fd4dafc344cd21ca52bbe00c5 2418695 subversion_1.9.2-1.diff.gz
Checksums-Sha256:
0020561afd37b3cf20661c7e5da23fde210a1cc70ddfd679604216bb0cb368e4 3259 subversion_1.9.2-1.dsc
6fe6ef49114e9ca2942063e339ce886078612c4e6cc58f268a2ff4db4cf0cf19 10625378 subversion_1.9.2.orig.tar.gz
8deef11131ab873821696e83a1bc2fd175773f52fb8619257073896fdb200187 2418695 subversion_1.9.2-1.diff.gz
Homepage: http://subversion.apache.org/
Package-List:
libapache2-mod-svn deb httpd optional arch=any
libapache2-svn deb oldlibs extra arch=all
libsvn-dev deb libdevel extra arch=any
libsvn-doc deb doc extra arch=all
libsvn-java deb java optional arch=any
libsvn-perl deb perl optional arch=any
libsvn-ruby1.8 deb oldlibs extra arch=all
libsvn1 deb libs optional arch=any
python-subversion deb python optional arch=any
ruby-svn deb ruby optional arch=any
subversion deb vcs optional arch=any
subversion-dbg deb debug extra arch=any
subversion-tools deb vcs extra arch=any
Testsuite: autopkgtest
Directory: pool/main/s/subversion
Priority: source
Section: vcs

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,5 @@
reproducible (0.1.0~FIXME-1) UNRELEASED; urgency=medium
* Initial release (Closes: #nnnn)
-- Antonio Terceiro <terceiro@debian.org> Thu, 19 Apr 2018 17:33:39 -0300

View file

@ -0,0 +1 @@
11

View file

@ -0,0 +1,15 @@
Source: reproducible
Section: FIXME
Priority: optional
Maintainer: Antonio Terceiro <terceiro@debian.org>
Build-Depends: debhelper (>= 11~),
Standards-Version: 4.1.3
Rules-Requires-Root: no
Homepage: FIXME
Package: reproducible
Architecture: all
Depends: ${misc:Depends},
${shlibs:Depends}
Description: FIXME
<insert long description, indented with spaces>

View file

@ -0,0 +1,4 @@
#!/usr/bin/make -f
%:
dh $@

View file

@ -0,0 +1 @@
3.0 (native)

View file

@ -0,0 +1,5 @@
unreproducible (0.1.0~FIXME-1) UNRELEASED; urgency=medium
* Initial release (Closes: #nnnn)
-- Antonio Terceiro <terceiro@debian.org> Thu, 19 Apr 2018 17:33:39 -0300

View file

@ -0,0 +1 @@
11

View file

@ -0,0 +1,15 @@
Source: unreproducible
Section: FIXME
Priority: optional
Maintainer: Antonio Terceiro <terceiro@debian.org>
Build-Depends: debhelper (>= 11~),
Standards-Version: 4.1.3
Rules-Requires-Root: no
Homepage: FIXME
Package: reproducible
Architecture: all
Depends: ${misc:Depends},
${shlibs:Depends}
Description: FIXME
<insert long description, indented with spaces>

View file

@ -0,0 +1,9 @@
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_install:
dh_auto_install
date > foo
dh_install foo /usr/share/

View file

@ -0,0 +1 @@
3.0 (native)

View file

@ -0,0 +1,106 @@
-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v1
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
2g==
=nZ3G
-----END PGP PRIVATE KEY BLOCK-----

View file

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
JNiVXVd4YHiwJdo=
=GzOB
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -0,0 +1,29 @@
Format: 3.0 (quilt)
Source: sphinx
Binary: python3-sphinx, sphinx-common, sphinx-doc, libjs-sphinxdoc
Architecture: all
Version: 5.3.0-4
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Uploaders: Dmitry Shachnev <mitya57@debian.org>
Homepage: https://www.sphinx-doc.org/
Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/python-team/packages/sphinx
Vcs-Git: https://salsa.debian.org/python-team/packages/sphinx.git
Testsuite: autopkgtest
Testsuite-Triggers: dvipng, fonts-freefont-otf, gir1.2-webkit-6.0, graphviz, imagemagick-6.q16, librsvg2-bin, python3-all, python3-gi, python3-html5lib, python3-pytest, python3-setuptools, python3-sphinxcontrib.websupport, python3-sqlalchemy, python3-whoosh, python3-xapian, tex-gyre, texinfo, texlive-fonts-recommended, texlive-latex-extra, texlive-luatex, texlive-xetex, xauth, xvfb
Build-Depends: debhelper-compat (= 13)
Build-Depends-Indep: dh-python (>= 3.20180313~), dpkg-dev (>= 1.17.14), dvipng, flit (>= 3.7), fonts-freefont-otf, graphviz, imagemagick-6.q16, libjs-jquery (>= 1.4), libjs-underscore, libjson-perl <!nodoc>, librsvg2-bin, perl, pybuild-plugin-pyproject, python-requests-doc <!nodoc>, python3-alabaster (>= 0.7), python3-all (>= 3.3.3-1~), python3-babel (>= 1.3), python3-doc <!nodoc>, python3-docutils (>= 0.14), python3-html5lib, python3-imagesize, python3-jinja2 (>= 2.3), python3-lib2to3, python3-packaging, python3-pygments (>= 2.13), python3-pytest, python3-requests (>= 2.5.0), python3-setuptools, python3-snowballstemmer (>= 1.1), python3-sphinxcontrib.websupport <!nodoc>, tex-gyre, texinfo, texlive-fonts-recommended, texlive-latex-extra, texlive-latex-recommended, texlive-luatex, texlive-xetex
Package-List:
libjs-sphinxdoc deb javascript optional arch=all
python3-sphinx deb python optional arch=all
sphinx-common deb python optional arch=all
sphinx-doc deb doc optional arch=all profile=!nodoc
Checksums-Sha1:
5f3f8f97b4b8a9f59c8bf2b7b1d2ff294c0a65af 6823676 sphinx_5.3.0.orig.tar.gz
001d755237dfa5e0c746ff0227b81c2af8a40da1 43816 sphinx_5.3.0-4.debian.tar.xz
Checksums-Sha256:
27655e5bb08ffc22bf9fbdc1df818da4012ca10a9c37f68f09fd674f03825f43 6823676 sphinx_5.3.0.orig.tar.gz
d11a31e0516d32ddf11f424eb4b84d3b56565109762c22c51a81e68bd40d6488 43816 sphinx_5.3.0-4.debian.tar.xz
Files:
752d116a6d4d5dea6c84952869378509 6823676 sphinx_5.3.0.orig.tar.gz
020c8e9dce1b287ca1a57bcd75af9b6b 43816 sphinx_5.3.0-4.debian.tar.xz

View file

@ -0,0 +1,406 @@
Format: 1.0
Source: sphinx
Binary: libjs-sphinxdoc python3-sphinx sphinx-common sphinx-doc
Architecture: all source
Version: 5.3.0-4
Checksums-Md5:
401936f96a708314cc4ff6d896f82bac 2431 sphinx_5.3.0-4.dsc
22a4a2edaaefa64e0ff73359329f4976 130368 libjs-sphinxdoc_5.3.0-4_all.deb
4b7f0edcc12d655f6b52c8d9aeb0cded 549392 python3-sphinx_5.3.0-4_all.deb
5e9362a2890257dbab4820178b152d0a 652072 sphinx-common_5.3.0-4_all.deb
f5a42ff0f9ec949fce3ab7031b0f0a95 2307440 sphinx-doc_5.3.0-4_all.deb
Checksums-Sha1:
beaef97ce1da6f6a1ffc826ddea26d57f79cf8e8 2431 sphinx_5.3.0-4.dsc
34b4706e57feb6485dfc3a2690fc3826645a0cce 130368 libjs-sphinxdoc_5.3.0-4_all.deb
f3b7fd64aa9bfab5acf009106618610d6251f346 549392 python3-sphinx_5.3.0-4_all.deb
4a59d0d6bc5e192f257be0a1873af1e3af5f1d8e 652072 sphinx-common_5.3.0-4_all.deb
3a942a38757035ee8610b976284669be2af98d66 2307440 sphinx-doc_5.3.0-4_all.deb
Checksums-Sha256:
d52b32249a7c99e96ac2cb1079de4ef7dc95d45c88934ec283bfff3d2dc28d43 2431 sphinx_5.3.0-4.dsc
ce0537651e3ae7926ed6c650665374582860e3cd74631c00381523d420ab036a 130368 libjs-sphinxdoc_5.3.0-4_all.deb
4104a978e848cefabea38b7c7e41dd2eea491be9828f26767d5a64b93767a175 549392 python3-sphinx_5.3.0-4_all.deb
fe11fe8f0fd3c909118894371dc4d6dd3d11079233d836ac0583de1f3657f398 652072 sphinx-common_5.3.0-4_all.deb
0b87f3123f950118ceb2eaf27d49bbbd1aedcd397602fd0a4f65cbfbc2372740 2307440 sphinx-doc_5.3.0-4_all.deb
Build-Origin: Debian
Build-Architecture: amd64
Build-Date: Mon, 14 Apr 2025 12:57:21 +0000
Build-Tainted-By:
merged-usr-via-aliased-dirs
Installed-Build-Depends:
autoconf (= 2.71-3),
automake (= 1:1.16.5-1.3),
autopoint (= 0.21-12),
autotools-dev (= 20220109.1),
base-files (= 12.4+deb12u10),
base-passwd (= 3.6.1),
bash (= 5.2.15-2+b7),
binutils (= 2.40-2),
binutils-common (= 2.40-2),
binutils-x86-64-linux-gnu (= 2.40-2),
bsdextrautils (= 2.38.1-5+deb12u3),
bsdutils (= 1:2.38.1-5+deb12u3),
build-essential (= 12.9),
bzip2 (= 1.0.8-5+b1),
ca-certificates (= 20230311),
coreutils (= 9.1-1),
cpp (= 4:12.2.0-3),
cpp-12 (= 12.2.0-14),
dash (= 0.5.12-2),
debconf (= 1.5.82),
debhelper (= 13.11.4),
debianutils (= 5.7-0.5~deb12u1),
dh-autoreconf (= 20),
dh-python (= 5.20230130+deb12u1),
dh-strip-nondeterminism (= 1.13.1-1),
diffutils (= 1:3.8-4),
docutils-common (= 0.19+dfsg-6),
dpkg (= 1.21.22),
dpkg-dev (= 1.21.22),
dvipng (= 1.15-1.1+b1),
dwz (= 0.15-1),
file (= 1:5.44-3),
findutils (= 4.9.0-4),
flit (= 3.8.0-3),
fontconfig (= 2.14.1-4),
fontconfig-config (= 2.14.1-4),
fonts-dejavu-core (= 2.37-6),
fonts-freefont-otf (= 20120503-10),
fonts-lmodern (= 2.005-1),
fonts-urw-base35 (= 20200910-7),
g++ (= 4:12.2.0-3),
g++-12 (= 12.2.0-14),
gcc (= 4:12.2.0-3),
gcc-12 (= 12.2.0-14),
gcc-12-base (= 12.2.0-14),
gettext (= 0.21-12),
gettext-base (= 0.21-12),
ghostscript (= 10.0.0~dfsg-11+deb12u7),
graphviz (= 2.42.2-7+deb12u1),
grep (= 3.8-5),
groff-base (= 1.22.4-10),
gzip (= 1.12-1),
hicolor-icon-theme (= 0.17-2),
hostname (= 3.23+nmu1),
imagemagick-6-common (= 8:6.9.11.60+dfsg-1.6+deb12u2),
imagemagick-6.q16 (= 8:6.9.11.60+dfsg-1.6+deb12u2),
init-system-helpers (= 1.65.2),
intltool-debian (= 0.35.0+20060710.6),
libabsl20220623 (= 20220623.1-1),
libacl1 (= 2.3.1-3),
libann0 (= 1.1.2+doc-9+b1),
libaom3 (= 3.6.0-1+deb12u1),
libapache-pom-java (= 29-2),
libarchive-zip-perl (= 1.68-1),
libasan8 (= 12.2.0-14),
libatomic1 (= 12.2.0-14),
libattr1 (= 1:2.5.1-4),
libaudit-common (= 1:3.0.9-1),
libaudit1 (= 1:3.0.9-1),
libavahi-client3 (= 0.8-10+deb12u1),
libavahi-common-data (= 0.8-10+deb12u1),
libavahi-common3 (= 0.8-10+deb12u1),
libavif15 (= 0.11.1-1),
libbinutils (= 2.40-2),
libblkid1 (= 2.38.1-5+deb12u3),
libbrotli1 (= 1.0.9-2+b6),
libbsd0 (= 0.11.7-2),
libbz2-1.0 (= 1.0.8-5+b1),
libc-bin (= 2.36-9+deb12u10),
libc-dev-bin (= 2.36-9+deb12u10),
libc6 (= 2.36-9+deb12u10),
libc6-dev (= 2.36-9+deb12u10),
libcairo-gobject2 (= 1.16.0-7),
libcairo2 (= 1.16.0-7),
libcap-ng0 (= 0.8.3-1+b3),
libcap2 (= 1:2.66-4),
libcc1-0 (= 12.2.0-14),
libcdt5 (= 2.42.2-7+deb12u1),
libcgraph6 (= 2.42.2-7+deb12u1),
libcom-err2 (= 1.47.0-2),
libcommons-logging-java (= 1.2-3),
libcommons-parent-java (= 56-1),
libcrypt-dev (= 1:4.4.33-2),
libcrypt1 (= 1:4.4.33-2),
libctf-nobfd0 (= 2.40-2),
libctf0 (= 2.40-2),
libcups2 (= 2.4.2-3+deb12u8),
libdatrie1 (= 0.2.13-2+b1),
libdav1d6 (= 1.0.0-2+deb12u1),
libdb5.3 (= 5.3.28+dfsg2-1),
libdbus-1-3 (= 1.14.10-1~deb12u1),
libde265-0 (= 1.0.11-1+deb12u2),
libdebconfclient0 (= 0.270),
libdebhelper-perl (= 13.11.4),
libdeflate0 (= 1.14-1),
libdpkg-perl (= 1.21.22),
libelf1 (= 0.188-2.1),
libexpat1 (= 2.5.0-1+deb12u1),
libffi8 (= 3.4.4-1),
libfftw3-double3 (= 3.3.10-1),
libfile-stripnondeterminism-perl (= 1.13.1-1),
libfontbox-java (= 1:1.8.16-2),
libfontconfig1 (= 2.14.1-4),
libfontenc1 (= 1:1.1.4-1),
libfreetype6 (= 2.12.1+dfsg-5+deb12u4),
libfribidi0 (= 1.0.8-2.1),
libgav1-1 (= 0.18.0-1+b1),
libgcc-12-dev (= 12.2.0-14),
libgcc-s1 (= 12.2.0-14),
libgcrypt20 (= 1.10.1-3),
libgd3 (= 2.3.3-9),
libgdbm-compat4 (= 1.23-3),
libgdbm6 (= 1.23-3),
libgdk-pixbuf-2.0-0 (= 2.42.10+dfsg-1+deb12u1),
libgdk-pixbuf2.0-common (= 2.42.10+dfsg-1+deb12u1),
libglib2.0-0 (= 2.74.6-2+deb12u5),
libgmp10 (= 2:6.2.1+dfsg1-1.1),
libgnutls30 (= 3.7.9-2+deb12u4),
libgomp1 (= 12.2.0-14),
libgpg-error0 (= 1.46-1),
libgprofng0 (= 2.40-2),
libgraphite2-3 (= 1.3.14-1),
libgs-common (= 10.0.0~dfsg-11+deb12u7),
libgs10 (= 10.0.0~dfsg-11+deb12u7),
libgs10-common (= 10.0.0~dfsg-11+deb12u7),
libgssapi-krb5-2 (= 1.20.1-2+deb12u2),
libgts-0.7-5 (= 0.7.6+darcs121130-5+b1),
libgvc6 (= 2.42.2-7+deb12u1),
libgvpr2 (= 2.42.2-7+deb12u1),
libharfbuzz0b (= 6.0.0+dfsg-3),
libheif1 (= 1.15.1-1+deb12u1),
libhogweed6 (= 3.8.1-2),
libice6 (= 2:1.0.10-1),
libicu72 (= 72.1-3),
libidn12 (= 1.41-1),
libidn2-0 (= 2.3.3-1+b1),
libijs-0.35 (= 0.35-15),
libisl23 (= 0.25-1.1),
libitm1 (= 12.2.0-14),
libjansson4 (= 2.14-2),
libjbig0 (= 2.1-6.1),
libjbig2dec0 (= 0.19-3),
libjpeg62-turbo (= 1:2.1.5-2),
libjs-jquery (= 3.6.1+dfsg+~3.5.14-1),
libjs-sphinxdoc (= 5.3.0-4),
libjs-underscore (= 1.13.4~dfsg+~1.11.4-3),
libjson-perl (= 4.10000-1),
libk5crypto3 (= 1.20.1-2+deb12u2),
libkeyutils1 (= 1.6.3-2),
libkpathsea6 (= 2022.20220321.62855-5.1+deb12u2),
libkrb5-3 (= 1.20.1-2+deb12u2),
libkrb5support0 (= 1.20.1-2+deb12u2),
liblab-gamut1 (= 2.42.2-7+deb12u1),
liblcms2-2 (= 2.14-2),
liblerc4 (= 4.0.0+ds-2),
liblqr-1-0 (= 0.4.2-2.1),
liblsan0 (= 12.2.0-14),
libltdl7 (= 2.4.7-7~deb12u1),
liblz4-1 (= 1.9.4-1),
liblzma5 (= 5.4.1-1),
libmagic-mgc (= 1:5.44-3),
libmagic1 (= 1:5.44-3),
libmagickcore-6.q16-6 (= 8:6.9.11.60+dfsg-1.6+deb12u2),
libmagickwand-6.q16-6 (= 8:6.9.11.60+dfsg-1.6+deb12u2),
libmd0 (= 1.0.4-2),
libmount1 (= 2.38.1-5+deb12u3),
libmpc3 (= 1.3.1-1),
libmpfr6 (= 4.2.0-1),
libncursesw6 (= 6.4-4),
libnettle8 (= 3.8.1-2),
libnsl-dev (= 1.3.0-2),
libnsl2 (= 1.3.0-2),
libnuma1 (= 2.0.16-1),
libopenjp2-7 (= 2.5.0-2+deb12u1),
libp11-kit0 (= 0.24.1-2),
libpam-modules (= 1.5.2-6+deb12u1),
libpam-modules-bin (= 1.5.2-6+deb12u1),
libpam-runtime (= 1.5.2-6+deb12u1),
libpam0g (= 1.5.2-6+deb12u1),
libpango-1.0-0 (= 1.50.12+ds-1),
libpangocairo-1.0-0 (= 1.50.12+ds-1),
libpangoft2-1.0-0 (= 1.50.12+ds-1),
libpaper-utils (= 1.1.29),
libpaper1 (= 1.1.29),
libpathplan4 (= 2.42.2-7+deb12u1),
libpcre2-8-0 (= 10.42-1),
libpdfbox-java (= 1:1.8.16-2),
libperl5.36 (= 5.36.0-7+deb12u2),
libpipeline1 (= 1.5.7-1),
libpixman-1-0 (= 0.42.2-1),
libpng16-16 (= 1.6.39-2),
libptexenc1 (= 2022.20220321.62855-5.1+deb12u2),
libpython3-stdlib (= 3.11.2-1+b1),
libpython3.11-minimal (= 3.11.2-6+deb12u5),
libpython3.11-stdlib (= 3.11.2-6+deb12u5),
libquadmath0 (= 12.2.0-14),
librav1e0 (= 0.5.1-6),
libreadline8 (= 8.2-1.3),
librsvg2-2 (= 2.54.7+dfsg-1~deb12u1),
librsvg2-bin (= 2.54.7+dfsg-1~deb12u1),
libseccomp2 (= 2.5.4-1+deb12u1),
libselinux1 (= 3.4-1+b6),
libsm6 (= 2:1.2.3-1),
libsmartcols1 (= 2.38.1-5+deb12u3),
libsqlite3-0 (= 3.40.1-2+deb12u1),
libssl3 (= 3.0.15-1~deb12u1),
libstdc++-12-dev (= 12.2.0-14),
libstdc++6 (= 12.2.0-14),
libsub-override-perl (= 0.09-4),
libsvtav1enc1 (= 1.4.1+dfsg-1),
libsynctex2 (= 2022.20220321.62855-5.1+deb12u2),
libsystemd0 (= 252.36-1~deb12u1),
libtasn1-6 (= 4.19.0-2+deb12u1),
libteckit0 (= 2.5.11+ds1-1+b1),
libtexlua53-5 (= 2022.20220321.62855-5.1+deb12u2),
libtexluajit2 (= 2022.20220321.62855-5.1+deb12u2),
libtext-unidecode-perl (= 1.30-3),
libthai-data (= 0.1.29-1),
libthai0 (= 0.1.29-1),
libtiff6 (= 4.5.0-6+deb12u2),
libtinfo6 (= 6.4-4),
libtirpc-common (= 1.3.3+ds-1),
libtirpc-dev (= 1.3.3+ds-1),
libtirpc3 (= 1.3.3+ds-1),
libtool (= 2.4.7-7~deb12u1),
libtsan2 (= 12.2.0-14),
libubsan1 (= 12.2.0-14),
libuchardet0 (= 0.0.7-1),
libudev1 (= 252.36-1~deb12u1),
libunistring2 (= 1.0-2),
libuuid1 (= 2.38.1-5+deb12u3),
libwebp7 (= 1.2.4-0.2+deb12u1),
libwebpdemux2 (= 1.2.4-0.2+deb12u1),
libwebpmux3 (= 1.2.4-0.2+deb12u1),
libx11-6 (= 2:1.8.4-2+deb12u2),
libx11-data (= 2:1.8.4-2+deb12u2),
libx265-199 (= 3.5-2+b1),
libxau6 (= 1:1.0.9-1),
libxaw7 (= 2:1.0.14-1),
libxcb-render0 (= 1.15-1),
libxcb-shm0 (= 1.15-1),
libxcb1 (= 1.15-1),
libxdmcp6 (= 1:1.1.2-3),
libxext6 (= 2:1.3.4-1+b1),
libxi6 (= 2:1.8-1+b1),
libxml-libxml-perl (= 2.0207+dfsg+really+2.0134-1+b1),
libxml-namespacesupport-perl (= 1.12-2),
libxml-sax-base-perl (= 1.09-3),
libxml-sax-perl (= 1.02+dfsg-3),
libxml2 (= 2.9.14+dfsg-1.3~deb12u1),
libxmu6 (= 2:1.1.3-3),
libxpm4 (= 1:3.5.12-1.1+deb12u1),
libxrender1 (= 1:0.9.10-1.1),
libxt6 (= 1:1.2.1-1.1),
libyuv0 (= 0.0~git20230123.b2528b0-1),
libzstd1 (= 1.5.4+dfsg2-5),
libzzip-0-13 (= 0.13.72+dfsg.1-1.1),
linux-libc-dev (= 6.1.133-1),
lmodern (= 2.005-1),
login (= 1:4.13+dfsg1-1+b1),
m4 (= 1.4.19-3),
make (= 4.3-4.1),
man-db (= 2.11.2-2),
mawk (= 1.3.4.20200120-3.1),
media-types (= 10.0.0),
ncurses-base (= 6.4-4),
ncurses-bin (= 6.4-4),
openssl (= 3.0.15-1~deb12u1),
patch (= 2.7.6-7),
perl (= 5.36.0-7+deb12u2),
perl-base (= 5.36.0-7+deb12u2),
perl-modules-5.36 (= 5.36.0-7+deb12u2),
po-debconf (= 1.0.21+nmu1),
poppler-data (= 0.4.12-1),
preview-latex-style (= 12.2-1),
pybuild-plugin-pyproject (= 5.20230130+deb12u1),
python-babel-localedata (= 2.10.3-1),
python-requests-doc (= 2.28.1+dfsg-1),
python3 (= 3.11.2-1+b1),
python3-alabaster (= 0.7.12-1),
python3-all (= 3.11.2-1+b1),
python3-attr (= 22.2.0-1),
python3-babel (= 2.10.3-1),
python3-build (= 0.9.0-1),
python3-certifi (= 2022.9.24-1),
python3-chardet (= 5.1.0+dfsg-2),
python3-charset-normalizer (= 3.0.1-2),
python3-distutils (= 3.11.2-3),
python3-doc (= 3.11.2-1),
python3-docutils (= 0.19+dfsg-6),
python3-html5lib (= 1.1-3),
python3-idna (= 3.3-1+deb12u1),
python3-imagesize (= 1.4.1-1),
python3-importlib-metadata (= 4.12.0-1),
python3-iniconfig (= 1.1.1-2),
python3-installer (= 0.6.0+dfsg1-1),
python3-jinja2 (= 3.1.2-1+deb12u2),
python3-lib2to3 (= 3.11.2-3),
python3-markupsafe (= 2.1.2-1+b1),
python3-minimal (= 3.11.2-1+b1),
python3-more-itertools (= 8.10.0-2),
python3-packaging (= 23.0-1),
python3-pep517 (= 0.13.0-2),
python3-pkg-resources (= 66.1.1-1+deb12u1),
python3-pluggy (= 1.0.0+repack-1),
python3-py (= 1.11.0-1),
python3-pygments (= 2.14.0+dfsg-1),
python3-pytest (= 7.2.1-2),
python3-requests (= 2.28.1+dfsg-1),
python3-roman (= 3.3-3),
python3-setuptools (= 66.1.1-1+deb12u1),
python3-six (= 1.16.0-4),
python3-snowballstemmer (= 2.2.0-2),
python3-sphinx (= 5.3.0-4),
python3-sphinxcontrib.serializinghtml (= 1.1.5-2),
python3-sphinxcontrib.websupport (= 1.2.4-2),
python3-toml (= 0.10.2-1),
python3-tomli (= 2.0.1-2),
python3-tomli-w (= 1.0.0-2),
python3-tz (= 2022.7.1-4),
python3-urllib3 (= 1.26.12-1+deb12u1),
python3-webencodings (= 0.5.1-5),
python3-wheel (= 0.38.4-2),
python3-zipp (= 1.0.0-6),
python3.11 (= 3.11.2-6+deb12u5),
python3.11-doc (= 3.11.2-6+deb12u5),
python3.11-minimal (= 3.11.2-6+deb12u5),
readline-common (= 8.2-1.3),
rpcsvc-proto (= 1.4.3-1),
sed (= 4.9-1),
sensible-utils (= 0.0.17+nmu1),
sgml-base (= 1.31),
shared-mime-info (= 2.2-1),
sphinx-common (= 5.3.0-4),
sysvinit-utils (= 3.06-4),
t1utils (= 1.41-4),
tar (= 1.34+dfsg-1.2+deb12u1),
teckit (= 2.5.11+ds1-1+b1),
tex-common (= 6.18),
tex-gyre (= 20180621-6),
texinfo (= 6.8-6+b1),
texlive-base (= 2022.20230122-3),
texlive-binaries (= 2022.20220321.62855-5.1+deb12u2),
texlive-fonts-recommended (= 2022.20230122-3),
texlive-latex-base (= 2022.20230122-3),
texlive-latex-extra (= 2022.20230122-4),
texlive-latex-recommended (= 2022.20230122-3),
texlive-luatex (= 2022.20230122-3),
texlive-pictures (= 2022.20230122-3),
texlive-xetex (= 2022.20230122-3),
tipa (= 2:1.3-21),
tzdata (= 2025b-0+deb12u1),
ucf (= 3.0043+nmu1+deb12u1),
usr-is-merged (= 37~deb12u1),
util-linux (= 2.38.1-5+deb12u3),
util-linux-extra (= 2.38.1-5+deb12u3),
x11-common (= 1:7.7+23),
xdg-utils (= 1.1.3-4.1),
xfonts-encodings (= 1:1.0.4-2.2),
xfonts-utils (= 1:7.7+6),
xml-core (= 0.18+nmu1),
xz-utils (= 5.4.1-1),
zlib1g (= 1:1.2.13.dfsg-1)
Environment:
DEB_BUILD_OPTIONS="parallel=4 nocheck noautodbgsym"
LC_CTYPE="C.UTF-8"
SOURCE_DATE_EPOCH="1680078687"

View file

@ -0,0 +1,54 @@
Format: 1.8
Date: Wed, 29 Mar 2023 11:31:27 +0300
Source: sphinx
Binary: libjs-sphinxdoc python3-sphinx sphinx-common sphinx-doc
Architecture: source all
Version: 5.3.0-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Changed-By: Dmitry Shachnev <mitya57@debian.org>
Description:
libjs-sphinxdoc - JavaScript support for Sphinx documentation
python3-sphinx - documentation generator for Python projects
sphinx-common - documentation generator for Python projects - common data
sphinx-doc - documentation generator for Python projects - documentation
Closes: 1033635
Changes:
sphinx (5.3.0-4) unstable; urgency=medium
.
[ Dmitry Shachnev ]
* Update highlight_search_terms.diff to fix race condition affecting jstest:
- Highlight all occurrences, not just the first one.
- Stop using the old search query from localstorage.
* Port jstest to the new API from webkit2gtk 2.40 (closes: #1033635,
LP: #2013095).
.
[ Jeremy Bicha ]
* Set isolation-machine for sphinx-doc autopkgtest. This is needed for web
process sandbox, which is now mandatory.
* debian/tests/sphinx-doc: Set export GTK_A11Y=none.
Checksums-Sha1:
beaef97ce1da6f6a1ffc826ddea26d57f79cf8e8 2431 sphinx_5.3.0-4.dsc
001d755237dfa5e0c746ff0227b81c2af8a40da1 43816 sphinx_5.3.0-4.debian.tar.xz
34b4706e57feb6485dfc3a2690fc3826645a0cce 130368 libjs-sphinxdoc_5.3.0-4_all.deb
f3b7fd64aa9bfab5acf009106618610d6251f346 549392 python3-sphinx_5.3.0-4_all.deb
4a59d0d6bc5e192f257be0a1873af1e3af5f1d8e 652072 sphinx-common_5.3.0-4_all.deb
3a942a38757035ee8610b976284669be2af98d66 2307440 sphinx-doc_5.3.0-4_all.deb
ff8c780058e0eeebc581c905fef2b0c17d821ca4 13257 sphinx_5.3.0-4_amd64.buildinfo
Checksums-Sha256:
d52b32249a7c99e96ac2cb1079de4ef7dc95d45c88934ec283bfff3d2dc28d43 2431 sphinx_5.3.0-4.dsc
d11a31e0516d32ddf11f424eb4b84d3b56565109762c22c51a81e68bd40d6488 43816 sphinx_5.3.0-4.debian.tar.xz
ce0537651e3ae7926ed6c650665374582860e3cd74631c00381523d420ab036a 130368 libjs-sphinxdoc_5.3.0-4_all.deb
4104a978e848cefabea38b7c7e41dd2eea491be9828f26767d5a64b93767a175 549392 python3-sphinx_5.3.0-4_all.deb
fe11fe8f0fd3c909118894371dc4d6dd3d11079233d836ac0583de1f3657f398 652072 sphinx-common_5.3.0-4_all.deb
0b87f3123f950118ceb2eaf27d49bbbd1aedcd397602fd0a4f65cbfbc2372740 2307440 sphinx-doc_5.3.0-4_all.deb
ff337520a4a86baa2115a56a7315d7fbd84e35fd834cb9eade5ee3f2e5ed2c59 13257 sphinx_5.3.0-4_amd64.buildinfo
Files:
401936f96a708314cc4ff6d896f82bac 2431 python optional sphinx_5.3.0-4.dsc
020c8e9dce1b287ca1a57bcd75af9b6b 43816 python optional sphinx_5.3.0-4.debian.tar.xz
22a4a2edaaefa64e0ff73359329f4976 130368 javascript optional libjs-sphinxdoc_5.3.0-4_all.deb
4b7f0edcc12d655f6b52c8d9aeb0cded 549392 python optional python3-sphinx_5.3.0-4_all.deb
5e9362a2890257dbab4820178b152d0a 652072 python optional sphinx-common_5.3.0-4_all.deb
f5a42ff0f9ec949fce3ab7031b0f0a95 2307440 doc optional sphinx-doc_5.3.0-4_all.deb
ed45e301afc30fd58dd047bb4ef4888a 13257 python optional sphinx_5.3.0-4_amd64.buildinfo

125
test/lib_test_uscan Normal file
View file

@ -0,0 +1,125 @@
#!/bin/bash
# Copyright (C) 2018, Xavier <yadd@debian.org>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 3 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# On Debian systems, the complete text of the GNU General Public License
# version 3 can be found in the /usr/share/common-licenses/GPL-3 file.
echo '======================================================================='
echo "*** uscan $TESTTYPE test ***"
echo '======================================================================='
test_dir=$(readlink -f "${0%/*}")
# Operation mode
if test "${1:-}" = --installed; then
shift
else
top_srcdir=$(readlink -f "${0%/*}/..")
make -C "$top_srcdir/scripts" uscan mk-origtargz uupdate debchange
PATH="$top_srcdir/scripts:$PATH"
export PATH
PERL5LIB="$top_srcdir/lib"
export PERL5LIB
fi
GPGHOME=$(mktemp -d -t gpg.XXXXX)
GPG=gpg
if ! command -v $GPG >/dev/null 2>&1; then
echo "$GPG missing"
exit 1
fi
PRIVATE_KEY=$test_dir/uscan/PRIVATE_KEY.asc
PUBLIC_KEY=$test_dir/uscan/PUBLIC_KEY.asc
PRIVATE_KEYRING=$GPGHOME/secring.gpg
PUBLIC_KEYRING=$GPGHOME/pubring.gpg
# magic function that pipes stdout and stderr into a pipe, and prints it only
# on command failure.
# This uses a pipe, so it has limited capacity. Do not use it with stuff
# outputting too much data.
chronic_sh (){
local pipe pipe_q
pipe=$(mktemp -p "$SHUNIT_TMPDIR" devscripts_chronic_sh.XXXXXXXXXX)
printf -v pipe_q '%q' "$pipe"
trap 'rm -fv '"$pipe_q" RETURN
# one can't open a reading fd and a writing fd without blocking, because
# they want to already have something on the other side of the pipe.
# the temporary fd 5 will be that something.
exec 5<>"$pipe" # hack
exec 3>"$pipe" # writing fd
exec 4<"$pipe" # reading fd
exec 5>&- # end hack
rm "$pipe"
local ret=0
"$@" >&3 2>&3 || ret=$?
if [ "$ret" -ne 0 ] ; then
exec 3>&-
cat <&4-
return $ret
fi
}
oneTimeSetUp () {
chronic_sh $GPG -v --homedir "$GPGHOME" --no-options -q --batch --no-default-keyring \
--output "$PRIVATE_KEYRING" --dearmor "$PRIVATE_KEY"
chronic_sh $GPG -v --homedir "$GPGHOME" --no-options -q --batch --no-default-keyring \
--output "$PUBLIC_KEYRING" --dearmor "$PUBLIC_KEY"
echo "Using test OpenPGP key:"
$GPG --homedir "$GPGHOME" --no-options -q --batch --no-default-keyring \
--default-key CF218F0E7EABF584B7E20402C77E2D6872543FAF \
--list-keys --verbose
export GNUPGHOME=$GPGHOME
}
oneTimeTearDown () {
gpgconf --homedir "$GPGHOME" --verbose --kill gpg-agent
rm -rf "$GPGHOME"
}
spawnHttpServer () {
unset http_proxy
local pid
[ -n "$TEMP_PKG_DIR" ] || fail "unexpected testsuite error"
(
mkdir -p "$TEMP_PKG_DIR"/repo
cd "$TEMP_PKG_DIR"/repo || exit 1
python3 "$test_dir/uscan/httpserver.py" 2>log &
pid=$!
echo "$pid" > pid
while ! [ -s port ]; do
sleep 2s
if ! kill -0 "$pid" 2> /dev/null ; then
echo "The HTTP server returned an error:"
cat log
exit 1
fi
done
)
}
killHttpServer () {
if [ -n "${TEMP_PKG_DIR:-}" ] && [ -f "$TEMP_PKG_DIR/repo/pid" ]; then
local pid
pid=$(< "$TEMP_PKG_DIR/repo/pid")
kill -9 "$pid"
rm -rf "$TEMP_PKG_DIR"
unset TEMP_PKG_DIR
fi
}

2
test/mass-bug/log Normal file
View file

@ -0,0 +1,2 @@
LOG LINE 1
LOG LINE 2

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