Hi Rainer, Aitor and All, netman-gui.postinst now is debugged to behave properly when dpkg-reconfigure is used on netman-gui.
sed is still adding an unneccessary leading space in lines Exec= and Comment= in both .desktop files. I was suggested to drop one of the .desktop files and use a symlink instead. I think this is a good idea, but I have been coding for 10 hours 30 minutes now, so it is time for me to go to sleep. Edward On 06/01/2016, Rainer Weikusat <rainerweiku...@virginmedia.com> wrote: > Edward Bartolo <edb...@gmail.com> writes: >> Enjoy yourself, I am working on it. I think, I got a way of putting it >> right. There are two .desktop files that control how netman gui >> behaves: >> a) /etc/xdg/autostart/netman.desktop >> b) /usr/share/applications/netman.desktop >> >> The netman-gui.postinst script has to modify both of them. > > In this case, you shouldn't copy the file but create a symlink to > it. This means there's only one copy which has to be modified. > > [...] > >> The sed command in the postinst script also has to >> make sure no multiple Exec= and Comment= lines are added to both >> .desktop files. > > sed is generally the wrong choice for editing files (as it's the 'stream > editor'). ed can be used for that (needs to become a package dependency > as 'certain people in the Debian project' were hit by a pine at a > formative age and are thus opposed to using sensibly-working text > editors). > > The following shell function should be sufficient for your use-case > > ------- > change_line() > { > file="$1" > new="`echo $2 | sed 's/\(.\)/\\\\\1/g'`" > key=`expr "$2" : "\([^=]\+=\)."` > ed "$file" <<EOF > /^$key/s/.*/$new > wq > EOF > } > ------- > > This takes a file as first argument and the new line as second > argument. If a line with the same 'keyword' (text before the first =) > already exists, it's replaced. Otherwise, nothing happens. > > NB: Like all shell code (or most), this won't work with 'suitably > crafted input'. But shell programming is an exercise in inventing 'good > enough' solutions for fairly well-defined problems. > _______________________________________________ > Dng mailing list > Dng@lists.dyne.org > https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng > _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng