:: [devuan-dev] bug#634: backuppc: Bac…
Top Page
Delete this message
Reply to this message
Author: Fabio Muzzi
Date:  
To: Devuan Bug Tracking System
Subject: [devuan-dev] bug#634: backuppc: Backuppc fail to start on a clean installation
Package: backuppc
Version: 4.4.0-3
Severity: normal
Tags: patch
X-Debbugs-Cc: debianbugs@???

Dear Maintainer,

Backuppc, installed from the package on a new server (so no
upgrade/update from previous versions) fails with this message:

# apt install backuppc

[... omitted output...]

Creating config file /etc/backuppc/config.pl with new version
Starting backuppc...BackupPC cannot be started because important parameters are missing from config.pl.
If you just upgraded BackupPC, please update /etc/backuppc/config.pl.
invoke-rc.d: initscript backuppc, action "start" failed.
dpkg: error processing package backuppc (--configure):
installed backuppc package post-installation script subprocess returned error exit status 1


This happens because the init script for backuppc contains this check:

# Check for incompatible old config files
check_old_config()
{
    BAD=0
    CONF=/etc/backuppc/config.pl


    grep -q IncrLevel $CONF || BAD=1


    if [ "$BAD" = "1" ]; then
        echo "BackupPC cannot be started because important parameters are missing from config.pl."
        echo "If you just upgraded BackupPC, please update /etc/backuppc/config.pl."
        exit 1
    fi
}


But it seems that this check is not needed anymore in Backuppc 4, it was
something related to V2 -> V3 upgrade.

This check is called when starting/restarting backuppc. By commenting
out the call to check_old_config under start and restart, backuppc
works.

This will leave you with an unconfigured package in apt, so after
modifying the init script you'll also have to run:

rmdir /var/lib/backuppc/pc/localhost
apt install



Kind regards

Fabio Muzzi



-- System Information:
Distributor ID:    Devuan
Description:    Devuan GNU/Linux 4 (chimaera)
Release:    4
Codename:    chimaera
Architecture: x86_64


Kernel: Linux 5.10.0-9-amd64 (SMP w/2 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages backuppc depends on:
ii  adduser                                    3.118
ii  apache2 [httpd]                            2.4.51-1~deb11u1
ii  apache2-utils                              2.4.51-1~deb11u1
ii  backuppc-rsync                             3.1.3.0-3
ii  bzip2                                      1.0.8-4
ii  debconf [debconf-2.0]                      1.5.77
ii  exim4-daemon-light [mail-transport-agent]  4.94.2-7
ii  init-system-helpers                        1.60+devuan1
ii  iputils-ping                               3:20210202-1
ii  libarchive-zip-perl                        1.68-1
ii  libbackuppc-xs-perl                        0.62-1+b1
ii  libc6                                      2.31-13+deb11u2
ii  libcgi-pm-perl                             4.51-1
pn  libdigest-md5-perl                         <none>
ii  libfile-listing-perl                       6.14-1
ii  libtime-parsedate-perl                     2015.103-3
ii  lsb-base                                   11.1.0
ii  perl [libio-compress-perl]                 5.32.1-4+deb11u2
ii  ucf                                        3.0043


Versions of packages backuppc recommends:
ii  libio-dirent-perl            0.05-1+b9
ii  openssh-client [ssh-client]  1:8.4p1-5
ii  rrdtool                      1.7.2-3+b7
ii  samba-common-bin             2:4.13.13+dfsg-1~deb11u2
ii  smbclient                    2:4.13.13+dfsg-1~deb11u2


Versions of packages backuppc suggests:
pn  certbot | acme-tiny | acmetool | dehydrated | lacme | lecm  <none>
pn  libscgi-perl                                                <none>
pn  par2                                                        <none>
ii  rsync                                                       3.2.3-4+deb11u1
pn  w3m | www-browser                                           <none>


-- Configuration Files:
/etc/backuppc/apache.conf changed:
Alias /backuppc /usr/share/backuppc/cgi-bin/
<Directory /usr/share/backuppc/cgi-bin/>
    AllowOverride None
        # Uncomment the line below to ensure that nobody can sniff important
        # info from network traffic during editing of the BackupPC config or
        # when browsing/restoring backups.
        # Requires that you have your webserver set up for SSL (https) access.
        #SSLRequireSSL

                    
    Options ExecCGI FollowSymlinks
    AddHandler cgi-script .cgi
    DirectoryIndex index.cgi
        AuthUserFile /etc/backuppc/htpasswd
    AuthType basic
    AuthName "BackupPC admin"
        <RequireAll>
        # Comment out this line once you have setup HTTPS and uncommented SSLRequireSSL
        # This line ensures that only authenticated users may access your backups
        Require valid-user
    </RequireAll>
</Directory>


/etc/init.d/backuppc changed:
set -e
BINDIR=/usr/share/backuppc/bin
DATADIR=/var/lib/backuppc
RUNDIR=/run/backuppc
USER=backuppc
GROUP=backuppc
NICE=0
IONICE=best-effort
test -f /etc/default/backuppc && . /etc/default/backuppc
NAME=backuppc
DAEMON=BackupPC
test -x $BINDIR/$DAEMON || exit 0
. /lib/lsb/init-functions
[ -r /etc/default/rcS ] && . /etc/default/rcS
if [ ! -d $RUNDIR ]; then
    mkdir -p $RUNDIR
    chown ${USER}:${GROUP} $RUNDIR
    chmod 0755 $RUNDIR
fi
check_old_config()
{
    BAD=0
    CONF=/etc/backuppc/config.pl


    grep -q IncrLevel $CONF || BAD=1


    if [ "$BAD" = "1" ]; then
    echo "BackupPC cannot be started because important parameters are missing from config.pl."
    echo "If you just upgraded BackupPC, please update /etc/backuppc/config.pl."
    exit 1
    fi
}
case "$1" in
  start)
    log_begin_msg "Starting $NAME..."
    start-stop-daemon --start --pidfile $RUNDIR/BackupPC.pid \
                --nicelevel $NICE --iosched $IONICE -c $USER --exec $BINDIR/$DAEMON -- -d
    log_end_msg $?
    ;;
  stop)
    log_begin_msg "Stopping $NAME..."
    start-stop-daemon --stop --pidfile $RUNDIR/BackupPC.pid -u $USER \
                --oknodo --retry 30
    log_end_msg $?
      ;;
  restart)
    log_begin_msg "Restarting $NAME..."
    start-stop-daemon --stop --pidfile $RUNDIR/BackupPC.pid -u $USER \
                --oknodo --retry 30
    check_old_config
    start-stop-daemon --start --pidfile $RUNDIR/BackupPC.pid \
                --nicelevel $NICE --iosched $IONICE -c $USER --exec $BINDIR/$DAEMON -- -d
    log_end_msg $?
    ;;
  reload|force-reload)
    log_begin_msg "Reloading $NAME configuration files..."
    start-stop-daemon --stop --pidfile $RUNDIR/BackupPC.pid -u $USER \
                --signal 1
    log_end_msg $?
    ;;
  status)
    status_of_proc "$BINDIR/$DAEMON" "$NAME" && exit 0 || exit $?
    ;;
  *)
    log_success_msg "Usage: /etc/init.d/$NAME {start|stop|restart|reload|status}"
    exit 1
    ;;
esac
exit 0



-- debconf information:
backuppc/tmppass: (password omitted)
* backuppc/configuration-note:
* backuppc/reconfigure-webserver: apache2
backuppc/restart-webserver: true