NBash
1#!/bin/sh
2#
3# Copyright (C) 2015 Etersoft
4# Copyright (C) 2015 Vitaly Lipatov <lav@etersoft.ru>
5#
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU Affero General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU Affero General Public License for more details.
15#
16# You should have received a copy of the GNU Affero General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18#
19
20# TODO: is it different from rpm --rebuilddb?
21__repack_rpm_base()
22{
23assure_exists db_dump || fatal
24assure_exists db_load || fatal
25cd /var/lib/rpm || fatal
26mv Packages Packages.BACKUP || fatal
27# mask dependencies with a=
28a='' db_dump Packages.BACKUP | a='' db_load Packages || fatal
29rm Packages.BACKUP
30}
31
32epm_optimize()
33{
34
35[ -z "$*" ] || fatal "No arguments are allowed here"
36
37case $PMTYPE in
38*-rpm)
39#__repack_rpm_base
40#rm -f /var/lib/rpm/__db*
41a= rpm --rebuilddb
42;;
43*)
44fatal "Have no suitable command for $PMTYPE"
45;;
46esac
47
48}
49