I have the following as an emerge.sh script in my croon.daily directory.
 I used to have a lock file to prevent multiple copies from running, but
I now use fcron, which has this feature built-in.  By default, all
output gets mailed to root, which I have aliased to me.

---snip---
    emerge sync  2>&1 > /dev/null
        echo 'emerge system:'
        emerge -pv --nocolor system
        echo 'emerge world:'
        emerge -pv --nocolor world
        /usr/bin/revdep-rebuild --pretend --quiet --nocolor
---snip---

Unfortunately, ANSI color is hard-coded into the utilities, so I get a
few control-characters in the output...but it works OK.

I have a better one I wrote, but I'll need to find it...I'll post it later.

Matt



Ian P. Christian wrote:
> I've recently been spending some time getting to know a little more about 
> portage, and I've run into a few issues.
> 
> $ emerge --update --deep --newuse world 
> 
> It's reasonably well known that the above doesn't update all packages 
> installed on a system - I think it only updates packages that are in the 
> world file.  Recently, this issue has left a server of mine with a insecure 
> version of apache (apache was installed due to a dependency caused by PHP, or 
> some application I installed that pulled in php, which in turn pulled in 
> apache.).  
> The man page does cover this, but it's by no means made obvious - and I think 
> this is rather a large issue, as a log of users of gentoo probably don't know 
> this.
> 
> From the manual: 
> 
>        "When you install a package with uninstalled dependencies and do not 
> explicitly state those dependencies in the list of parameters, they will not 
> be added to the world file.  If you want them to be detected for world 
> updates, make sure to explicitly list them as parameters to emerge."
> 
> It should have a big WARNING or something next to it IMO.
> 
> emerge --depclean will point out what isn't in your world file for you, so 
> you 
> can go ahead and add things to the world file manually.  Having done this, 
> when you uninstall whatever it was that dragged that dependency in in the 
> first place, you will get unneeed packages on the system.
> 
> Lets say for examples sake I install mail-client/squirrelmail.  This will 
> pull 
> in PHP, which will pull in apache.  In this case, -uD will not update apache 
> should a new version appear.  An emerge --depclean will show apache as being 
> removable- so apache will need manually adding to the world file.  Now, when 
> I uninstall squirrrelmail, apache is no longer needed, but depclean won't 
> show that, because I was forced to add it to the world file.  In a lot of 
> situations, the package might be a lot more obscure, perhaps some odd 
> libraries which now are in the world file, and will stay there, because 
> unless I manually look though the world file, and run an 'equery depends' on 
> each one, I won't notice they are no longer needed.
> 
> So it seems that I either suffer packages not being updated, or am forced 
> into 
> adding things into the world file and then face the problem that dependencies 
> will not be removable by depclean.
> 
> Also, I don't understand why emerge --depclean will show a package, which 
> upon 
> doing an 'equery depends' on that package will show that actaully that 
> package is needed. Why do these tools contradict each other? Surly depclean 
> should have the logic that equery uses to see when a dependency really is 
> needed?
> 
> glsa-check goes some way to solving the problem, it does check to see if 
> there 
> are outdated packages that have been effected by security issues - but it 
> doens't update libraries that were installed but aren't in the world file.
> 
> Is there a script that's been developed to be cronned to email the sys admin 
> a 
> report saying what packages need updating? I noticed that in the last month 
> on this list there has been some useful information about running glsa-check 
> and rsynicng just part of the portage tree. This kind of thing is intregal to 
> running a server, and if no such script exists in the portage tree, I will 
> attempt to write one.
> 
> Kind Regards,
> 
-- 
[email protected] mailing list

Reply via email to