These scripts currently produce HTML output that is directly
piped into an HTML file on alioth.
There are three categories. The first two check external
library calls to use the ones specified by POSIX to be
thread-safe. The main profile excludes functions that are
thread-safe on Linux or glibc in general, while the portable
output strictly follows posix.
The internal.html output lists internal function calls, such
as configuration setting.
This is supposed to be automated further at some point, so
we can automatically check for regressions.
--- /dev/null
+git grep -p --color -n -E "$(grep -v ^# thread-check.txt | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \
+ apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/index.html'
+git grep -p --color -n -E "$(grep ^# thread-check.txt | cut -f2 -d# | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \
+ apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/portable.html'
+
+git grep -p --color -n -E "$(grep -v ^# thread-check-internal.txt | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \
+ apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/internal.html'
--- /dev/null
+CndSet()
+Set()
+Clear()
--- /dev/null
+asctime()
+basename()
+catgets()
+crypt()
+ctermid() if passed a non-NULL argument
+ctime()
+dbm_clearerr()
+dbm_close()
+dbm_delete()
+dbm_error()
+dbm_fetch()
+dbm_firstkey()
+dbm_nextkey()
+dbm_open()
+dbm_store()
+dirname()
+dlerror()
+drand48()
+ecvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)]
+encrypt()
+endgrent()
+endpwent()
+endutxent()
+fcvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)]
+ftw()
+gcvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)]
+getc_unlocked()
+getchar_unlocked()
+getdate()
+#getenv()
+getgrent()
+getgrgid()
+getgrnam()
+gethostbyaddr() [POSIX.1-2001 only (function removed in POSIX.1-2008)]
+gethostbyname() [POSIX.1-2001 only (function removed in POSIX.1-2008)]
+gethostent()
+getlogin()
+getnetbyaddr()
+getnetbyname()
+getnetent()
+getopt()
+getprotobyname()
+getprotobynumber()
+getprotoent()
+getpwent()
+getpwnam()
+getpwuid()
+getservbyname()
+getservbyport()
+getservent()
+getutxent()
+getutxid()
+getutxline()
+gmtime()
+hcreate()
+hdestroy()
+hsearch()
+inet_ntoa()
+l64a()
+lgamma()
+lgammaf()
+lgammal()
+localeconv()
+localtime()
+lrand48()
+mrand48()
+nftw()
+#nl_langinfo()
+ptsname()
+putc_unlocked()
+putchar_unlocked()
+putenv()
+pututxline()
+rand()
+#readdir()
+setenv()
+setgrent()
+setkey()
+setpwent()
+setutxent()
+#strerror()
+strsignal() [Added in POSIX.1-2008]
+strtok()
+#system() [Added in POSIX.1-2008]
+tmpnam() if passed a non-NULL argument
+ttyname()
+unsetenv()
+wcrtomb() if its final argument is NULL
+wcsrtombs() if its final argument is NULL
+wcstombs()
+wctomb()