Looks like I'll get to patch some source code instead of some docs now...
I think I found the problem. I dug into the code and found out how the
.version file is parsed. However, when makesrpm.pl untars the source, it
does NOT untar everything. I hacked makesrpm.pl to abort after untarring
the source, and here's the entire directory:
efs...@madefsd01$ ll -a /tmp/ShFYl5PUyS/openafs-1.5.77
total 24
drwxrwxr-x 4 efsops efsops 4096 Oct 7 14:39 .
drwx------ 3 efsops efsops 4096 Oct 7 14:39 ..
drwxr-xr-x 2 efsops efsops 4096 Oct 7 14:31 build-tools
-rw-r--r-- 1 efsops efsops 6604 Sep 7 21:01 configure.ac
drwxrwxr-x 3 efsops efsops 4096 Oct 7 14:39 src
It's starting to become obvious that noone has built the rpms from the
source tree without having a complete git checkout, because if .version's
not there, then it falls back on querying the version with:
git_version=`git describe --abbrev=4 HEAD 2>/dev/null`
The workaround is to add .version to the list of files extracted.
Now I get:
efs...@madefsd01$ ./makesrpm.pl ../../../../openafs-1.5.77-src.tar.bz2
../../../../openafs-1.5.77-doc.tar.bz2
Building version 1.5.77
...
...
Patch to follow shortly...
On Thu, Oct 7, 2010 at 5:34 PM, Andrew Deason <[email protected]>wrote:
> On Thu, 7 Oct 2010 17:18:36 -0400
> Phillip Moore <[email protected]> wrote:
>
> > and then I was able to at least build the srpm. However, when rebuilding
> > the srpm to get binary rpms:
> >
> > + /usr/bin/bzip2 -dc
> /var/tmp/rpm-root/SOURCES/openafs-UNKNOWN-doc.tar.bz2
> > + tar -xf -
> > tar: Read 6144 bytes from -
> > + STATUS=0
> > + '[' 0 -ne 0 ']'
> > + cd openafs-UNKNOWN
> > /var/tmp/rpm-tmp.73321: line 51: cd: openafs-UNKNOWN: No such file or
> > directory
> > error: Bad exit status from /var/tmp/rpm-tmp.73321 (%prep)
>
> I don't know why it's doing that if you gave it a .version, but I think
> if you make the src and doc tarballs contain a directory called
> openafs-UNKNOWN instead of openafs-1.5.77, it will get through this.
>
> > Working backwards, I see where the UNKNOWN comes from. When building the
> > srpm (which builds without errors):
> >
> > efs...@madefsd01$ ./makesrpm.pl../../../../openafs-1.5.77-src.tar.bz2
> > ../../../../openafs-1.5.77-doc.tar.bz2
> > Building version UNKNOWN
>
> The version string comes out of running
> "/path/to/src/build-tools/git-version /path/to/src" where /path/to/src
> is the untarred src tarball. If you untar it and run that command, does
> it actually give you UNKNOWN ? It shouldn't if you have a .version in
> that same directory.
>
> It's possible it's screwing up because we don't deal with path names
> robustly or something (paths containing whitespace etc). You're one of
> the very few people (I think) that have tried to run this procedure
> after some changes to how version information is kept, btw, which is why
> the process may seem rather fragile. I've never even tried doing this
> with a non-UNKNOWN version.
>
> --
> Andrew Deason
> [email protected]
>
> _______________________________________________
> OpenAFS-devel mailing list
> [email protected]
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>