[PATCH] Make tools use DESTDIR as well (otherwise rpm build is broken)
Please pull from: rsync.kernel.org://pub/scm/linux/kernel/git/chrisw/git This will give you the following trivial fix for the rpm build, where tools was still using dest not DESTDIR. thanks, -chris -- diff-tree 5eaaed02111510ff00b288a99ec3d203d5d1761f (from d9ac9df41c8c1c3a2f5b0fb1bcc0546dc1bafba2) tree 636f8c808fd80fb886c5c8b96e854d7d9dea8591 parent d9ac9df41c8c1c3a2f5b0fb1bcc0546dc1bafba2 author Chris Wright [EMAIL PROTECTED] 1124215389 -0700 committer Chris Wright [EMAIL PROTECTED] 1124215389 -0700 Make tools use DESTDIR as well (otherwise rpm build is broken). Signed-off-by: Chris Wright [EMAIL PROTECTED] diff --git a/tools/Makefile b/tools/Makefile --- a/tools/Makefile +++ b/tools/Makefile @@ -18,7 +18,7 @@ git-%: %.c all: $(PROGRAMS) install: $(PROGRAMS) $(SCRIPTS) - $(INSTALL) -m755 -d $(dest)$(bindir) + $(INSTALL) -m755 -d $(DESTDIR)$(bindir) $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(DESTDIR)$(bindir) clean: - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Cannot install git RPM
* Sam Ravnborg ([EMAIL PROTECTED]) wrote: Not knowing perl at all I wonder if some more widespread used packages can replace the above two? I recall having trouble locating them myself when I first tried Greg's send-a-lot-of-mails script. I'm not too sure, but I too abandoned (well, rewrote in sh) some email scripts from Greg due to that dependency ;-) thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Cannot install git RPM
* Wolfgang Denk ([EMAIL PROTECTED]) wrote: My problem is that I cannot satisfy the dependencies in a way which gets visible to RPM. And this is where I feel this is a bug in Fedora Core. But probably I'm just too dumb. No, it's just lack of good support. Try rpm.pbone.net, they are there. - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Request for help from binary packaging people.
* Junio C Hamano ([EMAIL PROTECTED]) wrote: For RPM, from my lack of RPM expertise (and RPM capable environment until recently), I have not updated the Prereq: field in git-core.spec.in at all. I would appreciate somebody to sanity check the list of dependencies. The dependency list Debian side has is more up-to-date and I am reasonably sure it is accurate. It lists patch, diff, and rcs (for the merge command) as the essential dependency (aside from the shared libraries like libc), and libmail-sendmail-perl, rsync, curl, ssh, and libemail-valid-perl as the recommended dependency. I do not even know if RPM has the notion of such multi-tier dependencies, but the latter list is meant to mean you could live without these, but to exercise this package fully you may want them (in our case of git-core, you could live without the networking if you do not do multi-user, multi-repository). If RPM spec file has a way to say something like that, I would like to see these packages (probably their names are different between Debian and RPM) listed on the recommended dependency list; otherwise I would want to see them added to the main Prereq: list. I'd say the proper rpm method would be with subpackages with their own prereqs. Also, rpm is able to determine the perl dependencies automatically (of course, ditto for shared libraries). Now, the only issue is this package is unlikely to install because of the Mail/Sendmail.pm and Email/Valid.pm requirements. We can add specific package requirements for those since they are less common. Here's the actual install dependency list: $ rpm -qp /home/chrisw/rpms/RPMS/i386/git-core-0.99.4-1.i386.rpm --requires /bin/sh /usr/bin/env /usr/bin/perl diffutils libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3) libcrypto.so.4 libcurl.so.3 libssl.so.4 libz.so.1 mktemp = 1.5 perl(Data::Dumper) perl(Email::Valid) perl(File::Basename) perl(File::Path) perl(File::Spec) perl(File::Temp) perl(Getopt::Long) perl(Getopt::Std) perl(IO::Pipe) perl(IO::Socket) perl(Mail::Sendmail) perl(POSIX) perl(Term::ReadLine) perl(Time::Local) perl(strict) perl(warnings) rcs rpmlib(CompressedFileNames) = 3.0.4-1 rpmlib(PayloadFilesHavePrefix) = 4.0-1 rpmlib(VersionedDependencies) = 3.0.3-1 rsync sh-utils - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Request for help from binary packaging people.
* Junio C Hamano ([EMAIL PROTECTED]) wrote: Chris Wright [EMAIL PROTECTED] writes: ... Also, rpm is able to determine the perl dependencies automatically (of course, ditto for shared libraries). I take it to mean that we do not have to explicitly list perl module dependencies. If that is the case then I presume that the current dependency list is fine. That's correct. The only benefit to itemzing the package level dependency in this case is just for an error message that tells you which package you're missing rather than the low-level perl module. thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
git tag can't take piped input?
Apparently I was under a rock sleeping when git-tag-script changed to no longer take input from stdin. So my script which did: TAG=$(echo $TAG_MSG | git-tag-script $RELEASE) echo $TAG .git/refs/tags/$RELEASE Is broken in two ways. First it's no longer building an annotated tag, second it creaets a zero length file .git/refs/tags/$RELEASE. Second issue is trivial to fix in my script. First one needs some change in the tag script. Below is a simple patch for a stab at fixing. thanks, -chris -- Allow users to create a tag message by passing message on command line instead of requiring an $EDITOR session. Signed-off-by: Chris Wright [EMAIL PROTECTED] --- diff --git a/git-tag-script b/git-tag-script --- a/git-tag-script +++ b/git-tag-script @@ -4,13 +4,14 @@ . git-sh-setup-script || die Not a git archive usage () { -echo 2 Usage: git-tag-script [-a | -s] [-f] tagname +echo 2 Usage: git-tag-script [-a | -s] [-f] [-m tag message] tagname exit 1 } annotate= signed= force= +message= while case $# in 0) break ;; esac do case $1 in @@ -24,6 +25,11 @@ do -f) force=1 ;; +-m) + annotate=1 + shift + message=$1 + ;; -*) usage ;; @@ -48,10 +54,14 @@ tagger=$(git-var GIT_COMMITTER_IDENT) || trap 'rm -f .tmp-tag* .tagmsg .editmsg' 0 if [ $annotate ]; then -( echo # - echo # Write a tag message - echo # ) .editmsg -${VISUAL:-${EDITOR:-vi}} .editmsg || exit +if [ -z $message ]; then +( echo # + echo # Write a tag message + echo # ) .editmsg +${VISUAL:-${EDITOR:-vi}} .editmsg || exit +else +echo $message .editmsg +fi grep -v '^#' .editmsg | git-stripspace .tagmsg - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [ANNOUNCE] Cogito-0.13
* Jay Denebeim ([EMAIL PROTECTED]) wrote: Um, guys... If you want to have a dependency on git-core = 0.99.3 you need to actually like, you know, put it on-line as well. Just did a yum update, fails with: error: Failed dependencies: git-core = 0.99.3 is needed by cogito-0.13-1 But on the git repository the git-core == 0.99.1 might wanna fix that. (and man is google fast) I've uploaded the rpms yesterday, but they haven't been staged for mirroring yet. thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [ANNOUNCE] Cogito-0.13
* Petr Baudis ([EMAIL PROTECTED]) wrote: * Cogito is now alone! GIT is no longer part of Cogito distribution. That means you need to get and install it separately. It is recommended to use at least 0.99.3. The newer the better (hopefully). That's great. RPMs uploading to: http://www.kernel.org/pub/software/scm/cogito/RPMS I think we can make this a noarch rpm since it's scripts only now. thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [ANNOUNCE] Cogito 0.12.1
* Petr Baudis ([EMAIL PROTECTED]) wrote: here is Cogito 0.12.1, another desperate attempt to keep pace with '@' or Linus, the named Human Master Coder. (Linus, the Human Master Coder, mumbles arcane do { formulae } while (0)! Some kind of force seems to attack your mind. Everything suddenly looks so different... You are confused.) Visit the greater spellbook vault at http://www.kernel.org/pub/software/scm/cogito The SRPM and RPMS are uploaded to: http://www.kernel.org/pub/software/scm/cogito/RPMS thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Trial git RPM's..
* Linus Torvalds ([EMAIL PROTECTED]) wrote: On Tue, 12 Jul 2005, Eric W. Biederman wrote: The name of the tarball needs to be updated as well. Yes, I noticed. I ended up renaming the spec-file too. Pushed out, Yup, looks good. -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] remove Obsoletes from cogito.spec.in
* Petr Baudis ([EMAIL PROTECTED]) wrote: where Chris Wright [EMAIL PROTECTED] told me that... This is leftover from early naming, and is no longer relevant. Signed-off-by: Chris Wright [EMAIL PROTECTED] Thanks, applied. BTW, Josh Boyer of Fedora suggested having the Provides: git line in cogito.spec.in as long as it comes with git bundled (which will be so until git stabilizes, doesn't break backwards compatibility once in a while, and gets into some regular and reasonably frequent release cycle). What do you think? Hmm, in an ideal world all of those stipulations are right around the corner. Also, if the split is done, then cogito can depend on a specific version of git-core, to help isolate against those upstream changes. The main thing then is getting any local changes you have pushed to Linus' git tree (if there are still any). Adding Provides is probably only useful if there's some other package that's relying on git being there (i.e. gitweb perhaps). I guess we can add that, and remove it when there's proper dependencies in order. May as well do git-core as is now done in git. thanks, -chris -- Mark cogito rpm package as providing git-core, since it currently does. Signed-off-by: Chris Wright [EMAIL PROTECTED] --- diff --git a/cogito.spec.in b/cogito.spec.in --- a/cogito.spec.in +++ b/cogito.spec.in @@ -10,6 +10,7 @@ Source: http://kernel.org/pub/software/ BuildRequires: zlib-devel, openssl-devel, curl-devel BuildRoot: %{_tmppath}/%{name}-%{version}-root Prereq:sh-utils, diffutils, rsync, rcs, mktemp = 1.5 +Provides: git-core %description GIT comes in two layers. The bottom layer is merely an extremely fast - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Trial git RPM's..
* Eric W. Biederman ([EMAIL PROTECTED]) wrote: Linus Torvalds [EMAIL PROTECTED] writes: Ok, I tagged a v0.99 thing, and pushed it out. I've also made trial RPM's of it: src, ppc64 and x86. They're build on whatever random machines I had, and on the ppc64 I chose to do it on my FC4 machine that has newer libraries than my YDL one. The x86 thing is FC3, I do believe. I haven't really verified the RPM's in any other way than a trial installation on one machine, and gitk seemed to work. Whoop. The idea being that this is a good way to check whether the rpm target works, _and_ cogito can have something to build against. A couple of pieces. The dist target has assumes git-tar-tree is in the path. Making it so you have to have git installed to build the rpm. Known, and was a reasonable assumption in my environment. It's simple bootstrapping issue. The man pages are not built. The build dependencies do not call out the tools necessary to build the man pages. That was rather intentional, because the asciidoc package is not common. thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] remove Obsoletes from cogito.spec.in
This is leftover from early naming, and is no longer relevant. Signed-off-by: Chris Wright [EMAIL PROTECTED] --- diff --git a/cogito.spec.in b/cogito.spec.in --- a/cogito.spec.in +++ b/cogito.spec.in @@ -7,7 +7,6 @@ License:GPL Group: Development/Tools URL: http://kernel.org/pub/software/scm/cogito/ Source: http://kernel.org/pub/software/scm/cogito/%{name}-%{version}.tar.gz -Obsoletes: git BuildRequires: zlib-devel, openssl-devel, curl-devel BuildRoot: %{_tmppath}/%{name}-%{version}-root Prereq:sh-utils, diffutils, rsync, rcs, mktemp = 1.5 - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Please rename t/t6000-lib.sh - it gets run as test
* Pavel Roskin ([EMAIL PROTECTED]) wrote: I suggest renaming t6000-lib.sh to t6000.lib.sh but I'll be happy with any other name that doesn't match t[0-9][0-9][0-9][0-9]-*.sh It's already been renamed to t6000lib.sh in current git repo. thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: BUG: rpmbuild -ta cogito-0.12.tar.gz fails
* John Ellson ([EMAIL PROTECTED]) wrote: rpmbuild -ta cogito-0.12.tar.gz fails because cogito.spec.in refers to .bz2 in its Source: line, instead of to .gz. Just grab the .bz2, or the SRPM http://kernel.org/pub/software/scm/cogito/RPMS (still mirroring, I just uploaded it a bit ago) This is obviously a trivial patch. Do I need prior approval to send patches to this group? What is the the significance of Signed-off-by: Is there a FAQ I should read? No approval needed. Signed-off-by is in reference to the Developer's Certificate of Origin 1.1 (see item 11 in the Linux kernel's source file Documentation/SubmittingPatches). - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [ANNOUNCE] Cogito-0.12
* Petr Baudis ([EMAIL PROTECTED]) wrote: I'm happy to announce the release of the 0.12 version of the Cogito SCM-like layer over Linus' GIT tree history storage tool. Get it at http://www.kernel.org/pub/software/scm/cogito/ RPMs uploading to: http://www.kernel.org/pub/software/scm/cogito/RPMS thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: BUG: rpmbuild -ta cogito-0.12.tar.gz fails
* John Ellson ([EMAIL PROTECTED]) wrote: So now I have to ask, where does that come from if its not created by make dist ? It's automated by kernel.org mirroring (along with signature generation). So .gz is built, uploaded, the rest is automatic. Is what I'm asking to do in the above sequence somehow unreasonable? Would it be any loss if the Source: line in cogito.spec.in refered to the .gz instead of the .bz2 such that the above sequence works for those of us that like to build rpms directly from the git tree? Yes, I've got a patch for the spec.in, I'll toss that in. Alternatively, perhaps make dist could generate the .bz2 instead? No, because of the way kernel.org mirroring works. thanks, -chris - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[GIT PATCH] Add infrastructure for git rpm build
Linus, You'll find the necessary infrastructure for doing an rpm build here: kernel.org/pub/scm/linux/kernel/git/chrisw/git.git The diff is below: diff-tree a9db297485a7b8c641d3cf686d03cb63b774e530 (from dd7ba8b4949535c24e604a37709db0e3be9ccbbc) Author: Chris Wright [EMAIL PROTECTED] Date: Thu Jul 7 13:09:50 2005 -0700 Infrastructure for git rpm builds. Adds GIT_VERSION to Makefile and new make targets: git.spec, dist, and rpm. A simple 'make rpm' will build the rpm. Also adds git.spec.in which is used to generate git.spec. Signed-off-by: Chris Wright [EMAIL PROTECTED] diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -9,6 +9,8 @@ # BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely randomly # break unless your underlying filesystem supports those sub-second times # (my ext3 doesn't). +GIT_VERSION=0.99 + COPTS=-O2 CFLAGS=-g $(COPTS) -Wall @@ -49,6 +51,7 @@ PROG= git-update-cache git-diff-files all: $(PROG) install: $(PROG) $(SCRIPTS) + $(INSTALL) -m755 -d $(dest)$(bin) $(INSTALL) $(PROG) $(SCRIPTS) $(dest)$(bin) LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \ @@ -164,6 +167,21 @@ diffcore-break.o : $(LIB_H) diffcore.h diffcore-order.o : $(LIB_H) diffcore.h epoch.o: $(LIB_H) +git.spec: git.spec.in + sed -e 's/@@VERSION@@/$(GIT_VERSION)/g' $ $@ + +GIT_TARNAME=git-$(GIT_VERSION) +dist: git.spec + git-tar-tree HEAD $(GIT_TARNAME) $(GIT_TARNAME).tar + @mkdir -p $(GIT_TARNAME) + @cp git.spec $(GIT_TARNAME) + tar rf $(GIT_TARNAME).tar $(GIT_TARNAME)/git.spec + @rm -rf $(GIT_TARNAME) + gzip -9 $(GIT_TARNAME).tar + +rpm: dist + rpmbuild -ta git-$(GIT_VERSION).tar.gz + test: all $(MAKE) -C t/ all diff --git a/git.spec.in b/git.spec.in new file mode 100644 --- /dev/null +++ b/git.spec.in @@ -0,0 +1,42 @@ +Name: git +Version: @@VERSION@@ +Release: 1 +Vendor:Linus Torvalds [EMAIL PROTECTED] +Summary: Git core and tools +License: GPL +Group: Development/Tools +URL: http://kernel.org/pub/software/scm/git/ +Source:http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz +BuildRequires: zlib-devel, openssl-devel, curl-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-root +Prereq:sh-utils, diffutils, rsync, rcs, mktemp = 1.5 + +%description +GIT comes in two layers. The bottom layer is merely an extremely fast +and flexible filesystem-based database designed to store directory trees +with regard to their history. The top layer is a SCM-like tool which +enables human beings to work with the database in a manner to a degree +similar to other SCM tools (like CVS, BitKeeper or Monotone). + +%prep +%setup -q + +%build + +make + +%install +rm -rf $RPM_BUILD_ROOT +make dest=$RPM_BUILD_ROOT prefix=%{_prefix} install + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%{_bindir}/* +%doc README COPYING Documentation/* + +%changelog +* Wed Jul 7 2005 Chris Wright [EMAIL PROTECTED] +- initial git spec file - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] git-pasky spec file
Here's a simple spec file to do rpm builds. It's against the latest Makefile (which has the s/BINDIR/bindir/ change). I've used DESTDIR, although it's not clear it's meant to stay in the Makefile. For now, there's no dynamic (git.spec.in, for example) update to the Version, so it's set against 0.6.3 (expecting it to be forthcoming shortly). It installs to /usr/local/bin, and expects the tarball to be named git-pasky-0.6.3.tar.bz2. Creates a package named git, which seems fine since Linus' isn't likely to be packaged directly. Enjoy. Signed-off-by: Chris Wright [EMAIL PROTECTED] --- /dev/null 1969-12-31 16:00:00.0 -0800 +++ git-pasky-0.6.3/git.spec2005-04-21 18:42:18.0 -0700 @@ -0,0 +1,43 @@ +Name: git +Version: 0.6.3 +Release: 1 +Vendor:Petr Baudis [EMAIL PROTECTED] +Summary: Git core and tools +License: GPL +Group: Development/Tools +URL: http://pasky.or.cz/~pasky/dev/git/ +Source: http://pasky.or.cz/~pasky/dev/git/%{name}-pasky-%{version}.tar.bz2 +Provides: git = %{version} +BuildRequires: zlib-devel openssl-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-root +Prereq:sh-utils diffutils + +%description +GIT comes in two layers. The bottom layer is merely an extremely fast +and flexible filesystem-based database designed to store directory trees +with regard to their history. The top layer is a SCM-like tool which +enables human beings to work with the database in a manner to a degree +similar to other SCM tools (like CVS, BitKeeper or Monotone). + +%prep +%setup -q -n %{name}-pasky-%{version} + +%build + +make + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT/usr/local/ bindir=bin/ install + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +/usr/local/bin/* +#%{_mandir}/*/* + +%changelog +* Thu Apr 21 2005 Chris Wright [EMAIL PROTECTED] 0.6.3-1 +- Initial rpm build - To unsubscribe from this list: send the line unsubscribe git in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html