The libuuid from e2fsprogs lacks lots of new functions. from comparison of new: https://github.com/karelzak/util-linux/blob/master/libuuid/src/libuuid.sym current: https://github.com/tytso/e2fsprogs/blob/master/lib/uuid/uuid.h.in we could know that the libuuid inside e2fsprogs have not been update for a long time. missing function list: since util-linux 2.20 uuid_generate_time_safe since util-linux.2.31 uuid_generate_md5 uuid_generate_sha1 uuid_get_template since util-linux.2.36 uuid_parse_range these functions might be critical for some packages(I have no idea how to find them out). I was encountering this problem when installing Budgie Desktop, which depends on 'uuid_generate_time_safe'. https://github.com/solus-project/budgie-desktop/blob/master/vapi/uuid.vapi#L10 related: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221293 https://reviews.freebsd.org/D23312
OK, this (Budgie) is the first strong point someone makes why the update would be useful in practice and not just as an exercise. I will dismiss the uuid_generate_md5 uuid_generate_sha1 functions as reasons or excuses, the other missing functions are valid reasons to look into updating. I think we need to brush up https://reviews.freebsd.org/D23312 first, after so many months it may need some love, and it may also need an -exp run.
util-linux is now a port: devel/util-linux It provides libuuid.so
OK, that's good, but we still have conflicts galore, picking those I see on my system (the last two are sort of expected). Apparently only your dnf and libdnf (the Fedora Linux high-level package manager software) ports use it so far. - util-linux-2.36 [FreeBSD-latest] conflicts with getopt-1.1.6 [installed] on /usr/local/bin/getopt - util-linux-2.36 [FreeBSD-latest] conflicts with hardlink-0.3.0 [installed] on /usr/local/bin/hardlink - util-linux-2.36 [FreeBSD-latest] conflicts with e2fsprogs-libblkid-1.45.6_1 [installed] on /usr/local/include/blkid/blkid.h - util-linux-2.36 [FreeBSD-latest] conflicts with e2fsprogs-1.45.6_4 [installed] on /usr/local/man/man8/blkid.8.gz So while util-linux would scratch the immediate itch, on my system installing it would purge 11 packages that lose e2fsprogs-libuuid, and a dry run of Tools/scripts/bump_revision.pl -l -n e2fsprogs-libuuid identifies 87 ports depending directly on e2fsprogs-libuuid. Any early proposals to reconcile the differences? Else we still need to brush up https://reviews.freebsd.org/D23312 and I'll try to look into getting e2fsprogs ported to util-linux in December.
I don't currently oversee if this list is exhaustive, or if util-linux competes with other packages, too. How do we find out what other ports might conflict with util-linux efficiently, except the listed cal package? For the known conflicts: Ports requiring e2fsprogs-libuuid: 1 audio/gsequencer 2 audio/lash 3 audio/libgig 4 audio/linuxsampler 5 benchmarks/flowgrind 6 cad/horizon-eda 7 chinese/fcitx 8 databases/recutils 9 deskutils/bijiben 10 deskutils/gnote 11 deskutils/nautilus-actions 12 deskutils/simpleagenda 13 devel/RStudio 14 devel/appstream-glib 15 devel/babeltrace 16 devel/gearmand 17 devel/gearmand-devel 18 devel/ignition-common 19 devel/libcrossguid 20 devel/libdap 21 devel/libewf 22 devel/libsml 23 devel/msitools 24 devel/p5-UUID 25 devel/pecl-uuid 26 devel/pmdk 27 devel/util-linux 28 devel/xeus 29 devel/xeus-cling 30 games/moonlight-embedded 31 lang/chez-scheme 32 mail/cyrus-imapd32 33 math/cadabra2 34 misc/biblesync 35 misc/e2fsprogs-libblkid 36 misc/ignition-fuel-tools 37 misc/xiphos 38 multimedia/kodi 39 multimedia/kodi-devel 40 multimedia/ustreamer 41 net-im/profanity 42 net-im/telepathy-gabble 43 net-mgmt/ccnet-server 44 net-mgmt/netdata 45 net-mgmt/seafile-client 46 net-mgmt/seafile-gui 47 net-mgmt/seafile-server 48 net-p2p/libbt 49 net/asterisk13 50 net/asterisk16 51 net/asterisk18 52 net/freeswitch 53 net/glusterfs 54 net/gupnp 55 net/mosquitto 56 net/pacemaker1 57 net/pacemaker2 58 net/pjsip 59 science/cdo 60 science/qbox 61 security/openvas8-libraries 62 security/openvas9-libraries 63 security/razorback-api 64 security/snort3 65 security/tpm2-tools 66 sysutils/cluster-glue 67 sysutils/e2fsprogs 68 sysutils/fusefs-httpdirfs 69 sysutils/fusefs-ntfs 70 sysutils/gdisk 71 sysutils/ltfs 72 sysutils/passwordsafe 73 sysutils/pesign 74 sysutils/rsyslog8 75 sysutils/syslog-ng 76 sysutils/syslog-ng324 77 sysutils/syslog-ng325 78 sysutils/syslog-ng326 79 sysutils/syslog-ng327 80 sysutils/syslog-ng328 81 sysutils/syslog-ng329 82 sysutils/tracker 83 textproc/zorba 84 www/blastbeat 85 www/davix 86 www/libepc 87 x11/gnome-terminal e2fsprogs-libblkid is the easy part, only e2fsprogs uses it. getopt is used by these ports: 1 devel/compiz-bcop 2 devel/gitflow 3 math/eukleides 4 net/ceph12 5 net/ceph14 6 net/pacemaker1 7 net/pacemaker2 8 sysutils/password-store 9 sysutils/tartarus 10 textproc/rarian 11 textproc/xmlto 12 textproc/yodl 13 x11-fonts/fontpreview
(In reply to Matthias Andree from comment #4) lubuuid.so can be split out into a separate port. This would untangle lubuuid.so from the conflicts problem.
OItherwise, I think linuuid.so that devel/util-linux provides is exactly what Linux systems use.
(In reply to Matthias Andree from comment #3) util-linux port also conflicts with sysutils/flock, which is: WWW : https://www.kernel.org/pub/linux/utils/util-linux/ Comment : Manage locks from shell scripts Probably flock port can be dropped in favor of util-linux once the other conflicts are resolved? Or we could change util-linux port to not distribute flock, getopt, and other conflicting binaries. And potentially run-depend on other ports that are util-linux components. As-is util-linux is not that useful if it cannot be installed. Some GNOME components depend on our existing getopt, which does not appear to be the util-linux version (but may be compatible).
I think this needs to be settled elsewhere, not in e2fsprogs-libuuid. Once we have a viable util-linux package that does not conflict with five dozen other ports, we can look into making util-linux or spinoffs the main UUID provider. As soon as that is in place and is about to conflict with e2fsprogs-libuuid, we can negotiate how to settle conflicts and move e2fsprogs-libuuid out of the way. Judging that the util-linux/libuuid feature/upgrade request has been open for five years, let's close this PR.