Bug 234675

Summary: [NEW PORT] sysutils/packmule: Creates and packs custom FreeBSD installation images
Product: Ports & Packages Reporter: Austin Shafer <ashafer>
Component: Individual Port(s)Assignee: freebsd-ports-bugs mailing list <ports-bugs>
Status: Open ---    
Severity: Affects Only Me CC: ashafer
Priority: --- Keywords: feature
Version: LatestFlags: koobs: maintainer-feedback+
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Diff taken from /usr/ports using 'svn diff'
none
sysutils/packmule Revised patch after feedback
ashafer: maintainer-approval+
sysutils/packmule Second Revision of feedback none

Description Austin Shafer 2019-01-07 05:10:43 UTC
Created attachment 200853 [details]
Diff taken from /usr/ports using 'svn diff'

Packmule packs a FreeBSD installation image with custom content, making it useful for generating images which install your commonly used files/ports (.shrc, emacs, .emacs.d, etc) along with the regular contents of FreeBSD. It's other main use involves adding an 'installerconfig' script to an existing iso image to allow for unattended installations. Users create a YAML packing list to identify which ports and individual files they would like to add instead of rebuilding from source.
Comment 1 Austin Shafer 2019-01-08 21:43:55 UTC
sysutils/packmule: Add QA

portlint: OK (looks fine.)
poudriere: OK (amd64 & i386 tested on 12.0/11.2)

This project does not have any unit tests at the moment. Testing involves running sysutils/packmule with one of the example configurations on an image. While running this is trivial, verifying that it worked is not easy to script (it would also involve downloading a full .iso image and running VM's). The functionality was tested manually on multiple machines. This is less than ideal and future work will be spent on adding tests for this port.
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2019-01-09 02:55:07 UTC
(In reply to Austin Shafer from comment #1)

Thanks Austin. Some additional review items:

- Use DISTVERSIONPREFIX=v for ports that use USE_GITHUB and tags are prefixed
- Use NO_BUILD rather than an empty do-build target
- Group USES/USE together, in that order
- USES_PERL should be USE_PERL
- Add LICENCE_FILE if one is provided in the distribution file
- If port only supports particular ARCHS (do-install only installs mkiso dirs 
  for 4), set ONLY_FOR_ARCHS
- do-deinstall should not be necessary, pkg handles this based on pkg-plist
  contents
Comment 3 Austin Shafer 2019-01-09 03:37:39 UTC
Created attachment 200935 [details]
sysutils/packmule Revised patch after feedback

sysutils/packmule: Respond to feedback

Verified portlint and poudriere are happy with these changes and do not give errors.
Comment 4 Austin Shafer 2019-01-09 03:49:31 UTC
Created attachment 200936 [details]
sysutils/packmule Second Revision of feedback