# missing Origin files after crash during upgrade



## unAmygdala (Sep 3, 2012)

I froze up a system heavily loaded with workstation/user apps while I was doing an update with portmaster -ad from a week prior's complete/successful update.  Instead of trying to gain access to a console (system was completely unresponsive to keyboard/mouse inputs) to figure out what was hanging my system and killing the offending program, I hit the pc power/reset button.  The system rebooted fine.  I then tried portmaster -ad to complete the upgrade and found it's terminating with no origin found errors.  The errors are similar to:


```
===>>> No ORIGIN in /var/db/pkg/kdepimlibs-4.8.4/+CONTENTS
```

I've done a little research to see what I can do and run some utilities to no avail.

I ran portmaster --check-depends and it did add some new origin files.  I answered N to whether I wanted to delete the dependency information because the dependency's appear correct and I don't want to make changes until I'm sure it's the correct thing to do.  

I went into the directories of a lot (not all but enough to see if it worked) of the ports with missing orgin files and did make reinstall.  E.G. I went into deskutils/kdepimlibs4 port directory and did 'make reinstall' and still got the above no ORIGIN error with this port.

I don't think using the portmaster -R option would work because the crash occurred when I was using portmaster -ad, not portmaster -r or -f and the -R option is only for the latter when rebuilding ports.

When I ran pkg_version, there are a huge number of packages (more than 50%) with "pkg_version: corrupted record (pkgdep line without argument), ignoring" errors.

Would portmaster --check-depends and answering y to delete the dependency data help?  I don't think so but need confirmation.

What about manually re-creating origin files?  There were only less than 20 ports that needed to be rebuilt.  Is there some way to manually create origin files?  it seems like it's going to be mostly information contained in the port itself anyway.

I use portmaster exclusively over portmanager and portupgrade.  Could another tool besides portmaster fix the problem and still allow me to continue using portmaster?

Any other ideas besides wiping all my ports and rebuilding them?  If I do that, is there a way to preserve my existing configuration options so I can do the re-build more or less automatically w/o babysitting the configs for each port as they come along?

Thanks!

- Stephen

$ fortune -a
The grand leap of the whale up the Fall of Niagara is esteemed, by all
who have seen it, as one of the finest spectacles in nature.
                -- Benjamin Franklin


----------



## jb_fvwm2 (Sep 4, 2012)

portmaster -y --check-depends might help.
How many ports are installed? I do portmaster upgrades bit by bit[1], might be forced to change if pkgng becomes default and /var/db/pkg flat files disappear. For instance, I put all the .tbz from portmaster -d -B -P -i -g  (packages == -g) on a thumbdrive, copy them to another machine, and put them in /usr/ports/packages/portmaster-download.  As I type this, another machine
is upgrading... 

```
grep x11 ffil0903_file | awk '{print $1}' |  xargs -J % portmaster -d -B -P -i -g %
```
 and ninety-five percent is packages recently copied there from the thumbdrive.  (The "ffil..." is a filtered output of pkg_version... ) 
But still manual intervention is necc. for each long command line; the shell does a lot of the heavy work in that regard.

[1] By about the third year of FreeBSD as the desktop, there were too
many ports installed to upgrade all at once, and occaisional icu, gettext, png, ...  upgrades result in one or two days of downtime,
now often worked around preserving the .so files temporarily in
/usr/local/lib/compat...


----------



## unAmygdala (Sep 5, 2012)

*solved with 'make reinstall' on affected packages*

portmaster --check-depends -y may have helped as it did add some new +CONTENTS files while it ran.  However, I could still not use portmaster to upgrade or install ports.

I went back into the port directory of each of the ports that were still giving me problems and ran make reinstall (make deinstall had no effect b/c the ports weren't recognized as installed).


```
cd /usr/ports/[xxx]/[yyy] && make reinstall
```

I think the reason why I needed to make this post was because I did not 'make reinstall' on all the affected ports, and, had I done so, I wouldn't have had an issue here.


----------

