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