FATAL: debian/scripts/misc/prepare-ppa-source

TJ ubuntu at tjworld.net
Sat Mar 14 01:11:35 UTC 2009


A few minutes ago I was tempted to find out whether
debian/scripts/misc/prepare-ppa-source might be useful in uploading test
kernels to my personal PPA.

An initial error report made me interrupt the script and go hunting for
the cause:

cp: missing destination file operand after `../last-ppa-upload'
Try `cp --help' for more information.
^C

I spent a while hunting down where $(ppa_file) comes from before
thinking to check the git-log, whereupon I got a nasty shock:

git log -- debian/scripts/misc/prepare-ppa-source
error: object directory /home/all/SourceCode/linux/linux-2.6/.git/objects does not exist; check .git/objects/info/alternates.
error: Could not read 4a6908a3a050aacc9c3a2f36b276b46c0629ad91
fatal: cannot simplify commit 94cba110c064e49b437fe482dbbcb6f7b3a652d4 (because of 4a6908a3a050aacc9c3a2f36b276b46c0629ad91)

After some confusion I realised that the main linux-2.6/ directory had
gone - cue that sinking feeling that I tried to avoid on Friday 13th!

I have my kernel source repositories organised on a common root:

/home/all/SourceCode/linux/

./linux-2.6
# tracks Linus's tree and contains remotes from various other trees
# (linux-pci, x86-tip, etc.)

./ubuntu-jaunty
./ubuntu-intrepid
./ubuntu-hardy
# etc...

Each of these trees are initialised using a reference to ./linux-2.6 to
avoid needless duplication.

After some wondering as to where/why ./linux-2.6/ had disappeared and
wondering if this was an ext4 file-system issue I thought back to the
last significant action - prepare-ppa-source.

Looking at the script I discovered this gem:

rm -rf ../linux* include/config .config

I can't see why that wild-card is needed but it is certainly fatal and
unexpected!

The tragedy here is that the ./linux-2.6/ repository contained my PCI
IOMEM system as well as a host of other branches for bug-fixes.

Any ideas how to recover ext4 data!? /home/all/SourceCode is a separate
ext4 file-system in a LV so I've unmounted it for now to preserve the
state.





More information about the kernel-team mailing list