FreeBSD Bugzilla – Attachment 81072 Details for
Bug 116127
New port: ports-mgmt/lskobs - List supported knobs and options for a port
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
lsknobs
lsknobs (text/plain), 5.11 KB, created by
Charlie &
on 2007-09-05 18:30:03 UTC
(
hide
)
Description:
lsknobs
Filename:
MIME Type:
Creator:
Charlie &
Created:
2007-09-05 18:30:03 UTC
Size:
5.11 KB
patch
obsolete
># This is a shell archive. Save it in a file, remove anything before ># this line, and then unpack it by entering "sh file". Note, it may ># create directories; files and directories will be owned by you and ># have default permissions. ># ># This archive contains: ># ># lsknobs ># lsknobs/pkg-descr ># lsknobs/Makefile ># lsknobs/files ># lsknobs/files/pkg-message.in ># lsknobs/files/lsknobs.sh.in ># >echo c - lsknobs >mkdir -p lsknobs > /dev/null 2>&1 >echo x - lsknobs/pkg-descr >sed 's/^X//' >lsknobs/pkg-descr << 'END-of-lsknobs/pkg-descr' >Xlsknobs is a simple sh(1) script designed to help configure >Xports knobs and options by listing them together with their >Xstatus (either enabled or not). It uses portconf for knobs. >END-of-lsknobs/pkg-descr >echo x - lsknobs/Makefile >sed 's/^X//' >lsknobs/Makefile << 'END-of-lsknobs/Makefile' >X# New ports collection makefile for: lsknobs >X# Date created: 5 Sep 2007 >X# Whom: Gabriel Linder <linder.gabriel@gmail.com> >X# >X# $FreeBSD$ >X# >X# This port is self contained in the files directory. >X# >X >XPORTNAME= lsknobs >XPORTVERSION= 1.0 >XCATEGORIES= ports-mgmt >XMASTER_SITES= # none >XDISTFILES= # none >X >XMAINTAINER= linder.gabriel@gmail.com >XCOMMENT= Simple script to help configure ports knobs and options >X >XRUN_DEPENDS= ${LOCALBASE}/libexec/portconf:${PORTSDIR}/ports-mgmt/portconf >X >XNO_BUILD= yes >XSUB_FILES= pkg-message ${PORTNAME}.sh >X >XPLIST_FILES= sbin/${PORTNAME} >X >Xdo-fetch: >X @${DO_NADA} >X >Xdo-install: >X @${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${PREFIX}/sbin/${PORTNAME} >X @${CAT} ${PKGMESSAGE} >X >X.include <bsd.port.mk> >END-of-lsknobs/Makefile >echo c - lsknobs/files >mkdir -p lsknobs/files > /dev/null 2>&1 >echo x - lsknobs/files/pkg-message.in >sed 's/^X//' >lsknobs/files/pkg-message.in << 'END-of-lsknobs/files/pkg-message.in' >XTypical use : >X >X 1) Choose a port >X# cd /usr/ports/editors/vim >X >X 2) Configure it, with its dependencies >X# lsknobs >X# make config-recursive >X (repeat these two steps until you agree with what is shown) >X >X 3) Install everything >X# make install clean >END-of-lsknobs/files/pkg-message.in >echo x - lsknobs/files/lsknobs.sh.in >sed 's/^X//' >lsknobs/files/lsknobs.sh.in << 'END-of-lsknobs/files/lsknobs.sh.in' >X#!/bin/sh >X# >X# Copyright (c) 2007, Gabriel Linder <linder.gabriel@gmail.com> >X# This work is based on a script written by Maxim Khitrov and posted >X# on FreeBSD Questions mailing list at Wed, 22 Aug 2007. >X# >X# Permission to use, copy, modify, and distribute this software for any >X# purpose with or without fee is hereby granted, provided that the above >X# copyright notice and this permission notice appear in all copies. >X# >X# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES >X# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF >X# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR >X# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES >X# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN >X# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF >X# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. >X# >X >Xdir="`pwd`" >Xdir="`dirname $dir`" >Xdir="`dirname $dir`" >Xif [ "/usr/ports" != "$dir" ] >Xthen >X echo 1>&2 "This script must be run from a port directory !" >X exit 1 >Xfi >X >Xif [ ! -z "$CLICOLOR" ] && [ -t 1 ] >Xthen >X NORMAL="\033[0;0m" >X BLACK="\033[1;30m" >X RED="\033[1;31m" >X GREEN="\033[1;32m" >X YELLOW="\033[1;33m" >X BLUE="\033[1;34m" >X MAGENTA="\033[1;35m" >X CYAN="\033[1;36m" >X WHITE="\033[1;37m" >Xelse >X NORMAL="" >X BLACK="" >X RED="" >X GREEN="" >X YELLOW="" >X BLUE="" >X MAGENTA="" >X CYAN="" >X WHITE="" >Xfi >X >Xprint_knob() >X{ >X port="$1" >X knob="$2" >X if [ -z "`cd /usr/ports/$port && /usr/local/libexec/portconf | grep $knob`" ] >X then >X echo -e " $RED[KNOB]$NORMAL $WHITE$knob$NORMAL" >X else >X echo -e " $RED[KNOB]$NORMAL $MAGENTA(*)$NORMAL $BLACK$knob$NORMAL" >X fi >X} >X >Xprint_option() >X{ >X port="$1" >X knob="$2" >X options="$3" >X pre="`echo $knob | cut -d _ -f 1`" >X if [ "$pre" = "WITH" ] || [ "$pre" = "WITHOUT" ] >X then >X opt="`echo $knob | sed s,${pre}_,,`" >X else >X opt="$knob" >X fi >X if [ -z "`echo $options | grep -Eho $opt=on`" ] >X then >X if [ -z "`echo $options | grep -Eho $opt=off`" ] >X then >X print_knob "$port" "$knob" >X else >X echo -e " $GREEN[OPTION]$NORMAL $WHITE$opt$NORMAL" >X fi >X else >X echo -e " $GREEN[OPTION]$NORMAL $MAGENTA(*)$NORMAL $BLACK$opt$NORMAL" >X fi >X} >X >Xports="`make missing` `pwd | sed s,/usr/ports/,,`" >Xfor port in $ports >Xdo >X knobs="`grep -Eho '(defined[:space:]*\([:space:]*.+[:space:]*\))|(^\.ifdef[:space:]*\([:space:]*.+[:space:]*\))|(^\.ifndef[:space:]*\([:space:]*.+[:space:]*\))' /usr/ports/$port/Makefile | sed -E 's,defined\(([^)]*)\),\1,g;s,\.ifdef\(([^)]*)\),\1,g;s,\.ifndef\(([^)]*)\),\1,g' | tr -d '&|!' | tr ' ' '\n' | grep -Eho '^[A-Z_0-9]+$' | sort | uniq`" >X if [ -z "$knobs" ] >X then >X continue >X fi >X echo "==> $port" >X options="`make showconfig | grep -Eho '^[:space:]*.+=(on|off)'`" >X for knob in $knobs >X do >X if [ -z "$options" ] >X then >X print_knob "$port" "$knob" >X else >X print_option "$port" "$knob" "$options" >X fi >X done >Xdone >END-of-lsknobs/files/lsknobs.sh.in >exit
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 116127
: 81072