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.
reopen and add arrowd@ because there seems to be some action on the reviews.freebsd.org site (see URL above), but it's not currently looking as though it addressed our concerns #3 and #4 above, so my prior assessment seems to hold that this can not go in. Polishing the util-linux port isn't going to work unless it moves all binaries and libraries away. No way this is going in in 2024, and we need to deal with all potential conflicts, reviewing util-linux implementations vs. standalone also WRT options and quality; other fallout, need to thoroughly run-time test. I don't think this is going to land soonish.
I read all the comments several times, but still don't get what's the problem. The util-linux port is only used by editors/sciteco and sysutils/libdnf, from what I gather. It is basically useless until we have subpackages, because it pulls in a ton of stuff we don't need.