#!/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
|