Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a1yv=kNhaHSf61xs9iNPa-XLGQuqBVtxYGtp2-7btUaSA@mail.gmail.com>
Date: Tue, 2 Jul 2019 10:28:51 +0200
From: Arnd Bergmann <arnd@...db.de>
To: musl@...ts.openwall.com
Subject: Re: Revisiting 64-bit time_t

On Tue, Jul 2, 2019 at 12:08 AM Rich Felker <dalias@...c.org> wrote:
> On Mon, Jul 01, 2019 at 11:12:20PM +0200, Arnd Bergmann wrote:
> >
> > There are 4288 packages that provide a file in /usr/include, and out of those,
> > 973 match the regular expression above, see the list at
> >
> > https://pastebin.com/Yu22pLqQ
> >
> > This took a few hours to run and could be done faster by running bits
> > in parallel.
> > I can send you the full output, but it's at 300kb compressed, it's a bit large
> > for the mailing list. The regex also wasn't great, so I'm sure there
> > are lots of false positives and negatives, but its' a start.
>
> OK. That sounds like a lot, but upon looking, a lot of them look like
> "libraries" whose main/sole consumer is a single application. So maybe
> it's not so bad.

I was trying to run 'build-rdeps' on each one to see how many packages
actually depend on them, but I could not get that working (I always
get an error "build-rdeps: unable to find sources files." but can't figure
out which file it is missing).

I would expect a distribution in which a few packages (e.g. libc) are
dependencies for thousands of others, while most packages are not
a dependency for anything else.

Looking only at direct built-dependencies instead, these are the packages
with the most dependencies:

while read i ; do echo `grep "Build-Depends.*\<$i\>"
/var/lib/apt/lists/httpredir.debian.org_debian_dists_testing_main_source_Sources
| wc -l` $i  ; done < all.list  | sort -nr | head -n 100

1026 libglib2.0-dev
848 qtbase5-dev
590 libgtk2.0-dev
583 libssl-dev
565 libgtk-3-dev
458 libpng-dev
315 libasound2-dev
307 libxt-dev
278 libreadline-dev
220 libcurl4-gnutls-dev
208 gawk
196 uuid-dev
174 libpam0g-dev
150 libgnutls28-dev
147 libpulse-dev
136 libpq-dev
129 libusb-1.0-0-dev
123 libqt4-dev
122 libcurl4-openssl-dev
118 libldap2-dev
110 libfontconfig1-dev
107 libicu-dev
101 libfuse-dev
100 libgstreamer1.0-dev
93 apache2-dev
89 libsoup2.4-dev
89 libgtest-dev
85 libpcap0.8-dev
79 qtbase5-private-dev
74 libevent-dev
73 libhdf5-dev
73 libeigen3-dev
66 libavutil-dev
65 libbsd-dev
59 libflac-dev
59 libarchive-dev
57 libglobus-common-dev
55 linux-libc-dev
54 libprotobuf-dev
51 libelf-dev
49 libgdal-dev
48 libcups2-dev
47 libdrm-dev
45 libmagic-dev
45 libgtkmm-2.4-dev
43 libmotif-dev
42 libv4l-dev
40 libkf5kdelibs4support-dev
38 libgeoip-dev
37 valgrind
36 nettle-dev
36 libfltk1.3-dev
33 libgtkmm-3.0-dev
33 dejagnu
32 kdelibs5-dev
31 tcl8.6-dev
30 libsnmp-dev
30 doctest-dev
29 libglibmm-2.4-dev
29 libapr1-dev
29 fcitx-libs-dev
28 libnm-dev
27 libgpgme-dev
26 libupower-glib-dev
26 libev-dev
25 libnspr4-dev
25 libkf5mime-dev
24 libxerces-c-dev
24 libpoppler-qt5-dev
24 libpoppler-glib-dev
24 libnl-3-dev
24 libical-dev
24 libaio-dev
23 libgnome-desktop-3-dev
23 libc6-dev
22 libzip-dev
22 libssh2-1-dev
22 libhiredis-dev
21 vdr-dev
20 libtelepathy-glib-dev
20 libkf5libkdepim-dev
20 libc-ares-dev
20 catch
19 libuv1-dev
19 libsmbclient-dev
19 libgsf-1-dev
19 libgphoto2-dev
18 libmemcached-dev
17 libtbb-dev
17 libpoppler-private-dev
17 libneon27-gnutls-dev
17 libibverbs-dev
17 libiberty-dev
17 libgimp2.0-dev
17 libclthreads-dev
17 guile-2.2-dev
17 binutils-dev
16 libtracker-sparql-2.0-dev
16 libparted-dev
16 libmbedtls-dev

about 300 packages have nothing build-depending on them in 'main', and only 155
packages that use time_t in a heade file have more than 10 source packages with
build dependencies on them.

I've looked at the first few, and there are usually only a few obscure functions
that use time_t, so we can use the debian code search to figure out what
needs those. Here are a few potentially nasty cases:

https://codesearch.debian.net/search?q=png_convert_from_time_t
https://codesearch.debian.net/search?q=g_bookmark_file_get
https://codesearch.debian.net/search?q=gtk_recent_info_get
https://codesearch.debian.net/search?q=snd_%28h%7C%29timestamp_t
https://codesearch.debian.net/search?q=history_get_time
https://codesearch.debian.net/search?q=curl_getdate
https://codesearch.debian.net/search?q=ldap_search_ext
https://codesearch.debian.net/search?q=pcap_pkthdr

      Arnd

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.