All KNotes gone

Duncan 1i5t5.duncan at
Wed Oct 15 07:58:10 BST 2014

Alex Schuster posted on Wed, 15 Oct 2014 01:13:42 +0200 as excerpted:

> Finally! The notes are back.
> I wrote:
>> Some while ago already, KDE killed all my knotes. I think it was when
>> 4.13.0 came out, and some migrator tried to migrate the existing notes.
>> Well, it failed here. Now, I really want to have them back.
> I finally fixed this. The reason was that my KDE was built
> inconsistently.
> I'm a Gentoo user, so all is built from source. Due to lack of time I
> did not update my system properly in a while, and did not notice that
> not all of KDE's packages were up to date. I was missing the kdepim USE
> flag, which probably had been automatically enabled before. Without it,
> all stuff related to this was not updated since April. The rest was, but
> did not care about the old versions of KDEPIM stuff I had installed.

Hmm... I run with USE="-* ..." so don't have to worry about flags 
changing auto-enabled state on me.

> My main fault was not to run emerge --depclean, which would have removed
> obsolete packages like knotes, so I would have noticed. Still, it's
> somewhat weird that the migrator did not check whether the application
> is up to date, but well, I guess that's one of the things I need to care
> about myself.

My gentoo update routine (which includes depclean):

1) Log in as my admin user (which isn't root but has full no-password 
sudo privs, so I don't run as that user all the time) in two separate 
terminal (konsole) windows.

2) Run esyn in one terminal.

Note it's not esync.  Esyn is my sync script that does a bunch of other 
stuff too, like remount the root partition read-write (it's read-only by 
default), check and mount if not mounted my portage partition, sync both 
the gentoo tree and the overlays, run a patcher to automatically patch 
ebuilds based on patches in /etc/portage/patches.ebuild just like 
epatch_user does for sources, remanifests ebuilds if patched, rebuild the 
portage edb, and finally, emerge --fetch --update --deep @world.

3) While esyn is running, in the other terminal window run the scripts 
that effectively git log --color --stat --graph the overlays, listing 
what changed there.  If individual commits look interesting, I'll run the 
script that does git show --color --patch-with-stat on the specific patch 
in question.

Then I run the script that does an ebuild unpack for a few of the
live-git packages I run (btrfs-progs and pan, at this point), checking to 
see if they have updates.  If not, a different script deletes the 
unpacked workdir.  If so, I run the script that displays the git logs for 
those changes, and again, drill down to individual patches if any commits 
look interesting.

4) By that time esyn is generally about done with its cache update, and I 
run my first emerge --ask --verbose --update --deep --newuse @world.

When it spits out the proposed updates, I examine any USE flag changes 
(which portage nicely color-highlights) and decide whether I want to 
change any of them before I continue.  Often that'll involve running 
equery uses <pkg> in the other terminal window to see what a USE flag 
does.  Sometimes it involves running epc (a stub for emerge --changelog 
<pkg>, that I mention several times below, as well) on the package or 
actually opening the ebuild in an editor.

If I need to make a change, I may run equery hasuse <useflag> to see what 
other packages I have installed use that flag, which can determine 
whether I make the change in make.conf (actually a file it sources that 
only has the USE settings) or in packages.use.  I then edit the 
appropriate file as necessary.

I also go thru the updates list and see if there's anything interesting.  
For core packages like portage or systemd, I epc for a log.  For portage, 
I generally check every bug listed there, to see if it's anything that 
changes things for me.  For systemd and a few other packages, if it's a 
full version upgrade, I'll check upstream's changelog to see what changes 
might affect me.

For less core but still important packages I'll epc gentoo-revision 
upgrades too, tho I'll sometimes skip that for codecs and the like.  The 
idea is that if the change is important enough for a gentoo revision 
bump, I want to know why it's happening and how it might affect me and my 

If there's a whole bunch of packages, I'll do some of them and then get 
an emerge actually building on them, while I continue to investigate the 

5) When I'm done investigating, if there's no changes to make, I'll 
answer yes to the emerge --ask and let the emerge run.  If there's 
changes to make I'll obviously answer no and make the changes, then run 
emerge --ask again, as I will if I did a subset of them earlier because 
the list was long.

6) I let that run, doing other stuff while it does, checking back 
occasionally to see the progress.

7) When done I check all the package specific elog/ewarns to see if 
there's anything specific I need to know about the upgrades.

8) Then I run eal (emerge --ask --verbose --oneshot --jobs=N --load-
average=M @smart-live-rebuild) to check all live-build packages for 
updates and rebuild them if updated.  Mostly that's kde, since I'm 
running kde4-live from the kde overlay, but it'll catch whatever other 
live-builds I'm running including the btrfs-progs and pan I mentioned 
earlier, too.

FWIW, I'm running about 130 live-build packages ATM, and due to 
incomplete package splitting in kde4 triggering rebuilds of various 
separate packages when their common repository updates, I normally have 
about 60-80 packages to rebuild here.  But most of these are rebuilt 
frequently enough that they're hot in ccache and thus don't take a lot of 
time to rebuild.

9) When done I check /those/ elogs.  Generally nothing new there, but I 
check 'em anyway.

10) When all the updates are done...

10a) I'll ear (my stub for revdep-rebuild, the ea normally means emerge --
ask, but here it's revdep-rebuild --ask, just named ea* to fit in with my 
the other ea* stubs) in one terminal...

10b) ... and eup (my stub for etc-update) and then ead (stub for emerge --
depclean), and finally emm (stub to update the whatis/apropos manpage 
database) in the other.

(I don't use the manpage database update cronjob for that any more as 
it's a relatively short job that only needs done after updates anyway, 
and the three jobs eup/ead/emm in the one terminal generally take less 
time than the ear in the other, anyway.)

11) umount the packages/portage/ccache partition.  Shutdown kde/X since I 
just rebuilt much of kde with the live-rebuild.  Run lib_users to see 
what's still running that was either updated or had libraries it used 
updated.  Restart them or if there's several it's often simpler to just 
do a systemctl emergency and simply ^d it to bring the system back up, 
thus restarting most daemons.  Do a systemctl daemon-reexec if systemd 
itself was upgraded or had component libraries updated.

12) That should leave nothing running with open but deleted files on 
root, so I can properly remount it read-only again.

13) Restart kde or do a full shutdown or reboot (I'll often update the 
kernel at the same time, and the reboot will load the new kernel), as 

The whole process normally takes about two hours, and that's a much more 
thoroughly checked update than most admins do, because as sysadmin over 
my own systems I take my sysadmin responsibilities seriously, and want to 
know about changes that affect me.  If I've already updated that week or 
there wasn't much going on, it may only take an hour.  OTOH, if there's a 
big systemd update to figure out what's new in and work out config 
updates for, it might take me 3-6 hours.  And of course if something 
doesn't build or it does but then doesn't work, I have to go on bug 
patrol, and for tough bugs, sometimes I'll end up sleeping on it and/or 
going to work and coming back to it later.

But two hours isn't too bad as a norm, and I normally update at least 
once a week to 10 days on my main machine.  Even when I'm busy I tend to 
find time for it at least every 10 days or so, tho I think it has been 
two weeks a couple times.  But go too long and the updates start stacking 
up, which brings me to...

My netbook, is quite a different story.  I do the builds for it in a 32-
bit chroot on my main machine too, but it can go a year or more between 
updates.  Actually, I think it's three years now, and I'm considering 
simply doing a clean stage-3 reinstall this time around.  Or maybe 
dumping it and buying a 64-bit amd64-based chromebook or the like, to 
wipe and run gentoo on of course, so for the most part I can use the same 
binpkgs on both machines.

But contrary to the name I actually don't use it on the net much (I only 
connect via Ethernet to my own LAN, behind an OpenWRT-based router, and 
don't use it for browsing, except for one period when my main machine was 
down due to hardware problems), and I make sure I don't put anything 
private on the netbook in case it's lost or stolen, so I don't actually 
have to worry too much about security on it, and as long as it's doing 
what I need it to do, functioning mainly as a high capacity (120 gig) 
media player and ebook reader playing stuff I've downloaded to it from 
the main machine, I don't have to worry about updating it too much.

Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

This message is from the kde mailing list.
Account management:
More info:

More information about the kde mailing list