Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
This repository was archived by the owner on Jan 16, 2021. It is now read-only.
/prtPublic archive

CRUX port manager written in Go, aiming to replace prt-get, ports, and some pkgutils (on my machine).

License

NotificationsYou must be signed in to change notification settings

CamilleScholtz/prt

Repository files navigation

Go Report Card

This project is currently in early alpha stage!

prt - CRUX port utility written in Go, aiming to replace prt-get, ports, andsome pkgutils (on my machine)

SYNOPSIS

prt command [arguments]

DESCRIPTION

prt is likeprt-get(8) a port/package management utility which providesadditional functionality to the CRUX pkgutils. In addition to that it alsostrives to replace the CRUX pkgutils in Go. It works with the local ports treeand is therefore fully compatible withports(8),pkgmk(8),pkgadd(8) andof courseprt-get(8). It offers the following features:

  • Listing dependencies of ports recursively, with an optional flag to printusing tree view.
  • Generating graphs of port dependencies
  • Listing outdated package, by comparing port versions with the installedversion
  • Easily printing port information such as the maintainer, version, release, etcetera
  • Install ports and their dependencies with a single command
  • List ports, with optional flags to also only list installed ports, print withrepo information or to print with additional version information
  • Print the location of a port
  • Searching through files ports provide, with an optional flag to only searchthrough installed ports
  • Pull in ports usinggit(1)
  • Update outdated packages
  • Uninstall installed packages

Like said before, unlikeprt-get(8), prt reimplementspkgmk(8)/pkgadd(8)fully in Go. This is mostly for more control. Likeprt-get it does providesome nice extra functionality such as listing and installing dependencies,getting the location of a port, aliasing ports (for examplecore/openssl to6c37-dropin/libressl), and ordering ports with the same name depending on how"important" the repo is the port resides in.

There are a few differences, for example, unlikeprt-get(8) you need to be inthe port's directory for most commands to work, like howpkgmk(8) works. Thishas a few advantages, for example you can quickly download a port anywhere onthe filesystem, and install it and its dependencies usingprt install. Becauseprt-get depinst needs a port name, you canonly install ports that arelocated in a predefinedprtdir.

Another difference withprt-get(8) is that prt does not use a cache file,while still being nearly as fast or faster in some cases.

Aliasing is also handeled a bit different.prt-get(8) aliases ports based onname, but prt on name and repo. This makes it possible to aliasfoo/bar tobaz/bar.

COMMANDS

The prt syntax is inspired byprt-get(8),git(8) andgo(8), and thus usesso called commands which always have to be the first non-option argument passed.The commands are:

depends list dependencies recursively,

diff list outdated packages

info print port information

install build and install ports and their dependencies

list list porst and packages

loc print port locations

prov search ports for files

pull pull in ports

sysup update outdated packages

uninstall uninstall packages

help print help and exit

INSTALLATION

https://github.com/onodera-punpun/crux-ports/blob/master/prt/Pkgfile

Make sure to check/etc/prt/config.toml after installation and edit values tofit your needs and setup.

If you usefish acd wrapper forprt loc will also be installed, and somehandy completions.

TODO

  • Implementdepends command.
  • Implementdiff command.
  • Implementinfo command.(This always prints something, even when not ina port directory...)
  • Implementgraph command.
  • Implementinstall command.
  • Implementlist command.
  • Implementloc command.
  • Implementpatch command.
  • Implementprov command.
  • Implementpull command.
  • Implementsysup command.
  • Implementuninstall command.

  • Convertpkgmkget_filename function to Go.(so uhh,pkgmk doessomething with "absolute paths", do I need this as well?)
  • Convertpkgmkget_basename function to Go.
  • Convertpkgmkcheck_pkgfile function to Go.
  • Convertpkgmkcheck_directory function to Go.
  • Convertpkgmkcheck_file function to Go.
  • Convertpkgmkdownload_file function to Go.(curl is still used, isthere some pure Go implementation?)
  • Convertpkgmkdownload_source function to Go.
  • Convertpkgmkunpack_source function to Go.(somePkgfiles createtheir own unpack functions, I still need to detect and use those.)
  • Convertpkgmkmake_md5sum function to Go.
  • Convertpkgmkmake_footprint function to Go.
  • Convertpkgmkcheck_md5sum function to Go.
  • Convertpkgmkcheck_signature function to Go.(signify is stillused, is there some pure Go implementation?)
  • Convertpkgmkmake_signature function to Go.
  • Convertpkgmkstrip_files function to Go.
  • Convertpkgmkcompress_manpages function to Go.
  • Convertpkgmkcheck_footprint function to Go.
  • Convertpkgmkmake_work_dir function to Go.
  • Convertpkgmkremove_work_dir function to Go.
  • Convertpkgmkinstall_package function to Go.
  • Convertpkgmkclean function to Go.(not going to implement, there isrm)

  • Write fishcdp function.
  • Write bashcdp function.(need to actually test this)
  • Write fish completions.
  • Write bash completions.

  • Write tests.
  • Make errors pretty and consistent.
  • Test environment variables.
  • Write README and man pages.(needs some updates with changes)
  • Check for missing config values.

AUTHORS

Camille Scholtz

About

CRUX port manager written in Go, aiming to replace prt-get, ports, and some pkgutils (on my machine).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp