[PROPOSAL] Ports using SCM repositories as source instead of distfiles

Ashish Shukla आशीष शुक्ल wahjava.ml at gmail.com
Tue Dec 9 05:18:29 PST 2008


Hi all,

I'm to proposing an enhancement to existing FreeBSD ports system. I
think it'll be great if ports can use SCM (source code management)
repositories like CVS, Subversion, Git, etc. as their sources instead of
distfiles. Following are some of the {dis,}advantages of this approach:

* Anyone interested in tracking the development branch of any project
  can do so with installation/deinstallation of the project integrated
  in the ports management system. e.g. anyone interested in trying out
  GNU Emacs CVS version, can simply use editors/emacs-cvs
  (not-implemented atm), which will checkout from the Emacs's CVS
  repository and build and install the port with all installed files
  recorded in 'plist' of the port. And if anyone wants to uninstall the
  Emacs CVS port, {s,}he can simply deinstall it in their preferred
  ports/package way.
* ATM, development versions of ports are packaged as snapshots, and
  maintainer has to keep updating ports snapshots. And sometimes,
  it is not possible for maintainer (due to lack of time and other
  issues) to update snapshots timely. So going proposed way can ease the
  work for them, and beneficial for users who are interested in latest
  bits.
* As far as PR related to such ports are concerned I think one should
  directly submit them to the upstream rather than maintainer, unless
  that PR has anything to do with its packaging, in which case it should
  be submitted to FreeBSD PR system.
* I've not played (or worked) with dynamic packaging lists on FreeBSD,
  so I'm not sure if it is possible to properly track all installed
  files dynamically, e.g. if a new commit in the upstream causes 3 new
  files to be installed, then is it possible for FreeBSD ports
  management system to include those 3 files also in the packing list,
  in the next installation of the port, hmm...?

BtW, I've implemented a basic proof-of-concept and hacked a port
audio/scrobby (for scrobby[1] application, not submitted to PR system
yet) based on proof-of-concept. The shar can be downloaded from following URL:

http://wahjava.googlepages.com/scm-ports.shar
(md5: 7f8392e7c9e31fe5842279e1730a2051, size: 4710 bytes)

Some existing tools like patchtool also needs to be modified which rely
for the presence of 'distinfo' file in the port directory, which in this
case will never be present.

References:
[1] - http://unkart.ovh.org/scrobby/

Thanks for trying it.
-- 
Ashish Shukla
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20081209/ddd55f96/attachment.pgp


More information about the freebsd-ports mailing list