slitaz-forge diff pkgs/mirror-search.sh @ rev 331

mirror-search.sh: add links to receipt
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Sep 28 13:41:42 2012 +0200 (2012-09-28)
parents b4b47a61fb4b
children 987ce36a5b46
line diff
     1.1 --- a/pkgs/mirror-search.sh	Tue Aug 21 11:53:52 2012 +0200
     1.2 +++ b/pkgs/mirror-search.sh	Fri Sep 28 13:41:42 2012 +0200
     1.3 @@ -55,6 +55,7 @@
     1.4  			Package)		NICE="package=$SEARCH";;
     1.5  			Desc)			NICE="desc=$SEARCH";;
     1.6  			Tags)			NICE="tags=$SEARCH";;
     1.7 +			Arch)			NICE="arch=$SEARCH";;
     1.8  			Receipt)		NICE="receipt=$SEARCH";;
     1.9  			Depends)		NICE="depends=$SEARCH";;
    1.10  			BuildDepends)	NICE="builddepends=$SEARCH";;
    1.11 @@ -122,6 +123,7 @@
    1.12  		file=*)					SEARCH=${i#*=}; OBJECT=File;;
    1.13  		desc=*)					SEARCH=${i#*=}; OBJECT=Desc;;
    1.14  		tags=*)					SEARCH=${i#*=}; OBJECT=Tags;;
    1.15 +		arch=*)					SEARCH=${i#*=}; OBJECT=Arch;;
    1.16  		receipt=*)				SEARCH=${i#*=}; OBJECT=Receipt;;
    1.17  		filelist=*)				SEARCH=${i#*=}; OBJECT=File_list;;
    1.18  		package=*)				SEARCH=${i#*=}; OBJECT=Package;;
    1.19 @@ -151,6 +153,7 @@
    1.20  	File)			selected_file="selected";;
    1.21  	Desc)			selected_desc="selected";;
    1.22  	Tags)			selected_tags="selected";;
    1.23 +	Arch)			selected_arch="selected";;
    1.24  	Receipt)		selected_receipt="selected";;
    1.25  	File_list)		selected_file_list="selected";;
    1.26  	Depends)		selected_depends="selected";;
    1.27 @@ -193,6 +196,7 @@
    1.28  		<option value="Package">$(gettext "Package")</option>
    1.29  		<option $selected_desc value="Desc">$(gettext "Description")</option>
    1.30  		<option $selected_tags value="Tags">$(gettext "Tags")</option>
    1.31 +		<!-- option $selected_arch value="Tags">$(gettext "Arch")</option -->
    1.32  		<option $selected_receipt value="Receipt">$(gettext "Receipt")</option>
    1.33  		<option $selected_depends value="Depends">$(gettext "Depends")</option>
    1.34  		<option $selected_build_depends value="BuildDepends">$(gettext "Build depends")</option>
    1.35 @@ -271,7 +275,8 @@
    1.36  	busybox wget -s $PACKAGE_URL 2> /dev/null &&
    1.37  	PACKAGE_HREF="<a href=\"$PACKAGE_URL\">$PACKAGE</a>"
    1.38  	cat << _EOT_
    1.39 -$PACKAGE_HREF $(installed_size $PACKAGE): $SHORT_DESC
    1.40 +$PACKAGE_HREF $(installed_size $PACKAGE): $SHORT_DESC \
    1.41 +<a href="?receipt=$PACKAGE">$(gettext "Receipt")</a>
    1.42  _EOT_
    1.43  fi
    1.44  	[ -n "$(GET debug)" ] && cat << _EOT_
    1.45 @@ -420,6 +425,69 @@
    1.46  	sed -e 's/&/\&amp;/g' -e 's/</\&lt;/g' -e 's/>/\&gt;/g'
    1.47  }
    1.48  
    1.49 +# Create some clickable links
    1.50 +urllink()
    1.51 +{
    1.52 +	sedit=""
    1.53 +	[ -n "$WEB_SITE" ] && sedit="$sedit -e 's|^WEB_SITE=\"\\(.*\\)\"|WEB_SITE=\"<a href=\"$WEB_SITE\">\\1</a>\"|'"
    1.54 +	[ -n "$WGET_URL" ] && sedit="$sedit -e 's|^WGET_URL=\"\\(.*\\)\"|WGET_URL=\"<a href=\"$WGET_URL\">\\1</a>\"|'"
    1.55 +	[ -n "$CATEGORY" ] && sedit="$sedit -e 's|^CATEGORY=\"\\(.*\\)\"|CATEGORY=\"<a href=\"?category=$CATEGORY\">\\1</a>\"|'"
    1.56 +	[ -n "$WANTED" ] && sedit="$sedit -e 's|^WANTED=\"\\(.*\\)\"|WANTED=\"<a href=\"?receipt=$WANTED\">\\1</a>\"|'"
    1.57 +	[ -f $WOK/$PACKAGE/description.txt ] && sedit="$sedit -e 's|^SHORT_DESC=\"\\(.*\\)\"|SHORT_DESC=\"<a href=\"?desc=$PACKAGE\">\\1</a>\"|'"
    1.58 +	if [ -n "$HOST_ARCH" ]; then
    1.59 +		tmp=""
    1.60 +		for i in $HOST_ARCH ; do
    1.61 +			tmp="$tmp <a href=\\\"?arch=$i\\\">$i</a>"
    1.62 +		done
    1.63 +		sedit="$sedit -e 's|^HOST_ARCH=\".*\"|HOST_ARCH=\"${tmp# }\"|'"
    1.64 +	fi
    1.65 +	if [ -n "$TAGS" ]; then
    1.66 +		tmp=""
    1.67 +		for i in $TAGS ; do
    1.68 +			tmp="$tmp <a href=\\\"?tags=$i\\\">$i</a>"
    1.69 +		done
    1.70 +		sedit="$sedit -e 's|^TAGS=\".*\"|TAGS=\"${tmp# }\"|'"
    1.71 +	fi
    1.72 +	if [ -n "$DEPENDS" ]; then
    1.73 +		tmp=""
    1.74 +		for i in $(echo $DEPENDS) ; do
    1.75 +			tmp="$tmp <a href=\\\"?package=$i\\\">$i</a>"
    1.76 +		done
    1.77 +		sedit="$sedit -e 's|^DEPENDS=\".*\"|DEPENDS=\"${tmp# }\"|'"
    1.78 +	fi
    1.79 +	if [ -n "$BUILD_DEPENDS" ]; then
    1.80 +		tmp=""
    1.81 +		for i in $(echo $BUILD_DEPENDS) ; do
    1.82 +			tmp="$tmp <a href=\\\"?package=$i\\\">$i</a>"
    1.83 +		done
    1.84 +		sedit="$sedit -e 's|^BUILD_DEPENDS=\".*\"|BUILD_DEPENDS=\"${tmp# }\"|'"
    1.85 +	fi
    1.86 +	if [ -n "$SUGGESTED" ]; then
    1.87 +		tmp=""
    1.88 +		for i in $(echo $SUGGESTED) ; do
    1.89 +			tmp="$tmp <a href=\\\"?package=$i\\\">$i</a>"
    1.90 +		done
    1.91 +		sedit="$sedit -e 's|^SUGGESTED=\".*\"|SUGGESTED=\"${tmp# }\"|'"
    1.92 +	fi
    1.93 +	if [ -n "$CONFIG_FILES" ]; then
    1.94 +		tmp=""
    1.95 +		for i in $(echo $CONFIG_FILES) ; do
    1.96 +			tmp="$tmp <a href=\\\"?file=$i\\\">$i</a>"
    1.97 +		done
    1.98 +		sedit="$sedit -e 's|^CONFIG_FILES=\".*\"|CONFIG_FILES=\"${tmp# }\"|'"
    1.99 +	fi
   1.100 +	if [ -n "$PROVIDE" ]; then
   1.101 +		tmp=""
   1.102 +		for i in $(echo $PROVIDE) ; do
   1.103 +			tmp="$tmp <a href=\\\"?package=${i%:*}\\\">$i</a>"
   1.104 +		done
   1.105 +		sedit="$sedit -e 's|^PROVIDE=\".*\"|PROVIDE=\"${tmp# }\"|'"
   1.106 +	fi
   1.107 +	eval sed $sedit \
   1.108 +		-e "'s|^MAINTAINER=\".*\"|MAINTAINER=\"<a href=\"?maintainer=$MAINTAINER\">$MAINTAINER</a>\"|'" \
   1.109 +		-e "'s|^genpkg_rules|<a href=\"?filelist=$PACKAGE\">&</a>|'"
   1.110 +}
   1.111 +
   1.112  display_packages_and_files()
   1.113  {
   1.114  last=""
   1.115 @@ -683,30 +751,45 @@
   1.116  
   1.117  ### Package description
   1.118  Desc)
   1.119 -	if [ -f $WOK/$SEARCH/description.txt ]; then
   1.120 -		cat << _EOT_
   1.121 -
   1.122 -<h3>$(eval_gettext "Result for: \$SEARCH")</h3>
   1.123 -<pre>
   1.124 -$(htmlize < $WOK/$SEARCH/description.txt)
   1.125 -</pre>
   1.126 -_EOT_
   1.127 -	else
   1.128 -		cat << _EOT_
   1.129 +	cat << _EOT_
   1.130  
   1.131  <h3>$(eval_gettext "Result for: \$SEARCH")</h3>
   1.132  <pre>
   1.133  _EOT_
   1.134 +	if [ -f $WOK/$SEARCH/description.txt ]; then
   1.135 +		htmlize < $WOK/$SEARCH/description.txt
   1.136 +	else
   1.137  		last=""
   1.138  		grep -i "$SEARCH" $PACKAGES_REPOSITORY/packages.desc | \
   1.139  		sort | while read pkg extras ; do
   1.140  			. $WOK/$pkg/receipt
   1.141  			package_entry
   1.142  		done
   1.143 -		cat << _EOT_
   1.144 +	fi
   1.145 +	cat << _EOT_
   1.146  </pre>
   1.147  _EOT_
   1.148 -	fi
   1.149 +	;;
   1.150 +
   1.151 +
   1.152 +### Arch
   1.153 +Arch)
   1.154 +	cat << _EOT_
   1.155 +
   1.156 +<h3>$(eval_gettext "Result for: \$SEARCH")</h3>
   1.157 +<pre>
   1.158 +_EOT_
   1.159 +	last=""
   1.160 +	grep ^HOST_ARCH= $WOK/*/receipt |  grep -i "$SEARCH" | \
   1.161 +	sed "s|$WOK/\(.*\)/receipt:.*|\1|" | sort | while read pkg ; do
   1.162 +		HOST_ARCH=
   1.163 +		. $WOK/$pkg/receipt
   1.164 +		echo " $HOST_ARCH " | grep -iq " $SEARCH " &&
   1.165 +		package_entry
   1.166 +	done
   1.167 +	cat << _EOT_
   1.168 +</pre>
   1.169 +_EOT_
   1.170  	;;
   1.171  
   1.172  
   1.173 @@ -756,11 +839,10 @@
   1.174  
   1.175  <h3>$(eval_gettext "Result for: \$SEARCH")</h3>
   1.176  <pre>
   1.177 -$(if [ -f  $WOK/$SEARCH/taz/*/receipt ]; then
   1.178 -	cat $WOK/$SEARCH/taz/*/receipt
   1.179 -  else
   1.180 -    cat $WOK/$SEARCH/receipt
   1.181 -  fi | htmlize)
   1.182 +$(receipt=$WOK/$SEARCH/taz/*/receipt
   1.183 +  [ -f  $receipt ] || receipt=$WOK/$SEARCH/receipt
   1.184 +  . $receipt
   1.185 +  cat $receipt | htmlize | urllink)
   1.186  </pre>
   1.187  _EOT_
   1.188  	;;