OpenSDE Framework (without history before r20070)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

79 lines
2.2 KiB

#!/bin/bash
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: lib/misc/catedit.sh
# Copyright (C) 2006 - 2008 The OpenSDE Project
# Copyright (C) 2004 - 2006 The T2 SDE Project
#
# More information can be found in the files COPYING and README.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License. A copy of the
# GNU General Public License can be found in the file COPYING.
# --- SDE-COPYRIGHT-NOTE-END ---
#
# WARNING: Create backup copies of your files before you use this tool
# for editing the categories of your packages !!!
#
# Usage: sh lib/misc/catedit.sh package/base/*/*.desc
# or: sh lib/misc/catedit.sh -a
#
set -e
item=''
tmp=$( mktemp )
if [ $(dialog --version 2>&1| grep -c "0.9") -eq 0 ]; then
echo "dialog's version at least 0.9 needed"
exit 1
fi
if [ "$1" = "-a" -o "$1" = "--all" ]
then files="$(find package/ -name *.desc | sort -t '/' -k 4)"
else files="$@"
fi
until
pkglst=$(grep '^\[C\]' $files | sed -e 's,^[^:]*/,,;' \
-e 's,\.[^ ]* , ",;' -e 's,$,",;' | sed -e 's, "$,",' \
| tr '\n' ' ' )
eval dialog --backtitle \"ROCK Linux package category editor\" \
${item:+--default-item} $item --cancel-label \
Quit --menu \"Choose the package you want to edit\" \
42 120 35 $pkglst 2> $tmp
item="$( cat $tmp )"
cat $tmp
[ -z "$item" ]
do
for file in $files; do
[[ $file = */$item.desc ]] && break
done
(for category in $(awk '/^[^# ]/ {print $1}' < etc/categories ); do
echo -n $category $category
if [ -n "$(grep "^\[C\].*$category" $file )" ]
then echo -e " on "
else echo -e " off "
fi
done ) > $tmp
dialog --cancel-label Back --backtitle " categories for $item " \
--checklist "$(grep '^\[I\]' $file | sed 's/\[I\] //' )" \
42 80 35 $(cat $tmp) 2> $tmp
value=$( cat $tmp | sed -e 's/"//g' -e 's/ $//' )
if [ "$value" ] ; then
cat $file | sed "s,^\[C\] .*,\[C\] $value,g" > $tmp
cat $tmp > $file
#grep -v '^\[C\]' "$file" > $tmp
#echo -e '\n'"[C] $value" >> $tmp
#./scripts/Create-DescPatch $item | patch -p1
fi
done
rm -f $tmp