diff --git a/security/unix-selfauth-helper/Makefile b/security/unix-selfauth-helper/Makefile --- a/security/unix-selfauth-helper/Makefile +++ b/security/unix-selfauth-helper/Makefile @@ -1,5 +1,5 @@ PORTNAME= unix-selfauth-helper -PORTVERSION= 1.0 +DISTVERSION= 1.0.1 DISTVERSIONPREFIX= v CATEGORIES= security diff --git a/security/unix-selfauth-helper/distinfo b/security/unix-selfauth-helper/distinfo --- a/security/unix-selfauth-helper/distinfo +++ b/security/unix-selfauth-helper/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1655634372 -SHA256 (Zirias-unix-selfauth-helper-v1.0_GH0.tar.gz) = 5a1aff046fb9e76555d7289afbe9c54d73269b5903a2f77f40b456840149a6ef -SIZE (Zirias-unix-selfauth-helper-v1.0_GH0.tar.gz) = 3924 +TIMESTAMP = 1659607930 +SHA256 (Zirias-unix-selfauth-helper-v1.0.1_GH0.tar.gz) = 24d72c04cc6f42b198378926af0e3d3c0efd7d39e68616482c8b218d4732d261 +SIZE (Zirias-unix-selfauth-helper-v1.0.1_GH0.tar.gz) = 3927 diff --git a/security/unix-selfauth-helper/pkg-post-install.lua b/security/unix-selfauth-helper/pkg-post-install.lua new file mode 100644 --- /dev/null +++ b/security/unix-selfauth-helper/pkg-post-install.lua @@ -0,0 +1,53 @@ +function getfbsduvers () + local osrel = io.open("/etc/os-release") + if (not osrel) then return nil end + local reldat = {} + for line in osrel:lines() do + local k, v = string.match(line, + '%s*(.+)%s*=%s*"?%s*([^"]+)%s*"?') + if (k and v) then reldat[k] = v end + end + osrel:close() + if (not reldat["ID"] or reldat["ID"] ~= "freebsd") then return nil end + return reldat["VERSION"] +end + +function printwarning (uvers, required) + local msg=[=[ +====== +Message from $pkg: + +!!! ATTENTION !!! + +You are currently running FreeBSD $vcurr. + +Correct operation of $pkg requires a bugfix that was delivered +in $vreq. + +This package is probably installed as a dependency of some screen locker, +and without the bugfix, YOU WILL PROBABLY BE UNABLE TO UNLOCK YOUR SCREEN. + +Please use freebsd-update(8) to update your system before you continue. + +See also: + +]=] + local warning = string.gsub(msg, '$(%w+)', + {pkg = pkg_name, vcurr = uvers, vreq = required}) + pkg.print_msg(warning) +end + +fbsduvers = getfbsduvers() +if (fbsduvers and string.match(fbsduvers, '-RELEASE')) then + umaj = tonumber(string.match(fbsduvers, '^[0-9]+')) + umin = tonumber(string.match(fbsduvers, '%.([0-9]+)-')) + uplv = tonumber(string.match(fbsduvers, '-p([0-9]+)')) + if (not uplv) then uplv = 0 end + if (umaj == 13 and umin <= 1) then + if (umin == 0 and uplv < 12) then + printwarning(fbsduvers, "13.0-RELEASE-p12") + elseif (umin == 1 and uplv < 1) then + printwarning(fbsduvers, "13.1-RELEASE-p1") + end + end +end