Package: release.debian.org
User: release.debian....@packages.debian.org
Usertags: transition
Severity: normal

Dear Release Team,

I had started a thread on debian-devel[1] about the need to migrate 32-bit
architectures to 64-bit time_t in preparation for 2038, an ABI-breaking
change.

As the discussion on debian-devel has died down, I think it's time to
formally put this request on debian-release's radar.

I believe the last time we had an archive ABI change was before the Release
Team's current policy on transitions was put into place.  As mentioned in
that thread, there are probably more than 400 libraries whose ABIs/package
names are affected (380 identified to date); a list of these is attached. 
I've provided a mock ben config below; a real one could be synthesized once
the analysis is finished, though I'm not sure how useful it would be.

Also mentioned in the thread[2], it would be quite cumbersome to start this
transition in experimental (since it's toolchain-driven rather than
source-driven) but getting all of the binary packages through NEW in
experimental (with the wrong ABI) may help with timing.  I'm open to
guidance here.

Due to the broad and disruptive nature of this change, I am writing to
request a slot for the transition, preferably the first in the upcoming
trixie cycle.

I have not build-tested the reverse-build-dependencies.  There are at least
5000 source packages in unstable that need rebuilt as part of this
transition.  Some of them will likely show they have regressed in
buildability, including some that are currently in testing; hopefully a very
small number since we are about to release.  There is discussion of whether
we should enable -Werror=implicit-function-declaration as part of the ABI
transition.  If so, that will increase the number of build failures, though
also hopefully only a bit.  I do not expect build failures as a direct
result of the ABI transition.  If you do want build tests before upload to
unstable, guidance is welcome.

Ben file:

title = "time64_t";
is_affected = .depends ~ "old=/^.*$/" | .depends ~ "new=/^.*64t$/";
is_good = .depends ~ "new=/^.*64t$/";
is_bad = .depends ~ "old=/^.*$/";

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org

[1] https://lists.debian.org/debian-devel/2023/05/msg00168.html
[2] https://lists.debian.org/debian-devel/2023/05/msg00260.html
libevince-dev
binutils-dev
libabsl-dev
libaio-dev
libapr1-dev
libaprutil1-dev
libarchive-dev
libasound2-dev
libatm1-dev
libatspi2.0-dev
libauparse-dev
libbtrfsutil-dev
libc-ares-dev
libcamel1.2-dev
libclamav-dev
libcups2-dev
libcupsfilters-dev
libcupsimage2-dev
libcurl4-gnutls-dev
libcurl4-nss-dev
libcurl4-openssl-dev
libdb5.3++-dev
libdb5.3-dev
libdb5.3-stl-dev
libdbi-dev
libdv4-dev
libelf-dev
libevent-dev
libfcgi-dev
libfido2-dev
libgnutls28-dev
libgphoto2-dev
libgpod-dev
libgps-dev
libgsound-dev
libgxps-dev
libieee1284-3-dev
libipa-hbac-dev
libisofs-dev
libiw-dev
libknet-dev
libmemcached-dev
libmtdev-dev
libmtp-dev
libnatpmp-dev
libnpth0-dev
libnutclient-dev
liboath-dev
libp11-dev
libpam0g-dev
libparted-dev
libpath-utils-dev
libpcap0.8-dev
libpkcs11-helper1-dev
libpng-dev
libpoppler-glib-dev
libpsl-dev
librados-dev
librasqal3-dev
libraw-dev
librdf0-dev
libreadline-dev
librrd-dev
librsync-dev
libsoup2.4-dev
libstatgrab-dev
libtevent-dev
libtokyocabinet-dev
libudf-dev
libupsclient-dev
libv4l-dev
libvformat-dev
pacemaker-dev
uuid-dev
libopenzwave1.6-dev
libricohcamerasdk-dev
android-libboringssl-dev
libext2fs-dev
libglibmm-2.4-dev
libgnome-bg-4-dev
libgnome-desktop-4-dev
apache2-ssl-dev
libglib2.0-dev
android-liblog-dev
clearsilver-dev
davix-dev
drac-dev
hexchat-dev
itcl3-dev
itk3-dev
libace-flreactor-dev
libace-foxreactor-dev
libace-htbp-dev
libace-inet-dev
libace-inet-ssl-dev
libace-rmcast-dev
libace-ssl-dev
libace-tmcast-dev
libace-xtreactor-dev
libacexml-dev
libadns1-dev
libaldmb1-dev
liballegro-acodec5-dev
liballegro-audio5-dev
liballegro-dialog5-dev
liballegro-physfs5-dev
liballegro-ttf5-dev
liballegro-video5-dev
libapache2-mod-form-dev
libaribb24-dev
libbamf3-dev
libbitstream-dev
libbpp-phyl-omics-dev
libbpp-popgen-dev
libbpp-qt-dev
libbpp-raa-dev
libbpp-seq-dev
libcapi20-dev
libcbf-dev
libccrtp-dev
libcdk5-dev
libchicken-dev
libclalsadrv-dev
libcli-dev
libclthreads-dev
libcmis-dev
libcmph-dev
libcmtspeechdata-dev
libcoap2-dev
libcppdb-dev
libcpuset-dev
libctemplate-dev
libcudf-dev
libcw-dev
libcwiid-dev
libczmq-dev
libdaq-dev
libdigidoc-dev
libdmtx-dev
libeasyloggingpp-dev
libeb16-dev
libebook-contacts1.2-dev
libebook1.2-dev
libecal2.0-dev
libedata-book1.2-dev
libedata-cal2.0-dev
libedataserverui4-dev
libev-dev
libev-libevent-dev
libevemu-dev
libexplain-dev
libfixbuf-dev
libfizmo-dev
libfko3-dev
libfreecontact-dev
libfreenect-dev
libfsplib-dev
libgammu-dev
libgeoip-dev
libgetdns-dev
libgig-dev
libgladeui-dev
libglibmm-2.68-dev
libglobus-authz-callout-error-dev
libglobus-authz-dev
libglobus-callout-dev
libglobus-common-dev
libglobus-ftp-client-dev
libglobus-ftp-control-dev
libglobus-gass-cache-dev
libglobus-gass-copy-dev
libglobus-gass-server-ez-dev
libglobus-gfork-dev
libglobus-gram-client-dev
libglobus-gram-job-manager-callout-error-dev
libglobus-gram-protocol-dev
libglobus-gridftp-server-control-dev
libglobus-gridftp-server-dev
libglobus-gridmap-callout-error-dev
libglobus-gsi-callback-dev
libglobus-gsi-cert-utils-dev
libglobus-gsi-credential-dev
libglobus-gsi-openssl-error-dev
libglobus-gsi-proxy-core-dev
libglobus-gsi-sysconfig-dev
libglobus-gss-assist-dev
libglobus-gssapi-error-dev
libglobus-gssapi-gsi-dev
libglobus-io-dev
libglobus-net-manager-dev
libglobus-openssl-module-dev
libglobus-rsl-dev
libglobus-scheduler-event-generator-dev
libglobus-xio-dev
libglobus-xio-gridftp-driver-dev
libglobus-xio-gridftp-multicast-dev
libglobus-xio-gsi-driver-dev
libglobus-xio-net-manager-driver-dev
libglobus-xio-pipe-driver-dev
libglobus-xio-popen-driver-dev
libgmime-3.0-dev
libgnuplot-iostream-dev
libgoffice-0.10-dev
libgoogle-glog-dev
libgpiod-dev
libgrss-dev
libgtkdatabox-dev
libgts-dev
libgnome-desktop-3-dev
libgweather-4-dev
libhamlib++-dev
libhamlib-dev
libhoel-dev
libicecc-dev
libiddawc-dev
libident-dev
libinfinity-0.7-dev
libiso9660-dev
libjalali-dev
libjpgalleg4-dev
libkeybinder-dev
libkf5libkleo-dev
libkf5mime-dev
libkf5syndication-dev
libkml-dev
libktoblzcheck1-dev
liblasi-dev
libldns-dev
libloc-dev
liblogg4-dev
liblwipv6-dev
libmbedtls-dev
libmfsio-dev
libmobi-dev
libmpdclient-dev
libmrpt-bayes-dev
libmrpt-comms-dev
libmrpt-detectors-dev
libmrpt-graphs-dev
libmrpt-hmtslam-dev
libmrpt-kinematics-dev
libmrpt-nav-dev
libmrpt-obs-dev
libmrpt-system-dev
libmrpt-topography-dev
libmrpt-vision-dev
libmrss0-dev
libmyproxy-dev
libmysql++-dev
libmysqlcppconn-dev
libncap-dev
libnexstar-dev
libnotmuch-dev
libnova-dev
libnsync-dev
libnxml0-dev
libobexftp0-dev
libode-dev
libofx-dev
libonvif-dev
libopenconnect-dev
libopendbx1-dev
libopensmtpd-dev
libosip2-dev
libosmo-gsup-client-dev
libosmo-mslookup-dev
libpappl-dev
libpaps-dev
libpoppler-qt5-dev
libpoppler-qt6-dev
libpqtypes-dev
libpst-dev
libpth-dev
libqalculate-dev
libqdbm-dev
librcheevos-dev
librdata-dev
libreaderwriterqueue-dev
libreadstat-dev
librhonabwy-dev
librlog-dev
librtr-dev
libruli4-dev
libsaml-dev
libself-test-dev
libshisa-dev
libslurm-dev
libsocksd0-dev
libssh2-1-dev
libst-dev
libstb-dev
libstoken-dev
libstorj-dev
libsysrepo-dev
libtaktuk-1-dev
libtaningia-dev
libtar-dev
libtecla-dev
libtelepathy-farstream-dev
libtins-dev
libtkrzw-dev
libtls-dev
libtrace3-dev
libts-dev
libudns-dev
libuev-dev
libulfius-dev
libusb3380-dev
libvdeplug-dev
libventrilo-dev
libvmime-dev
libwim-dev
libwv-dev
libxmlrpc-c++8-dev
libxmlrpc-epi-dev
libxwiimote-dev
libyder-dev
libzen-dev
libzvbi-dev
python3-sip-dev
skalibs-dev
srm-ifce-dev
swish-e-dev
vdr-dev
vxi-dev
weechat-dev
znc-dev
libssl-dev
libgtk-3-dev
libgtk2.0-dev
libpq-dev
libkrb5-dev
libhdf5-dev
libclxclient-dev
libpoppler-private-dev
libpoppler-cpp-dev
libneon27-gnutls-dev
libdcmtk-dev
libical-dev
tcl8.6-dev
libzip-dev
libapt-pkg-dev
libxt-dev
pidgin-dev
libgtkmm-2.4-dev
libxerces-c-dev
libtelepathy-glib-dev
libosmocore-dev
libmate-desktop-dev
libgpgmepp-dev
libedataserver1.2-dev
liballegro4-dev
proftpd-dev
libpurple-dev
libgoogle-perftools-dev
libtirpc-dev
libgpgme-dev
nettle-dev
libgtkmm-3.0-dev
libgimp2.0-dev
libwebsockets-dev
liblttng-ust-dev
libopenmpi-dev
libgdal-dev
libsnmp-dev
libkf5kdelibs4support-dev
libsmbclient-dev
apache2-dev
libprotobuf-dev
libavutil-dev
libwxgtk3.2-dev
libdart-collision-bullet-dev
libdart-collision-ode-dev
libdart-utils-dev
libdart-utils-urdf-dev
libfuse-dev
libwlroots-dev
libglusterfs-dev
libuhd-dev
liburcu-dev

Attachment: signature.asc
Description: PGP signature

Reply via email to