The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Раздел полезных советов: Автоматизация создания скомпилирова..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [Проследить за развитием треда]

"Раздел полезных советов: Автоматизация создания скомпилирова..."  
Сообщение от auto_tips on 26-Янв-07, 10:23 
#!/bin/sh
#
# pkgmake
# Create package by name or full installed tree
# Version: 1.0b
# Copyright (c) 2007 Eugene Pankratov

pkg_path="/usr/ports/packages/All"
pkg_cmd="pkg_create -yb"

usage()
{
    echo ""
    echo "Usage: `basename $0` <pkg_name>|--all"
    echo ""
    echo "Example: `basename $0` kdebase_3.5.5_3"
    echo "         `basename $0` --all"
    exit 1
}

do_package()
{
pkg_name=$1
pkg_file=${pkg_name}.tbz

    if [ ! -f ${pkg_path}/${pkg_file} ]; then
        echo -n "Creating package '${pkg_name}'... "
        ${pkg_cmd} ${pkg_name}
        echo "Done."
    else
        echo "Package ${pkg_file} already exists. Skiping"
    fi
}

do_all()
{
    echo "Creating all installed packages"
    for i in `pkg_info | awk '{ print $1 }'`
    do
        do_package ${i}
    done
}

main()
{
    if [ "$1" = "" ]; then usage
    else
        cd ${pkg_path}
        if [ "$1" = "--all" ]; then
            do_all
        else
            do_package $1
        fi
    fi

}

main $1

exit 0


URL:
Обсуждается: http://www.opennet.me/tips/info/1356.shtml

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Автоматизация создания скомпилированных пэкаджей во FreeBSD"  
Сообщение от Anonymous on 26-Янв-07, 10:23 
"cd /usr/ports/some/dir; portupgrade -prRkDN `pwd`" - nashe fsio
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Товарисч не умеет писАть скрипты"  
Сообщение от Dmitry U. Karpov on 29-Янв-07, 12:00 
Вместо
if [ "$1" = "" ]; then ... else ...
следует использовать case - быстрее и экономнее (а в ряде случаев экономится запуск программы '[', которая в реале есть 'test').

Кроме того. непонятно создание процедур main, usage и do_all при отсутствии возможности создать сразу несколько пакетов.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру