Bug 224507

Summary: New port: devel/liblockfile standard lockfile library
Product: Ports & Packages Reporter: Yasuhiro Kimura <yasu>
Component: Individual Port(s)Assignee: Kurt Jaeger <pi>
Status: Closed FIXED    
Severity: Affects Some People CC: pi
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 224508, 224511    
Attachments:
Description Flags
patch file
none
build log of poudriere on 11.1-RELEASE amd64
none
updated patch file
none
updated build log of poudriere on 11.1-RELEASE amd64 none

Description Yasuhiro Kimura freebsd_committer freebsd_triage 2017-12-21 20:22:53 UTC
Created attachment 189015 [details]
patch file

This library implements a number of functions found in -lmail on SysV systems. These functions are designed to lock the standard mailboxes in /var/mail (or wherever the system puts them).

In additions, this library adds a number of functions to create, manage and remove generic lockfiles.

The lockfiles are created by this library in an NFS-safe manner, that is by using a tempfile and using link(2) to create the lockfile. It works around several defects in NFS servers to make sure the lockfile is created atomically.

The locking strategy is compatible with other well-written NFS-safe programs that create lockfiles - such as procmail, exim and mutt.

If you are trying to lock a mailbox in a directory writable for group mail, the locking functions will call a helper application which runs setgid to do the actual locking. The helper application "dotlockfile" can also be used directly, for example for use in shellscripts.

This means a program such as a MUA doesn't need to be setgid mail anymore to be able to lock the mailbox.
Comment 1 Yasuhiro Kimura freebsd_committer freebsd_triage 2017-12-21 20:27:41 UTC
Created attachment 189016 [details]
build log of poudriere on 11.1-RELEASE amd64

Attached file is build log of poudriere on 11.1-RELEASE amd64.

Result of portlint check is as following:

yasu@rolling-vm-freebsd1[2940]% pwd
/usr/ports/devel/liblockfile
yasu@rolling-vm-freebsd1[2941]% portlint -A
looks fine.
yasu@rolling-vm-freebsd1[2942]%
Comment 2 Yasuhiro Kimura freebsd_committer freebsd_triage 2018-02-03 17:05:34 UTC
Created attachment 190300 [details]
updated patch file

Update patch to make installation of man pages simple. So please commit attached patch instead of original one.
Comment 3 Yasuhiro Kimura freebsd_committer freebsd_triage 2018-02-03 17:14:27 UTC
Created attachment 190301 [details]
updated build log of poudriere on 11.1-RELEASE amd64

Attached file is updated build log of poudriere on 11.1-RELEASE amd64.

Result of portlint check is as following:

yasu@rolling-vm-freebsd1[2154]% pwd
/usr/ports/devel/liblockfile
yasu@rolling-vm-freebsd1[2155]% portlint -A
looks fine.
yasu@rolling-vm-freebsd1[2156]%
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2018-02-14 16:56:33 UTC
Committed, thanks!
Comment 5 commit-hook freebsd_committer freebsd_triage 2018-02-14 16:56:50 UTC
A commit references this bug:

Author: pi
Date: Wed Feb 14 16:56:29 UTC 2018
New revision: 461818
URL: https://svnweb.freebsd.org/changeset/ports/461818

Log:
  New port: devel/liblockfile

  This library implements a number of functions found in -lmail on SysV
  systems. These functions are designed to lock the standard mailboxes in
  /var/mail (or wherever the system puts them).

  In additions, this library adds a number of functions to create,
  manage and remove generic lockfiles.

  The lockfiles are created by this library in an NFS-safe manner, that
  is by using a tempfile and using link(2) to create the lockfile. It
  works around several defects in NFS servers to make sure the lockfile
  is created atomically.

  The locking strategy is compatible with other well-written NFS-safe
  programs that create lockfiles - such as procmail, exim and mutt.

  If you are trying to lock a mailbox in a directory writable for group
  mail, the locking functions will call a helper application which runs
  setgid to do the actual locking. The helper application "dotlockfile"
  can also be used directly, for example for use in shellscripts.

  This means a program such as a MUA doesn't need to be setgid mail anymore
  to be able to lock the mailbox.

  WWW: https://github.com/miquels/liblockfile

  PR:		224507
  Submitted by:	Yasuhiro KIMURA <yasu@utahime.org>

Changes:
  head/devel/Makefile
  head/devel/liblockfile/
  head/devel/liblockfile/Makefile
  head/devel/liblockfile/distinfo
  head/devel/liblockfile/files/
  head/devel/liblockfile/files/patch-Makefile.in
  head/devel/liblockfile/pkg-descr
  head/devel/liblockfile/pkg-plist