[Erp5-dev] ERP5's deb package does not rebuild /home/erp5 in case of total removal of /home/erp5

Boris Kocherov bk at raskon.org
Fri Sep 18 21:11:38 CEST 2009


On 09/16/09 17:19, Tadeus Prastowo wrote:
> Hi Ho!
> 
> I upgraded my Hardy to Jaunty using Update Manager. In my Hardy, I had
> got ERP5 installation that I hadn't used because of the already-fixed
> problem mentioned in
> http://mail.nexedi.com/pipermail/erp5-dev/2009-September/002292.html
> 
> After the upgrade, I purged ERP5 from my system and deleted /home/erp5
> to start everything from scratch. My erp5.list in

Removing user's home folder without removing user - bad workflow ( change
user's home folder needs too - see /etc/passwd ).
If you want install erp5 from scratch, you can run:
sudo rm -r /home/erp5/erp5-buildout

> my /etc/apt/sources.list.d is as follows:
> 
> --- 8< ---------------
> deb http://10.0.0.51:3142/erp5.raskon.org/apt jaunty main
> deb-src http://10.0.0.51:3142/erp5.raskon.org/apt jaunty main
> --- 8< ---------------
> 
> Doing sudo aptitude install erp5-buildout ended with the following error message:
> 
> --- 8< ---------------
> Setting up erp5-buildout (0.8jaunty1) ...
> abort: No such file or directory: /home/erp5/erp5-buildout
> dpkg: error processing erp5-buildout (--configure):
>  subprocess post-installation script returned error exit status 255
> Processing triggers for python-support ...
> Processing triggers for libc6 ...
> ldconfig deferred processing now taking place
> Processing triggers for menu ...
> Errors were encountered while processing:
>  erp5-buildout
> E: Sub-process /usr/bin/dpkg returned an error code (1)
> A package failed to install.  Trying to recover:
> Setting up erp5-buildout (0.8jaunty1) ...
> abort: No such file or directory: /home/erp5/erp5-buildout
> dpkg: error processing erp5-buildout (--configure):
>  subprocess post-installation script returned error exit status 255
> Errors were encountered while processing:
>  erp5-buildout
> --- 8< ---------------
> 
> Well, I solved this problem by manually pulling out erp5-buildout from
> the repository at https://www.raskon.org/hg as follows:
> 
> sudo mkdir /home/erp5/
> sudo chown erp5:erp5 /home/erp5
> cd /home/erp5
> sudo -u erp5 hg clone https://www.raskon.org/hg/erp5-buildout
> 
> After that, entering `sudo aptitude install erp5-buildout' completes the
> installation phase.
> 
> The same problem also appears on Hardy if I try to reinstall
> erp5-buildout after I purged erp5-buildout and removed /home/erp5.
> 
> The error, however, does not appear if I start with a fresh installation
> of Hardy or Jaunty. Restarting the system does not help.
> 
> After some investigation, I realized that "/home/erp5" is created by
> "adduser". Since "sudo aptitude purge erp5-buildout" does not remove
> erp5 user and group in "debian/postrm" script, it prevents "adduser"
> from running in "debian/postinst" script, and therefore, no creation of
> "/home/erp5".
I agree, first part  issue:
"sudo aptitude purge erp5-buildout" does not remove erp5 user and 
group in "debian/postrm" script.
But, i do not sure what distribuion upgrade save my
/home/erp5/erp5-buildout/var (with gigabytes essential information )
in that case.


Second part not to be issue: no creation of "/home/erp5".
I explain: If system contain user and his home folder !='/nonexistent',
then folder whould be exist.

> 
> This situation is annoying for users that somehow try to start the
> installation of ERP5 from scratch by removing "/home/erp5" manually.
> Therefore, I propose the attached patches. Only one of them needs to be
> applied because patch1 fixes the problem in "debian/postinst" script
> while patch2 fixes the problem in "debian/postrm" script. I myself
> prefer patch2 to be applied since it is saner.
> 
> Best regards,
> Eus
> 
> --------------------------------------
> Free Software specialist and developer
>         of
> PT. Vikasa Infinity Anugerah
> --------------------------------------

> --- postrm	2009-09-16 17:07:23.000000000 +0700
> +++ debian/postrm	2009-09-16 17:09:38.000000000 +0700
> @@ -21,12 +21,12 @@
>  case "$1" in
>      purge)
>          # remove zope user and group.
> -        #    if getent passwd $erp5user > /dev/null 2>&1 ; then
> -        #        userdel $erp5user
> -        #    fi
> -        #    if getent group $erp5group > /dev/null 2>&1 ; then
> -        #        groupdel $erp5group
> -        #    fi
> +           if getent passwd $erp5user > /dev/null 2>&1 ; then
> +               userdel $erp5user
I aggree, but one note:
userdel --remove $erp5user 
for me seems better.
> +           fi
> +           if getent group $erp5group > /dev/null 2>&1 ; then
> +               groupdel $erp5group
> +           fi
>          ;;
>  
>      remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)

> --- postinst	2009-09-16 17:01:31.000000000 +0700
> +++ debian/postinst	2009-09-16 17:03:09.000000000 +0700
> @@ -22,6 +22,7 @@
>          erp5homedir=`getent passwd $erp5user | cut -f 6 -d :`
>          erp5buildoutdir=$erp5homedir/erp5-buildout
>          erp5instance=$erp5buildoutdir/parts/instance
> +        [ ! -d $erp5homedir ] && runfromerp5 mkdir $erp5homedir
As i see, it command do not work - user "erp5" do not have permission create /home/erp5
folder.
>          [ ! -d $erp5buildoutdir ] && runfromerp5 hg clone $erp5url $erp5buildoutdir
>          [ ! -d $erp5buildoutdir ] && exit 1
>          cd $erp5buildoutdir

Mercurial have very comfortable feature 'patchbomb' described on this page:
http://mercurial.selenic.com/wiki/PatchbombExtension

-- 
Crisis had come unexpectedly, just as winter comes unexpectedly to
Russia every year.



More information about the Erp5-dev mailing list