epm-optimize 1.32 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#!/bin/sh
#
# Copyright (C) 2015  Etersoft
# Copyright (C) 2015  Vitaly Lipatov <lav@etersoft.ru>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

# TODO: is it different from rpm --rebuilddb?
__repack_rpm_base()
{
23 24
    assure_exists db_dump
    assure_exists db_load
25 26 27 28 29
    cd /var/lib/rpm || fatal
    mv Packages Packages.BACKUP || fatal
    # mask dependencies with a=
    a='' db_dump Packages.BACKUP | a='' db_load Packages || fatal
    rm Packages.BACKUP
30 31 32 33 34
}

epm_optimize()
{

35
[ -z "$*" ] || fatal "No arguments are allowed here"
36

37
case $PMTYPE in
38 39 40 41 42 43
    *-rpm)
        #__repack_rpm_base
        #rm -f /var/lib/rpm/__db*
        a= rpm --rebuilddb
        ;;
    *)
44
        fatal 'Have no suitable command for $PMTYPE'
45
        ;;
46 47 48
esac

}