* Re: master has some toys
From: Junio C Hamano @ 2005-11-18 4:27 UTC (permalink / raw)
To: John Benes; +Cc: git
In-Reply-To: <437D5219.6060300@gmail.com>
John Benes <smartcat99s@gmail.com> writes:
> diff --git a/file4 b/file4
> index
> edc575dec543a684da5007b43886ee32ecb381ae..adb07b7ad3fa2c63251b06d1d39cb90a
> 85b860b4 100644
> Files a/file4 and b/file4 differ
Thanks. This is the same problem as what Large Angly SCM
reports. What does your "diff --version" say?
^ permalink raw reply
* Re: master has some toys
From: John Benes @ 2005-11-18 4:35 UTC (permalink / raw)
To: Junio C Hamano, git
In-Reply-To: <7v7jb6r35s.fsf@assigned-by-dhcp.cox.net>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Junio C Hamano wrote:
> Thanks. This is the same problem as what Large Angly SCM
> reports. What does your "diff --version" say?
Twinkie@squirrel ~
$ diff --version
diff (GNU diffutils) 2.8.7
Written by Paul Eggert, Mike Haertel, David Hayes,
Richard Stallman, and Len Tower.
[snip 2004 copyright notice]
Extra useful info about my cygwin enviroment:
Twinkie@squirrel ~
$ cygcheck -V
cygcheck version 1.74
System Checker for Cygwin
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
Compiled on Jul 2 2005
cygwin1.dll Version: 1.5.18
HTH!
- --
John Benes
GPG Fingerprint: D519 25DB BB5C 38FC 9D02 02E7 596D BC50 F880 27FA
"It is not only the living who are killed in war." - Isaac Asimov
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iQIVAwUBQ31aF2F0oWcU9kCNAQJrSRAAqDVQuCuF0PBn0ssGJA4sZ5fSa4S4hUju
yftaR9dDaWqpML4ieMcp5NXD1HEm6yzJbL9WhGuDQlpolo7ujbiI1sx7jP53Au+3
zm7iWojJVnRBirRAqsZpD2Ufriuzwnm6/rPJqe97RSkYIm29BcKsiSly67mFKEKJ
AL/MiAmH62h7HLOjSRR2o+3eGmvMlAesojoLdoTaCkic5l34WIfv4EzSSTSfwS+O
cn0K8MFqbuuApZTwECl5OdmAVbKGdC0PjgqgJQIEM39dWxKqqGrmSLvbs42AAEok
tOPTdB+4O2ECEIIYtjiqUAZ2ZDwVvxJwEyTEt60tzvbcfX0TwfXaO+JDxd9gmr8P
he/f05NT+IlqFrcXyXD8PVc+29ZBr7ocM1k+VIzqclGIjHMO6VjytEO3xppbtEDz
iAA5MFYsCM5fiJRndNYiH51WvVMjmmY1SO6LJtqGiwZhX3/couMy71JorXeqGgaW
Yjrkvs8q9AtvTG3Nq9BpmJCz0kXHbMmULchooaNtpDlPVVti9CA08vJ/9PssWRfD
MrkVkEijTpkw/lWClqW91aGWT9vlMeQSBVZf8Cr2Zg9DQNAFEE4LiVmlt10odZGw
cE4TlhaCk2Z2X1AeuDTimyN7hL6FMVweMsLgio1XNpk/NOCGkgvXDo7R76MfU8PS
dsT2ItOIm6w=
=o9sa
-----END PGP SIGNATURE-----
^ permalink raw reply
* Re: master has some toys
From: A Large Angry SCM @ 2005-11-18 4:40 UTC (permalink / raw)
To: Junio C Hamano; +Cc: John Benes, git
In-Reply-To: <7v7jb6r35s.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
> John Benes <smartcat99s@gmail.com> writes:
>
>>diff --git a/file4 b/file4
>>index
>>edc575dec543a684da5007b43886ee32ecb381ae..adb07b7ad3fa2c63251b06d1d39cb90a
>>85b860b4 100644
>>Files a/file4 and b/file4 differ
>
> Thanks. This is the same problem as what Large Angly SCM
> reports. What does your "diff --version" say?
> diff --version
diff (GNU diffutils) 2.8.7
Written by Paul Eggert, Mike Haertel, David Hayes,
Richard Stallman, and Len Tower.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
^ permalink raw reply
* current HEAD in bash prompt
From: Ben Clifford @ 2005-11-17 8:39 UTC (permalink / raw)
To: Git Mailing List
After getting a bit confused when having too many branches, and for
people who don't mind extra forks and like too much info in their
prompt, I've recently started using this:
export PS1='!\! [\j] \u@\h:\w$(output-git-head-or-blank)\$ '
where output-git-head-or-blank is:
#!/bin/bash
PS_GIT=$(git-symbolic-ref HEAD 2>/dev/null) && echo "[$(basename
$PS_GIT)]" && exit
# else output nothing
When in a non-git directory, you get a non-git prompt (of course,
modify this to whatever you want)
!502 [0] benc@piva:~$
and when in a git directory you get (a truncated form of) whatever
today's head points at:
!502 [0] benc@piva:~$ cd src/globe
!503 [0] benc@piva:~/src/globe[master]$
--
Ben • ベン • Бэн • 벤 • 班明
http://www.hawaga.org.uk/ben/
My email is high latency but best way to contact me. Alternatively,
SMS number(s) at above URL.
^ permalink raw reply
* [PATCH] Deal with binary diff output from (unknown version of) diff
From: Junio C Hamano @ 2005-11-18 4:46 UTC (permalink / raw)
To: A Large Angry SCM, John Benes; +Cc: git
In-Reply-To: <7vbr0ir387.fsf@assigned-by-dhcp.cox.net>
Some vintage of diff says just "Files X and Y differ\n", instead
of "Binary files X and Y differ\n", so catch both patterns.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
Junio C Hamano <junkio@cox.net> writes:
>> Files /dev/null and b/file3 differ
>> diff --git a/file4 b/file4
>> index edc575d..adb07b7 100644
>> Files a/file4 and b/file4 differ
>
> Thanks. I've seen enough. I expected diff (GNU diffutils 2.8.1
> is what I have handy) output which says "Binary files a/foo and
> b/foo differ".
>
> Hmph. Now I'd need to find a way to catch at least these two
> cases...
Could you two try this patch please?
diff --git a/apply.c b/apply.c
index 129edb1..50be8f3 100644
--- a/apply.c
+++ b/apply.c
@@ -893,12 +893,24 @@ static int parse_chunk(char *buffer, uns
patchsize = parse_single_patch(buffer + offset + hdrsize, size - offset - hdrsize, patch);
if (!patchsize) {
- static const char binhdr[] = "Binary files ";
-
- if (sizeof(binhdr) - 1 < size - offset - hdrsize &&
- !memcmp(binhdr, buffer + hdrsize + offset,
- sizeof(binhdr)-1))
- patch->is_binary = 1;
+ static const char *binhdr[] = {
+ "Binary files ",
+ "Files ",
+ NULL,
+ };
+ int i;
+ int hd = hdrsize + offset;
+ unsigned long llen = linelen(buffer + hd, size - hd);
+
+ if (!memcmp(" differ\n", buffer + hd + llen - 8, 8))
+ for (i = 0; binhdr[i]; i++) {
+ int len = strlen(binhdr[i]);
+ if (len < size - hd &&
+ !memcmp(binhdr[i], buffer + hd, len)) {
+ patch->is_binary = 1;
+ break;
+ }
+ }
/* Empty patch cannot be applied if:
* - it is a binary patch and we do not do binary_replace, or
^ permalink raw reply related
* Re: [PATCH] Deal with binary diff output from (unknown version of) diff
From: A Large Angry SCM @ 2005-11-18 4:58 UTC (permalink / raw)
To: Junio C Hamano; +Cc: John Benes, git
In-Reply-To: <7v1x1er2ai.fsf_-_@assigned-by-dhcp.cox.net>
Passed here!
Junio C Hamano wrote:
> Some vintage of diff says just "Files X and Y differ\n", instead
> of "Binary files X and Y differ\n", so catch both patterns.
>
> Signed-off-by: Junio C Hamano <junkio@cox.net>
>
> ---
>
> Junio C Hamano <junkio@cox.net> writes:
>
> >> Files /dev/null and b/file3 differ
> >> diff --git a/file4 b/file4
> >> index edc575d..adb07b7 100644
> >> Files a/file4 and b/file4 differ
> >
> > Thanks. I've seen enough. I expected diff (GNU diffutils 2.8.1
> > is what I have handy) output which says "Binary files a/foo and
> > b/foo differ".
> >
> > Hmph. Now I'd need to find a way to catch at least these two
> > cases...
>
> Could you two try this patch please?
[snip snip]
^ permalink raw reply
* Re: [PATCH] Small script to patch .spec for Suse
From: H. Peter Anvin @ 2005-11-18 5:11 UTC (permalink / raw)
To: Josef Weidendorfer; +Cc: git
In-Reply-To: <200511160232.15162.Josef.Weidendorfer@gmx.de>
Josef Weidendorfer wrote:
> On Tuesday 15 November 2005 23:22, H. Peter Anvin wrote:
>
>>Sure. It's called %if. There is also %ifdef and %define.
>
>
> So by replacing @@FOR_SUSE@@ to 0 or 1 in the Makefile, this:
>
> %if @@FOR_SUSE@@
> BuildRequires: openssh ...
> %else
> BuildRequires: openssh-clients ...
> %endif
>
> would work?
>
SuSE might even have defined a distribution-specific macro that one can
key off of. Some SuSE expert would have to comment.
-hpa
^ permalink raw reply
* Re: [PATCH] Small script to patch .spec for Suse
From: H. Peter Anvin @ 2005-11-18 5:57 UTC (permalink / raw)
To: gitzilla; +Cc: Josef Weidendorfer, git
In-Reply-To: <437D6AD8.90907@gmail.com>
A Large Angry SCM wrote:
>
> Attached is the output of 'rpm --showrc' on my Suse 9.3 system.
>
> -14: _vendor suse
... looks promising.
-hpa
^ permalink raw reply
* Re: [PATCH] Small script to patch .spec for Suse
From: A Large Angry SCM @ 2005-11-18 5:47 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: Josef Weidendorfer, git
In-Reply-To: <437D6294.8020003@zytor.com>
[-- Attachment #1: Type: text/plain, Size: 581 bytes --]
H. Peter Anvin wrote:
> Josef Weidendorfer wrote:
>> On Tuesday 15 November 2005 23:22, H. Peter Anvin wrote:
>>
>>> Sure. It's called %if. There is also %ifdef and %define.
>>
>>
>> So by replacing @@FOR_SUSE@@ to 0 or 1 in the Makefile, this:
>> %if @@FOR_SUSE@@
>> BuildRequires: openssh ...
>> %else
>> BuildRequires: openssh-clients ...
>> %endif
>>
>> would work?
>>
>
> SuSE might even have defined a distribution-specific macro that one can
> key off of. Some SuSE expert would have to comment.
>
Attached is the output of 'rpm --showrc' on my Suse 9.3 system.
[-- Attachment #2: Suse_9.3_rpm--showrc.txt --]
[-- Type: text/plain, Size: 32347 bytes --]
ARCHITECTURE AND OS:
build arch : i586
compatible build archs: i686 i586 i486 i386 noarch
build os : Linux
compatible build os's : Linux
install arch : i686
install os : Linux
compatible archs : i686 i586 i486 i386 noarch
compatible os's : Linux
RPMRC VALUES:
macrofiles : /usr/lib/rpm/macros:/usr/lib/rpm/i686-linux/macros:/usr/lib/rpm/suse_macros:/etc/rpm/macros.specspo:/etc/rpm/macros.prelink:/etc/rpm/macros.solve:/etc/rpm/macros.up2date:/etc/rpm/macros:/etc/rpm/i686-linux/macros:~/.rpmmacros
optflags : -O2 -g -march=i686 -mcpu=i686
Features supported by rpmlib:
rpmlib(VersionedDependencies) = 3.0.3-1
PreReq:, Provides:, and Obsoletes: dependencies support versions.
rpmlib(CompressedFileNames) = 3.0.4-1
file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
rpmlib(PayloadIsBzip2) = 3.0.5-1
package payload can be compressed using bzip2.
rpmlib(PatchRPMs) = 3.0.6-1
understand rpms that replace a subset of files.
rpmlib(PayloadFilesHavePrefix) = 4.0-1
package payload file(s) have "./" prefix.
rpmlib(ExplicitPackageProvide) = 4.0-1
package name-version-release is not implicitly provided.
rpmlib(HeaderLoadSortsTags) = 4.0.1-1
header tags are always sorted after being loaded.
rpmlib(ScriptletInterpreterArgs) = 4.0.3-1
the scriptlet interpreter can use arguments from header.
rpmlib(PartialHardlinkSets) = 4.0.4-1
a hardlink file set may be installed without being complete.
rpmlib(ConcurrentAccess) = 4.1-1
package scriptlets may access the rpm database while installing.
========================
-14: GNUconfigure(MCs:)
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS;
LDFLAGS="${LDFLAGS:-%{-s:-s}}" ; export LDFLAGS;
%{-C:_mydir="`pwd`"; %{-M: %{__mkdir} -p %{-C*};} cd %{-C*}}
dirs="`find ${_mydir} -name configure.in -print`"; export dirs;
for coin in `echo ${dirs}`
do
dr=`dirname ${coin}`;
if test -f ${dr}/NO-AUTO-GEN; then
:
else
macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE((.*)),1,gp' < ${coin}`;
( cd ${dr};
aclocalinclude="${ACLOCAL_FLAGS}";
for k in ${macrodirs}; do
if test -d ${k}; then
aclocalinclude="${aclocalinclude} -I ${k}";
##else
## echo "**Warning**: No such directory `${k}'. Ignored."
fi
done
if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then
if grep "sed.*POTFILES" configure.in >/dev/null; then
: do nothing -- we still have an old unmodified configure.in
else
test -r ${dr}/aclocal.m4 || touch ${dr}/aclocal.m4;
echo "no" | gettextize --force --copy;
test -r ${dr}/aclocal.m4 && %{__chmod} u+w ${dr}/aclocal.m4;
fi
fi
if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
%{__libtoolize} --force --copy;
fi
aclocal ${aclocalinclude};
if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
%{__autoheader};
fi
echo "Running automake --gnu ${am_opt} ...";
%{__automake} --add-missing --gnu ${am_opt};
%{__autoconf};
);
fi
done
%{-C:${_mydir}}%{!-C:.}/configure %{_target_platform} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} --infodir=%{_infodir} %* ;
%{-C:cd ${_mydir}; unset _mydir}
-14: ___build_args -e
-14: ___build_cmd %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args}
-14: ___build_post exit 0
-14: ___build_pre
RPM_SOURCE_DIR="%{u2p:%{_sourcedir}}"
RPM_BUILD_DIR="%{u2p:%{_builddir}}"
RPM_OPT_FLAGS="%{optflags}"
RPM_ARCH="%{_arch}"
RPM_OS="%{_os}"
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="%{_docdir}"
export RPM_DOC_DIR
RPM_PACKAGE_NAME="%{name}"
RPM_PACKAGE_VERSION="%{version}"
RPM_PACKAGE_RELEASE="%{release}"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
%{?buildroot:RPM_BUILD_ROOT="%{u2p:%{buildroot}}"
export RPM_BUILD_ROOT}
%{?_javaclasspath:CLASSPATH="%{_javaclasspath}"
export CLASSPATH}
%{verbose:set -x}%{!verbose:exec > /dev/null}
umask 022
cd %{u2p:%{_builddir}}
-14: ___build_shell %{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh}
-14: ___build_template #!%{___build_shell}
%{___build_pre}
%{nil}
-14: __aclocal aclocal
-14: __ar ar
-14: __arch_install_post %{nil}
-14: __as as
-14: __autoconf autoconf
-14: __autoheader autoheader
-14: __automake automake
-14: __awk gawk
-14: __bzip2 /usr/bin/bzip2
-14: __cat /bin/cat
-14: __cc gcc
-14: __check_files /usr/lib/rpm/check-files %{buildroot}
-14: __chgrp /bin/chgrp
-14: __chgrp_Rhf %{__chgrp} -Rhf
-14: __chmod /bin/chmod
-14: __chown /bin/chown
-14: __chown_Rhf %{__chown} -Rhf
-14: __cp /bin/cp
-14: __cpio /usr/bin/cpio
-14: __cpp gcc -E
-14: __cxx g++
-14: __dbi_btconfig
btree
%{__dbi_other}
%{__dbi_perms}
%{nil}
-14: __dbi_btconfig_current %{__dbi_btconfig}
-14: __dbi_btconfig_rebuild %{__dbi_btconfig} %{__dbi_rebuild}
-14: __dbi_cdb create cdb mpool mp_mmapsize=16Mb mp_size=1Mb
-14: __dbi_htconfig
hash
%{__dbi_other}
%{__dbi_perms}
%{nil}
-14: __dbi_htconfig_current %{__dbi_htconfig}
-14: __dbi_htconfig_rebuild %{__dbi_htconfig} %{__dbi_rebuild}
-14: __dbi_other %{?_tmppath:tmpdir=%{_tmppath}} %{?__dbi_cdb}
-14: __dbi_perms perms=0644
-14: __dbi_rebuild nofsync !log !txn !cdb
-14: __dbi_transient %{__dbi_rebuild} temporary private
-14: __debug_install_post
/usr/lib/rpm/find-debuginfo.sh %{_builddir}/%{?buildsubdir}
%{nil}
-14: __file /usr/bin/file
-14: __find_provides /usr/lib/rpm/find-provides
-14: __find_requires /usr/lib/rpm/find-requires
-14: __gpg /usr/bin/gpg
-14: __gpg_check_password_cmd %{__gpg}
gpg --batch --no-verbose --passphrase-fd 3 -u "%{_gpg_name}" -so -
-14: __gpg_sign_cmd %{__gpg}
gpg --batch --no-verbose --no-armor --passphrase-fd 3 --no-secmem-warning
-u "%{_gpg_name}" -sbo %{__signature_filename} %{__plaintext_filename}
-14: __grep /usr/bin/grep
-14: __gzip /usr/bin/gzip
-14: __id /usr/bin/id
-14: __id_u %{__id} -u
-14: __install /usr/bin/install
-14: __ld /usr/bin/ld
-14: __libtoolize libtoolize
-14: __ln_s ln -s
-14: __make /usr/bin/make
-14: __mkdir /bin/mkdir
-14: __mkdir_p /bin/mkdir -p
-14: __mv /bin/mv
-14: __nm /usr/bin/nm
-14: __objcopy /usr/bin/objcopy
-14: __objdump /usr/bin/objdump
-14: __os_install_post
%{suse_check}
/usr/lib/rpm/brp-compress
/usr/lib/rpm/brp-symlink
%{nil}
-14: __patch /usr/bin/patch
-14: __perl /usr/bin/perl
-14: __perl_provides /usr/lib/rpm/perl.prov
-14: __perl_requires /usr/lib/rpm/perl.req
-14: __pgp /usr/bin/pgp
-14: __pgp5_check_password_cmd %{__pgp}
pgps +batchmode=on +verbose=0 +armor=off "%{_pgp_name}" -f
-14: __pgp5_sign_cmd %{__pgp}
pgps +batchmode=on +verbose=0 +armor=off
"+myname=%{_pgp_name}" -b %{__plaintext_filename} -o %{__signature_filename}
-14: __pgp_check_password_cmd %{__pgp}
pgp +batchmode=on +verbose=0 "%{_pgp_name}" -sf
-14: __pgp_sign_cmd %{__pgp}
pgp +batchmode=on +verbose=0 +armor=off
"+myname=%{_pgp_name}" -sb %{__plaintext_filename} %{__signature_filename}
-14: __python /usr/bin/python
-14: __ranlib ranlib
-14: __remsh %{__rsh}
-14: __rm /bin/rm
-14: __rsh /usr/bin/rsh
-14: __sed /usr/bin/sed
-14: __spec_build_args %{___build_args}
-14: __spec_build_body %{___build_body}
-14: __spec_build_cmd %{___build_cmd}
-14: __spec_build_post %{___build_post}
-14: __spec_build_pre %{___build_pre}
%{?buildroot: %__rm -rf "$RPM_BUILD_ROOT"
%__mkdir_p `dirname "$RPM_BUILD_ROOT"`
%__mkdir "$RPM_BUILD_ROOT"
}
-14: __spec_build_shell %{___build_shell}
-14: __spec_build_template #!%{__spec_build_shell}
%{__spec_build_pre}
%{nil}
-14: __spec_check_args %{___build_args}
-14: __spec_check_body %{___build_body}
-14: __spec_check_cmd %{___build_cmd}
-14: __spec_check_post %{___build_post}
-14: __spec_check_pre %{___build_pre}
-14: __spec_check_shell %{___build_shell}
-14: __spec_check_template #!%{__spec_check_shell}
%{__spec_check_pre}
%{nil}
-14: __spec_clean_args %{___build_args}
-14: __spec_clean_body %{___build_body}
-14: __spec_clean_cmd %{___build_cmd}
-14: __spec_clean_post %{___build_post}
-14: __spec_clean_pre %{___build_pre}
-14: __spec_clean_shell %{___build_shell}
-14: __spec_clean_template #!%{__spec_clean_shell}
%{__spec_clean_pre}
%{nil}
-14: __spec_install_args %{___build_args}
-14: __spec_install_body %{___build_body}
-14: __spec_install_cmd %{___build_cmd}
-14: __spec_install_post
%{?__debug_package:%{__debug_install_post}}
%{__arch_install_post}
%{__os_install_post}
%{nil}
-14: __spec_install_pre %{___build_pre}
-14: __spec_install_shell %{___build_shell}
-14: __spec_install_template #!%{__spec_install_shell}
%{__spec_install_pre}
%{nil}
-14: __spec_prep_args %{___build_args}
-14: __spec_prep_body %{___build_body}
-14: __spec_prep_cmd %{___build_cmd}
-14: __spec_prep_post %{___build_post}
-14: __spec_prep_pre %{___build_pre}
-14: __spec_prep_shell %{___build_shell}
-14: __spec_prep_template #!%{__spec_prep_shell}
%{__spec_prep_pre}
%{nil}
-14: __spec_rmbuild_args %{___build_args}
-14: __spec_rmbuild_body %{___build_body}
-14: __spec_rmbuild_cmd %{___build_cmd}
-14: __spec_rmbuild_post %{___build_post}
-14: __spec_rmbuild_pre %{___build_pre}
-14: __spec_rmbuild_shell %{___build_shell}
-14: __spec_rmbuild_template #!%{__spec_rmbuild_shell}
%{__spec_rmbuild_pre}
%{nil}
-14: __ssh /usr/bin/ssh
-14: __strip /usr/bin/strip
-14: __tar /bin/tar
-14: __unzip /usr/bin/unzip
-14: __vsflags 0
-14: _arch i386
-14: _bhA RPMS
-14: _bhN @(SRPMS|i386|alpha|sparc|s390|ia64)
-14: _bhVR RedHat
-14: _bhcoll @(7.3|7.2|7.1|7.1sbe|7.1k|7.0|7.01j|7.0j|7.0sbe|7.0tc|6.2|6.2ha|6.2ee|6.1|6.0|5.2|5.1|5.0)
-14: _bhpath file://localhost/mnt/dist
-14: _binary_payload w9.bzdio
-14: _bindir %{_exec_prefix}/bin
-14: _build %{_host}
-14: _build_alias %{_host_alias}
-14: _build_arch i386
-14: _build_cpu %{_host_cpu}
-14: _build_name_fmt %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
-14: _build_os %{_host_os}
-14: _build_vendor %{_host_vendor}
-14: _builddir %{_topdir}/BUILD
-14: _buildshell /bin/sh
-14: _bzip2bin %{__bzip2}
-14: _cache_dbpath /var/spool/up2date/cache
-14: _datadir %{_prefix}/share
-14: _dbapi 3
-14: _dbapi_rebuild 3
-14: _dbi_btconfig
%{?_rpmdb_rebuild:%{__dbi_btconfig_rebuild}}
%{!?_rpmdb_rebuild:%{__dbi_btconfig_current}}
%{nil}
-14: _dbi_config %{_dbi_htconfig} nofsync
-14: _dbi_config_Depends %{_dbi_htconfig} temporary private nofsync
-14: _dbi_config_Dirnames %{_dbi_btconfig} nofsync
-14: _dbi_config_Installtid %{_dbi_btconfig} nofsync
-14: _dbi_config_Packages %{_dbi_htconfig} lockdbfd
-14: _dbi_config_Provideversion %{_dbi_btconfig} nofsync
-14: _dbi_config_Removetid %{_dbi_btconfig} nofsync
-14: _dbi_config_Requireversion %{_dbi_btconfig} nofsync
-14: _dbi_htconfig
%{?_rpmdb_rebuild:%{__dbi_htconfig_rebuild}}
%{!?_rpmdb_rebuild:%{__dbi_htconfig_current}}
%{nil}
-14: _dbi_tags Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Depends:Pubkeys
-14: _dbpath %{_var}/lib/rpm
-14: _dbpath_rebuild %{_dbpath}
-14: _defaultdocdir %{_usr}/share/doc/packages
-14: _docdir_fmt %%{NAME}
-14: _exec_prefix %{_prefix}
-14: _fixgroup [ `%{__id_u}` = '0' ] && %{__chgrp_Rhf} root
-14: _fixowner [ `%{__id_u}` = '0' ] && %{__chown_Rhf} root
-14: _fixperms %{__chmod} -Rf a+rX,g-w,o-w
-14: _gnu -gnu
-14: _gzipbin %{__gzip}
-14: _host i686-suse-linux
-14: _host_alias i686-suse-linux%{nil}
-14: _host_cpu i686
-14: _host_os linux
-14: _host_vendor suse
-14: _includedir %{_prefix}/include
-14: _infodir %{_prefix}/share/info
-14: _initrddir %{_sysconfdir}/init.d
-14: _install_langs all
-14: _install_script_path /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
-14: _instchangelog 5
-14: _javadir %{_datadir}/java
-14: _javadocdir %{_datadir}/javadoc
-14: _jnidir %{_libdir}/java
-14: _jvmdir %{_libdir}/jvm
-14: _jvmjardir %{_libdir}/jvm-exports
-14: _jvmprivdir %{_libdir}/jvm-private
-14: _lib lib
-14: _libdir %{_exec_prefix}/%{_lib}
-14: _libexecdir %{_exec_prefix}/libexec
-14: _localstatedir /var
-14: _mandir %{_prefix}/share/man
-14: _missing_doc_files_terminate_build 1
-14: _multilibno 1
-14: _multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\.([oa]|la|so[0-9.]*)$
-14: _oldincludedir /usr/include
-14: _os linux
-14: _package_version 30005
-14: _pgpbin %{__pgp}
-15: _preScriptEnvironment
RPM_SOURCE_DIR="%{_sourcedir}"
RPM_BUILD_DIR="%{_builddir}"
RPM_OPT_FLAGS="%{optflags}"
RPM_ARCH="%{_arch}"
RPM_OS="%{_os}"
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="%{_docdir}"
export RPM_DOC_DIR
RPM_PACKAGE_NAME="%{name}"
RPM_PACKAGE_VERSION="%{version}"
RPM_PACKAGE_RELEASE="%{release}"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
%{?buildroot:RPM_BUILD_ROOT="%{buildroot}"
export RPM_BUILD_ROOT
}
-14: _prefix /usr
-14: _query_all_fmt %%{name}-%%{version}-%%{release}
-14: _query_selector_match default
-14: _repackage_all_erasures 0
-14: _repackage_dir /var/spool/repackage
-14: _repackage_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
-14: _repackage_root %{nil}
-14: _rpmdir %{_topdir}/RPMS
-14: _rpmfilename %{_build_name_fmt}
-14: _sbindir %{_exec_prefix}/sbin
-14: _sharedstatedir %{_prefix}/com
-14: _signature none
-14: _smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \
&& RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \
[ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-j$RPM_BUILD_NCPUS")
-14: _sourcedir %{_topdir}/SOURCES
-14: _specdir %{_topdir}/SPECS
-14: _srcrpmdir %{_topdir}/SRPMS
-14: _sysconfdir /etc
-11: _target i586-linux
-14: _target_alias %{_host_alias}
-11= _target_cpu i586
-11= _target_os linux
-14: _target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-14: _target_vendor %{_host_vendor}
-14: _tmppath %{_topdir}/TMP
-14: _topdir /home/internet/RPM_TOP_DIR
-14: _transaction_color 0
-14: _unpackaged_files_terminate_build 1
-14: _unzipbin %{__unzip}
-14: _use_internal_dependency_generator 0
-14: _usr /usr
-14: _usrsrc %{_usr}/src
-14: _var /var
-14: _vendor suse
-14: _vsflags_build %{__vsflags}
-14: _vsflags_erase %{__vsflags}
-14: _vsflags_install %{__vsflags}
-14: _vsflags_query %{__vsflags}
-14: _vsflags_rebuilddb %{__vsflags}
-14: _vsflags_up2date %{__vsflags}
-14: _vsflags_verify %{__vsflags}
-14: add_jvm_extension JAVA_LIBDIR=%{buildroot}/%{_javadir} %{_bindir}/jvmjar -l
-14: add_start_if_needed
set -- %{?*}
while [ ${#*} -gt 0 ] ; do
SCRIPTNAME=$1
STARTVAR=$2
shift 2
test -n "$STARTVAR" -a -n "$SCRIPTNAME" || {
echo "STARTVAR or SCRIPTNAME unknown"
exit 1
}
if test "$FIRST_ARG" = "1" -o "$REMOVED_START" = "yes" -o "$FORCE_YES" = "1" ; then
if test -n "$YAST_IS_RUNNING" ; then
INSSERV_FORCE="-f"
else
INSSERV_FORCE=""
fi
if test "${!STARTVAR}" = "yes" -o "$FORCE_YES" = "1" ; then
sbin/insserv $INSSERV_FORCE etc/init.d/$SCRIPTNAME
else
sbin/insserv $INSSERV_FORCE -r etc/init.d/$SCRIPTNAME
fi
fi
done
-14: ant JAVA_HOME=%{java_home} ant
-14: cflags_profile_feedback -fbranch-probabilities
-14: cflags_profile_generate -fprofile-arcs
-14: configure
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ;
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ;
FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ;
./configure --host=%{_host} --build=%{_build} \
--target=%{_target_platform} \
--program-prefix=%{?_program_prefix} \
--prefix=%{_prefix} \
--exec-prefix=%{_exec_prefix} \
--bindir=%{_bindir} \
--sbindir=%{_sbindir} \
--sysconfdir=%{_sysconfdir} \
--datadir=%{_datadir} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--localstatedir=%{_localstatedir} \
--sharedstatedir=%{_sharedstatedir} \
--mandir=%{_mandir} \
--infodir=%{_infodir}
-14: configure_kernel_source
if test -d /usr/src/linux ; then
pushd /usr/src/linux
test -f .config || cp arch/%_arch/defconfig.default .config
yes "" | make oldconfig
make dep
popd
fi
%nil
-14: debug_package
%ifnarch noarch
%global __debug_package 1
%package debuginfo
Summary: Debug information for package %{name}
Group: Development/Debug
AutoReqProv: 0
%description debuginfo
This package provides debug information for package %{name}.
Debug information is useful when developing applications that use this
package or when debugging this package.
%files debuginfo -f debugfiles.list
%defattr(-,root,root)
%endif
%{nil}
-14: do_profiling 1
-14: do_real_fillup
TEMPLATE_DIR=var/adm/fillup-templates
SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME
RC_TEMPLATE=$TEMPLATE_DIR/rc.config.$PNAME
SD_NAME=""
if [ -x bin/fillup ] ; then
%{sysc_fillup}
# remove the START_ variables from the base fillup template
if [ -f $RC_TEMPLATE.del -a -f $RC_TEMPLATE ] ; then
bin/fillup -q -r -i $RC_TEMPLATE $RC_TEMPLATE.del /dev/null
mv $RC_TEMPLATE.new $RC_TEMPLATE
fi
if [ -f etc/rc.config ] ; then
%{rc_fillup}
# remove the deprecated START_ variables from rc.config
if [ -f $TEMPLATE_DIR/rc.config.$PNAME.del ] ; then
rm -f etc/rc.config.xtract
bin/fillup -q -r -i etc/rc.config $RC_TEMPLATE.del etc/rc.config.xtract
if [ -f etc/rc.config.xtract ] ; then
. etc/rc.config.xtract
fi
rm -f etc/rc.config.xtract $RC_TEMPLATE.del
if [ -f etc/rc.config.new ] ; then
cmp -s etc/rc.config.new etc/rc.config || REMOVED_START=yes
mv etc/rc.config.new etc/rc.config
fi
fi
fi
else
echo "ERROR: fillup not found. This should not happen. Please compare"
echo "etc/rc.config and $TEMPLATE_DIR/rc.config.$PNAME and"
echo "update by hand."
fi
-14: fillup_and_insserv(finpsyY)
test -n "$FIRST_ARG" || FIRST_ARG=$1
%{-Y:FORCE_YES=1}%{!-Y:FORCE_YES=0}
REMOVED_START=no
set -- %{?*}
%{-n:PNAME=$1 ; shift }%{!-n:PNAME=%{name}}
INSSRV_ARRAY=""
while [ ${#*} -gt 0 ] ; do
SCRIPTNAME=$1
shift
%{-s:STARTVAR=$1 ; shift}
%{!-s:STARTVAR=START_`echo $SCRIPTNAME | tr a-z.- A-Z__`}
SV_B='^### BEGIN INIT INFO'
SV_E='^### END INIT INFO'
SV_KW=X-UnitedLinux-Default-Enabled
SV_VAL=`sed -n -e "/$SV_B/,/$SV_E/{/^# $SV_KW:[[:space:]]*\([^[:space:]]*\).*/s//\1/p;}" < etc/init.d/$SCRIPTNAME`
test -n "$SV_VAL" || SV_VAL=%{-y:"yes"}%{!-y:"no"}
eval $STARTVAR=$SV_VAL
test -n "$STARTVAR" -a -n "$SCRIPTNAME" || {
echo "STARTVARIABLE or SCRIPTNAME unknown"
exit 1
}
INSSRV_ARRAY="$INSSRV_ARRAY $SCRIPTNAME $STARTVAR"
%{!-f:%{!-i:grep -q "$STARTVAR=" var/adm/fillup-templates/rc.config.$PNAME.del 2>/dev/null ||
echo -e "#\n# Start service $SCRIPTNAME\n#\n$STARTVAR=\"${!STARTVAR}\"\n\n" >> var/adm/fillup-templates/rc.config.$PNAME.del } }
done
%{!-f: %{do_real_fillup}}
%{!-i: %{add_start_if_needed $INSSRV_ARRAY } }
-14: fillup_only(dans)
%{-n:PNAME=%{1}}%{!-n:PNAME=%{name}}
%{-s:SUBPNAME=-%{2}}%{!-s:SUBPNAME=%{-a:-%{name}}}
TEMPLATE_DIR=var/adm/fillup-templates
SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME
RC_TEMPLATE=$TEMPLATE_DIR/rc.config.$PNAME
SD_NAME=""
%{-d:%{-s:SD_NAME=%{3}/}%{!-s:SD_NAME=%{2}/}}
if [ -x bin/fillup ] ; then
%{sysc_fillup}
%{rc_fillup}
else
echo "ERROR: fillup not found. This should not happen. Please compare"
echo "etc/rc.config and $RC_TEMPLATE and"
echo "update by hand."
fi
-14: fillup_prereq fillup coreutils
-14: find_lang /usr/lib/rpm/find-lang.sh %{buildroot}
-14: insserv_cleanup
sbin/insserv etc/init.d
-14: insserv_force_if_yast
if test -n "$YAST_IS_RUNNING" ; then
INSSERV_FORCE="-f"
else
INSSERV_FORCE=""
fi
sbin/insserv $INSSERV_FORCE %{?*}
-14: insserv_prereq insserv sed devs
-14: install_info(:-:)
ALL_ARGS=(%{**})
NUM_ARGS=${#ALL_ARGS[@]}
if test -x sbin/install-info ; then
if test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then
sbin/install-info "${ALL_ARGS[@]}"
fi
fi ;
-14: install_info_delete(:-:)
ALL_ARGS=(%{**})
NUM_ARGS=${#ALL_ARGS[@]}
if test -x sbin/install-info ; then
if ! test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then
sbin/install-info --quiet --delete "${ALL_ARGS[@]}"
fi ;
fi ;
-14: install_info_prereq info
-14: is_plus %(if test -f /.buildenv ; then source /.buildenv ; if [[ "$BUILD_BASENAME" == *+kde ]] ; then echo 1 ; else echo 0 ; fi ; else echo 0 ; fi)
-14: ix86 i386 i486 i586 i686 athlon
-14: jar %{java_home}/bin/jar
-14: java %(. %{_javadir}-utils/java-functions; set_javacmd; echo $JAVACMD)
-14: java_home %(. %{_javadir}-utils/java-functions; set_jvm; echo $JAVA_HOME)
-14: javac %{java_home}/bin/javac
-14: javadoc %{java_home}/bin/javadoc
-14: jpackage_script
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
cat > $RPM_BUILD_ROOT%{_bindir}/%5 << EOF
#!/bin/sh
#
# %{name} script
# JPackage Project <http://www.jpackage.org/>
# Source functions library
. %{_javadir}-utils/java-functions
# Source system prefs
if [ -f %{_sysconfdir}/java/%{name}.conf ] ; then
. %{_sysconfdir}/java/%{name}.conf
fi
# Source user prefs
if [ -f \$HOME/.%{name}rc ] ; then
. \$HOME/.%{name}rc
fi
# Configuration
MAIN_CLASS=%1
BASE_FLAGS=%2
BASE_OPTIONS=%3
BASE_JARS="%(echo %4 | sed -e 's,:, ,g')"
# Set parameters
set_jvm
set_classpath \$BASE_JARS
set_flags \$BASE_FLAGS
set_options \$BASE_OPTIONS
# Let's start
run "\$@"
EOF
-14: makeinstall make DESTDIR=%{?buildroot:%{buildroot}} install
-14: nil %{!?nil}
-11: optflags -O2 -g -march=i586 -mcpu=i686 -fmessage-length=0
-14: perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib)
-14: perl_installarchlib %(perl -V:installarchlib | sed "s!.*='!!;s!'.*!!")
-14: perl_installman1dir %(perl -V:installman1dir | sed "s!.*='!!;s!'.*!!")
-14: perl_installman3dir %(perl -V:installman3dir | sed "s!.*='!!;s!'.*!!")
-14: perl_make_install make DESTDIR=$RPM_BUILD_ROOT install_vendor
-14: perl_man1dir %(perl -V:man1dir | sed "s!.*='!!;s!'.*!!")
-14: perl_man1ext %(perl -V:man1ext | sed "s!.*='!!;s!'.*!!")
-14: perl_man3dir %(perl -V:man3dir | sed "s!.*='!!;s!'.*!!")
-14: perl_man3ext %(perl -V:man3ext | sed "s!.*='!!;s!'.*!!")
-14: perl_prefix %{buildroot}
-14: perl_process_packlist(n:)
mkdir -p $RPM_BUILD_ROOT/var/adm/perl-modules
test -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod && { sed -e "s@$RPM_BUILD_ROOT@@g" < $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod > $RPM_BUILD_ROOT/var/adm/perl-modules/%{-n:%{-n*}}%{!-n:%{name}} ; } ;
test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT/%perl_sitearch/auto && find $RPM_BUILD_ROOT/%perl_sitearch/auto -name .packlist -print0 | xargs -0 -r perl -spi -e "s@$RPM_BUILD_ROOT@@g" ;
test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT/%perl_vendorarch/auto && find $RPM_BUILD_ROOT/%perl_vendorarch/auto -name .packlist -print0 | xargs -0 -r perl -spi -e "s@$RPM_BUILD_ROOT@@g" ;
rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
%nil
-14: perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch)
-14: perl_sitelib %(perl -V:sitelib | sed "s!.*='!!;s!'.*!!")
-14: perl_vendorarch %(perl -V:vendorarch | sed "s!.*='!!;s!'.*!!")
-14: perl_vendorlib %(perl -V:vendorlib | sed "s!.*='!!;s!'.*!!")
-14: perl_version %(perl -V:version | sed "s!.*='!!;s!'.*!!")
-14: py_compile(O)
find %1 -name '*.pyc' -exec rm -f {} \;
python -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1
%{-O:
find %1 -name '*.pyo' -exec rm -f {} \;
python -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1
}
-14: py_incdir %{py_prefix}/include/python%{py_ver}
-14: py_libdir %{py_prefix}/%{_lib}/python%{py_ver}
-14: py_prefix %(python -c "import sys; print sys.prefix" 2>/dev/null || echo PYTHON-NOT-FOUND)
-14: py_requires(d)
%define minver %py_ver
%define maxver %(python -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND)
BuildRequires: python %{-d:python-devel}
PreReq: python >= %minver, python < %maxver
-14: py_sitedir %{py_libdir}/site-packages
-14: py_ver %(python -c "import sys; v=sys.version_info[:2]; print '%%d.%%d'%%v" 2>/dev/null || echo PYTHON-NOT-FOUND)
-14: rc_fillup
# maybe the fillup template for rc.config is old, make sure we do not readd stuff here
if [ -f $SYSC_TEMPLATE -a -f $RC_TEMPLATE ] ; then
bin/fillup -q -r -i $RC_TEMPLATE $SYSC_TEMPLATE /dev/null
mv $RC_TEMPLATE.new $RC_TEMPLATE
fi
# do the normal fillup for the rc.config variables
if [ -f $RC_TEMPLATE ] ; then
bin/fillup -q -d = etc/rc.config $RC_TEMPLATE
fi
-14: remove_and_set(n:y)
%{-n:PNAME=%{-n*}}%{!-n:PNAME=%{name}}
DEF_VAL=%{-y:"yes"}%{!-y:"no"}
DEL_TEMPL=var/adm/fillup-templates/$PNAME.del
rm -f $DEL_TEMPL
for var in %{?*} ; do
echo -e "#\n$var=$DEF_VAL\n" >> $DEL_TEMPL
done
if [ -f etc/rc.config ] ; then
bin/fillup -q -t -r -i -d "=" etc/rc.config $DEL_TEMPL etc/rc.config.xtract
test -f etc/rc.config.new && mv etc/rc.config.new etc/rc.config
fi
if [ -f etc/sysconfig/$PNAME ] ; then
bin/fillup -q -t -r -i -d "=" etc/sysconfig/$PNAME $DEL_TEMPL etc/rc.config.xtract.too
test -f etc/sysconfig/$PNAME.new && mv etc/sysconfig/$PNAME.new etc/sysconfig/$PNAME
fi
for i in $DEL_TEMPL etc/rc.config.xtract etc/rc.config.xtract.too ; do
if [ -f $i ] ; then
. $i
rm -f $i
fi
done
-14: rename_sysconfig_variable(f:)
%{!-f:FILE=etc/rc.config}%{-f:FILE=%{-f*}}
if [ -f $FILE ] ; then
sed -e "s/^%{1}=/%{2}=/" $FILE > $FILE.new
mv $FILE.new $FILE
fi
-14: requires_eq %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
-14: restart_on_update
test -n "$FIRST_ARG" || FIRST_ARG=$1
if test "$FIRST_ARG" -ge 1 ; then
test -f /etc/sysconfig/services && . /etc/sysconfig/services
if test "$YAST_IS_RUNNING" != "instsys" -a "$DISABLE_RESTART_ON_UPDATE" != yes ; then
for service in %{?*} ; do
/etc/init.d/$service try-restart > /dev/null || :
done
fi
fi
%nil
-14: run_ldconfig /sbin/ldconfig
-14: run_permissions
if test "$YAST_IS_RUNNING" != "instsys" ; then
if test -x /sbin/SuSEconfig -a -f /sbin/conf.d/SuSEconfig.permissions ; then
/sbin/SuSEconfig --module permissions
fi
fi
%nil
-14: run_suseconfig(m:)
%{!-m:echo -e "\nERROR: missing parameter for macro run_suseconfig\n" ; exit 1 ; }
if test "$YAST_IS_RUNNING" != "instsys" ; then
if test -x /sbin/SuSEconfig -a -f /sbin/conf.d/SuSEconfig.%{-m*} ; then
/sbin/SuSEconfig --module %{-m*}
else
echo -e "\nERROR: SuSEconfig or requested SuSEconfig module not present!\n" ; exit 1
fi
fi
%nil
-14: run_suseconfig_fonts(c)
if test -x /sbin/conf.d/SuSEconfig.fonts ; then
%run_suseconfig -m fonts
fi
if test -x /sbin/conf.d/SuSEconfig.pango ; then
%run_suseconfig -m pango
fi
%{-c:if test -x /sbin/conf.d/SuSEconfig.ghostscript-cjk ; then
%run_suseconfig -m ghostscript-cjk
fi}
%nil
-14: save_rc_config_d_was_in_filelist(n)
%{-n:PNAME=%{?*}}%{!-n:PNAME=%{name}}
mkdir -p etc/sysconfig
if [ -f etc/rc.config.d/$PNAME.rc.config -a ! -f etc/sysconfig/$PNAME ] ; then
cp etc/rc.config.d/$PNAME.rc.config etc/sysconfig/$PNAME
fi
-15: sigtype none
-14: sles_version 0
-14: stop_on_removal
test -n "$FIRST_ARG" || FIRST_ARG=$1
if test "$FIRST_ARG" = "0" ; then
test -f /etc/sysconfig/services && . /etc/sysconfig/services
if test "$YAST_IS_RUNNING" != "instsys" -a "$DISABLE_STOP_ON_REMOVAL" != yes ; then
for service in %{?*} ; do
/etc/init.d/$service stop > /dev/null
done
fi
fi
%nil
-14: suse_check
%{?buildroot:RPM_BUILD_ROOT="%{buildroot}"
export RPM_BUILD_ROOT}
test -x /usr/sbin/Check -a $UID = 0 -o -x /usr/sbin/Check -a ! -z "$RPM_BUILD_ROOT" && {
echo "I call /usr/sbin/Check..."
/usr/sbin/Check
}
-14: suse_update_config(fcl)
AUTOMAKE_DIR=/usr/share/automake
[ -d $AUTOMAKE_DIR ] || AUTOMAKE_DIR=/usr/share/automake*
%{!-c:
[ -d $AUTOMAKE_DIR ] || {
echo 'Please, install automake.'
exit 1
}
}
for d in . %{?*}; do
%{!-c:
for f in config.sub config.guess; do
if test -f $d/$f -a ! $d/$f -ef $AUTOMAKE_DIR/$f ; then
%{!-f:[ $d/$f -nt $AUTOMAKE_DIR/$f ] ||} cp -f $AUTOMAKE_DIR/$f $d/$f
fi
if test -d $d -a ! -f $d/depcomp -a -f $AUTOMAKE_DIR/depcomp ; then
cp -f $AUTOMAKE_DIR/depcomp $d/depcomp
echo "please add depcomp to sources for new automake!"
fi
if test -f $d/missing -a ! $d/missing -ef $AUTOMAKE_DIR/missing ; then
cp -f $AUTOMAKE_DIR/missing $d/missing
fi
done
}
%{!-l:
for f in ltconfig ltmain.sh; do
if test -f $d/$f; then
sed 's/linux-gnu\([^*][^*]*\)\*/linux*\1*/g; s/linux-gnu/linux/g; s,/lib\>,/%_lib,g; s,/%_lib\([$-]\),/lib\1,g' $d/$f > $d/$f-$$ &&
mv -f $d/$f-$$ $d/$f
chmod +x $d/$f
fi
done
}
done
-14: suse_update_desktop_file(cinrud)
/usr/lib/rpm/suse_update_desktop_file.sh %{-c:-c} %{-i:-i} %{-n:-n} %{-r:-r} %{-u:-u} %{-d:-d} %* || exit 1
%nil
-14: suse_update_libdir
if [ %_lib != lib ]; then
for file in %{?*} ; do
[ ! -e $file ] && echo "Error: $file does not exist!" && exit -1
[ -e $file.nolib64 ] && echo "Error: $file.nolib64 already exists!" && exit -1
cp $file $file.nolib64
echo "patching $file"
sed -e "s,/lib\>,/%_lib,g" $file.nolib64 | sed -e "s,/%_lib/cpp,/lib/cpp,; s,/usr/%_lib/perl,/usr/lib/perl, ; s,/%_lib\([$-]\),/lib\1,g" > $file
rm -f $file.nolib64
done;
fi ;
-14: suse_version 930
-14: suseconfig_fonts_prereq perl aaa_base
-14: sysc_fillup
if [ -f $SYSC_TEMPLATE ] ; then
echo "Updating etc/sysconfig/$SD_NAME$PNAME..."
if [ ! -d etc/sysconfig/$SD_NAME ] ; then
mkdir -p etc/sysconfig/$SD_NAME
fi
if [ -f etc/rc.config.d/$PNAME.rc.config ] ; then
if [ -f etc/sysconfig/$SD_NAME$PNAME ] ; then
bin/fillup -q etc/sysconfig/$SD_NAME$PNAME etc/rc.config.d/$PNAME.rc.config
rm -f etc/rc.config.d/$PNAME.rc.config
else
mv etc/rc.config.d/$PNAME.rc.config etc/sysconfig/$SD_NAME$PNAME
fi
fi
if [ ! -f etc/rc.config ] ; then
test -f etc/sysconfig/$SD_NAME$PNAME || touch etc/sysconfig/$SD_NAME$PNAME
bin/fillup -q etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE
else
if [ ! -f etc/sysconfig/$SD_NAME$PNAME ] ; then
bin/fillup -q -r -i etc/rc.config $SYSC_TEMPLATE etc/sysconfig/$SD_NAME$PNAME
else
bin/fillup -q -r -i etc/rc.config $SYSC_TEMPLATE etc/sysconfig/$SD_NAME$PNAME.tmp
bin/fillup -q etc/sysconfig/$SD_NAME$PNAME etc/sysconfig/$SD_NAME$PNAME.tmp
rm -f etc/sysconfig/$SD_NAME$PNAME.tmp
fi
if [ -f etc/rc.config.new ] ; then
mv etc/rc.config.new etc/rc.config
fi
fi
fi
-14: tcl_version %(echo 'puts [package require Tcl]' | tclsh)
-14: ul_version 0
-14: verify_permissions(:-:)
if test -f /etc/sysconfig/security ; then
source /etc/sysconfig/security
fi
PERMFILES="/etc/permissions"
for PERMEXT in $PERMISSION_SECURITY ; do
if test -f /etc/permissions.$PERMEXT ; then
PERMFILES="$PERMFILES /etc/permissions.$PERMEXT"
fi
done
/usr/bin/chkstat -n %{**} $PERMFILES 1>&2
%nil
======================== active 314 empty 0
^ permalink raw reply
* Re: [PATCH] Add test case for git-config-set
From: Junio C Hamano @ 2005-11-18 6:09 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git, junkio
In-Reply-To: <Pine.LNX.4.63.0511172249410.18285@wbgn013.biozentrum.uni-wuerzburg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> +test_expect_failure 'ambiguous unset' \
> + 'git-config-set --unset nextsection.nonewline'
I am not so sure about this case. Shouldn't this remove both?
For example, if a Porcelain wants to force pull.twohead to be
resolve and nothing else, and it wants to do it unconditionally,
it would first want to empty whatever multivalue there are
currently, and then insert its own, and I'd imagine the way to
say that would be like this:
git-config-set --unset pull.twohead '^'
git-config-set pull.twohead resolve
More simply (I do not think you have a test case for this):
git-config-set pull.twohead resolve '^'
I think it is the easiest to explain and understand the
semantics of config_set_multivalue if it were to first remove all
existing key-value for matching ones, and then insert what was
provided by the user.
Extending that multivalue example a bit more, I think it is a
bit cumbersome for a Porcelain to set pull.twohead to recursive
and then resolve, with your interface. Even if you had the
emptying behaviour I suggested above, you would have to say
something awkard like this:
git-config-set --unset pull.twohead '^'
git-config-set pull.twohead recursive
git-config-set pull.twohead resolve no-such-value-should-be-there
Maybe we could have the shell-level interface like this:
git-config-set [--remove rx] section.key [value...]
When --remove rx is specified, the command first removes
existing multivalue for the given section.key that match rx, and
then insert given value(s); not giving any values amounts to
--unset. Not giving --remove rx is the same as giving a regexp
that matches all multivalues. So the simplest:
git-config-set section.key value
becomes a single-value assignment (insert-or-replace),
git-config-set section.key
confusingly enough is --unset (we probably would want to require
an explicit command line noise-word "--unset" in this case).
And "replacing with two values regardless of whatever there are
currently" naturally becomes:
git-config-set pull.twohead recursive resolve
The C-level interface would become something like:
git_config_set_multivar(const char *key,
const char *remove_value_regex,
const char **values)
where values is a NULL terminated list of values.
BTW, do we want to remove the section after removing the last
key and making it empty?
^ permalink raw reply
* Re: [PATCH] Add test case for git-config-set
From: Junio C Hamano @ 2005-11-18 6:32 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git, junkio
In-Reply-To: <7vd5kypjv2.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> writes:
> git-config-set section.key
>
> confusingly enough is --unset (we probably would want to require
> an explicit command line noise-word "--unset" in this case).
This is too confusing, so I think we should require --unset. I
think the C-interface I suggested in the previous message can
stay the same, but from the command line perspective, we should
have a bit easier syntax.
A revised suggestion is:
;# remove all
git-config-set --unset section.key
;# remove values that match rx and then append zero or more values
git-config-set --remove rx section.key [value...]
;# append one or more values (equivalent to specifying --remove
;# with rx that never matches anything). To reduce
;# confusion, we always require at least one value here.
git-config-set section.key value [value...]
;# Additionally, purely as a syntax sugar, replace the
;# entire multivalue with one or more values
;# (equivalent to saying --remove '^').
git-config-set --replace section.key value [value...]
I think (aside from "*-set" now becomes confusing), showing the
value of the specified key to stdout with
git-config-set section.key
would be a nice addition to complete the suite; has anybody
noticed that git-var is cumbersome to use for this?
^ permalink raw reply
* Re: [PATCH] 'make clean' forgot about some files
From: Junio C Hamano @ 2005-11-18 6:48 UTC (permalink / raw)
To: Nicolas Pitre; +Cc: git
In-Reply-To: <Pine.LNX.4.64.0511171038290.14287@localhost.localdomain>
Thanks
^ permalink raw reply
* Re: "make test" fails with current HEAD
From: Matthias Urlichs @ 2005-11-18 7:21 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: A Large Angry SCM, git
In-Reply-To: <Pine.LNX.4.63.0511180425200.6820@wbgn013.biozentrum.uni-wuerzburg.de>
[-- Attachment #1: Type: text/plain, Size: 509 bytes --]
Hi,
Johannes Schindelin:
> Any chance you investigate this in detail? Like inserting "test_done;
> exit" right before that test, only running t4103-*, and then executing
> the command yourself?
>
Thank you, I know how to debug ;-)
Already in progress.
--
Matthias Urlichs | {M:U} IT Design @ m-u-it.de | smurf@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
- -
A life spent in search of the perfect hash brownie is a life well spent.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: Question on GIT tutorial.
From: Junio C Hamano @ 2005-11-18 7:24 UTC (permalink / raw)
To: Franck; +Cc: git
In-Reply-To: <7vlkznt5tc.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> writes:
>> """
>> Copy over the packed files from "project lead" public repository to
>> your public repository.
>> """
>>
>> Why is it needed ?
>
> That was a remnant from the days some transports did not
> understand objects/info/alternates; I think we do not need that
> step anymore.
After re-reading that section, I take it back. What I meant to
say there was this:
You are the subsystem maintainer, so your tree would have
many overlapping objects with your project lead. So in step
2, you prepare an empty repository first, and then in step
3., copy the packs from the project lead. Then pushing into
that repository in step 4 would prevent the objects you
inherited from your project lead from getting expanded in
your public repository.
But these days, there is a more efficient way *if* your public
repository resides on the same machine as the public repository
of your project lead. First, on the public repository side:
pub$ export GIT_DIR=/pub/my.git
pub$ HIS_GIT=/pub/his.git
pub$ git-init-db
pub$ echo "$HIS_GIT/objects" >"$GIT_DIR/objects/info/alternates"
pub$ (cd "$HIS_GIT/refs" && tar - heads tags) |
(cd "$GIT_DIR/refs" && mkdir j.u.n.k && cd j.u.n.k && tar xf -)
This makes your repository to have the same refs as your
project lead has but under funny names. Then from your primary
development repository, you push into your public repository:
home$ git-send-pack --all ssh://pub.repo.xz/pub/my.git/
Thanks to the funny refs you stole from your project lead when
you prepared your public repository, this transfer sends only
objects the project lead does not have, and your refs. After
this is done, you can get rid of the funny refs you stole from
your project lead:
pub$ cd "$GIT_DIR/refs" && rm -fr j.u.n.k
If your public repository is not on the same machine as your
project lead's, objects/info/alternates trick cannot be used, so
what we have in the tutorial section still applies.
^ permalink raw reply
* Re: [ANNOUNCE] GIT 0.99.9j aka 1.0rc3
From: Fernando J. Pereda @ 2005-11-18 8:32 UTC (permalink / raw)
To: git
In-Reply-To: <7vfypvzsos.fsf@assigned-by-dhcp.cox.net>
[-- Attachment #1: Type: text/plain, Size: 552 bytes --]
On Wed, Nov 16, 2005 at 10:36:51PM -0800, Junio C Hamano wrote:
| GIT 0.99.9j aka 1.0rc3 is found at usual places.
We use the full tarball to build git in Gentoo Linux, are you planning
to provide it ? Or from now on you won't provide the full tarball ?
It is not a big problem since I can download it from git, but hey, it is
always easier to use the sources provided by upstream for us.
Thanks
Ferdy
--
Fernando J. Pereda Garcimartín
Gentoo Developer (Alpha,net-mail,mutt,git)
20BB BDC3 761A 4781 E6ED ED0B 0A48 5B0C 60BD 28D4
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: "make test" fails with current HEAD
From: Junio C Hamano @ 2005-11-18 7:30 UTC (permalink / raw)
To: Matthias Urlichs; +Cc: git
In-Reply-To: <pan.2005.11.17.15.31.56.755022@smurf.noris.de>
Matthias Urlichs <smurf@smurf.noris.de> writes:
> t4103.sh:
>
> fatal: patch with only garbage at line 30
> * FAIL 7: check binary diff with replacement.
> git-checkout master
> git-apply --check --allow-binary-replacement BF.diff
>
> May I suggest to please run "make test" before pushing? Thanks! ;-)
Well, I do, but the thing is, I do not have an access to your
particular machine ;-).
I *think* this is the same problem as I fixed tonight with help
from LASCM and John Benes, and I'm hoping to push the fix out
before going to bed tonight. If you are impatient the patch has
already been sent out.
^ permalink raw reply
* Re: "make test" fails with current HEAD
From: Matthias Urlichs @ 2005-11-18 7:51 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7v7jb6o1kl.fsf@assigned-by-dhcp.cox.net>
[-- Attachment #1: Type: text/plain, Size: 726 bytes --]
Hi,
Junio C Hamano:
> > May I suggest to please run "make test" before pushing? Thanks! ;-)
>
> Well, I do, but the thing is, I do not have an access to your
> particular machine ;-).
>
*Sigh*.
Sorry about that. It's not you, it's diff 2.8.7 -- which conveniently
omits the word "Binary".
>> Files /dev/null and b/file3 differ
Of course, with LANG=de_DE.UTF-8 the situation is worse ...
>> Dateien /dev/null und b/file3 sind verschieden.
... so git-diff-* might want to set LANG=C.
--
Matthias Urlichs | {M:U} IT Design @ m-u-it.de | smurf@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
- -
They're only trying to make me LOOK paranoid!
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [RFC] Using sticky directories to control access to branches.
From: Junio C Hamano @ 2005-11-18 7:55 UTC (permalink / raw)
To: Carl Baldwin; +Cc: git
In-Reply-To: <20051117170129.GA14013@hpsvcnb.fc.hp.com>
Carl Baldwin <cnb@fc.hp.com> writes:
> Now, git was probably designed to do this on purpose because it is the
> safest way to update a branch in an automic way.
Yes. How about using hooks/update? The documentation for
receive-pack suggests the use of it for generating commit
notification e-mails, but this is more general mechanism.
When your developer runs git-push into the repository,
git-receive-pack is run (either locally or over ssh) as that
developer, so is hooks/update script. Quoting from the relevant
section of the documentation:
Before each ref is updated, if $GIT_DIR/hooks/update file exists
and executable, it is called with three parameters:
$GIT_DIR/hooks/update refname sha1-old sha1-new
The refname parameter is relative to $GIT_DIR; e.g. for the
master head this is "refs/heads/master". Two sha1 are the
object names for the refname before and after the update. Note
that the hook is called before the refname is updated, so either
sha1-old is 0{40} (meaning there is no such ref yet), or it
should match what is recorded in refname.
So if your policy is (1) always require fast-forward push
(i.e. never allow "git-push repo +branch:branch"), (2) you
have a list of users allowed to update each branch, and (3) you
do not let tags to be overwritten, then:
#!/bin/sh
# This is a sample hooks/update script, written by JC
# in his e-mail buffer, so naturally it is not tested
# but hopefully would convey the idea.
umask 002
case "$1" in
refs/tags/*)
# No overwriting an existing tag
if test -f "$GIT_DIR/$1"
then
exit 1
fi
refs/heads/*)
# No rebasing or rewinding
if expr "$2" : '0*$' >/dev/null
then
# creating a new branch
;
else
# updating -- make sure it is a fast forward
mb=`git-merge-base "$2" "$3"`
case "$mb,$2" in
"$2,$mb")
;; # fast forward -- happy
*)
exit 1 ;; # unhappy
esac
fi
esac
# Is he allowed to update it?
me=`id -u -n` ;# e.g. "junio"
while read head_pattern users
do
if expr "$1" : "$head_pattern" >/dev/null
then
case " $users " in
*" $me "*)
exit 0 ;; # happy
'*')
exit 0 ;; # anybody
esac
fi
done
exit 1
For the sake of simplicity, I assumed that you keep something
like this in $GIT_DIR/info/allowed-pushers file:
refs/heads/master junio
refs/heads/cogito$ pasky
refs/heads/bw/ linus
refs/heads/tmp/ *
refs/tags/v[0-9]* junio
With , Linus can push or create "bw/penguin" or "bw/zebra" or
"bw/panda" branches, Pasky can do only "cogito", and I can do
master branch and make versioned tags. And anybody can do
tmp/blah branches. This assumes all the users are in a single
group that can write into $GIT_DIR/ and underneath.
^ permalink raw reply
* Re: "make test" fails with current HEAD
From: Junio C Hamano @ 2005-11-18 8:03 UTC (permalink / raw)
To: Matthias Urlichs; +Cc: git
In-Reply-To: <20051118075117.GK31613@kiste.smurf.noris.de>
Matthias Urlichs <smurf@smurf.noris.de> writes:
>>> Files /dev/null and b/file3 differ
>
> Of course, with LANG=de_DE.UTF-8 the situation is worse ...
And at this point it becomes more and more tempting to have our
own internal diff generator, without relying on external diff.
A midway compromise solution would be to detect if either file
is binary ourselves and not to call diff but always say "Binary
files differ".
^ permalink raw reply
* Re: "make test" fails with current HEAD
From: Junio C Hamano @ 2005-11-18 8:03 UTC (permalink / raw)
To: Matthias Urlichs; +Cc: git
In-Reply-To: <20051118075117.GK31613@kiste.smurf.noris.de>
Matthias Urlichs <smurf@smurf.noris.de> writes:
>>> Files /dev/null and b/file3 differ
>
> Of course, with LANG=de_DE.UTF-8 the situation is worse ...
And at this point it becomes more and more tempting to have our
own internal diff generator, without relying on external diff.
A midway compromise solution would be to detect if either file
is binary ourselves and not to call diff but always say "Binary
files difer".
^ permalink raw reply
* Re: git rebase conflict help?
From: Franck Bui-Huu @ 2005-11-18 8:04 UTC (permalink / raw)
To: Kevin Geiss; +Cc: git
In-Reply-To: <33D6F7FB-7864-471B-A111-9991C768577A@desertsol.com>
Kevin Geiss wrote:
> I fetched my origin branch, then tried to run 'git rebase origin'.
> one of my commits from master which is not yet in origin got a
> conflict, so git rebase origin told me that the Simple cherry-pick
> failed, and the Automatic cherry-pick got conflicts. and it saved the
> commit message for me in .msg and my offending commit's id in .rebase-
> tmp32409.
>
> I'm not sure how to proceed from here. actually, I know what the
> offending changes are, and I could re-do the changes by hand and
> commit them again, but I'd like to know what git tools I'm supposed
> to use in this case...
>
You can take a look at this:
http://www.gelato.unsw.edu.au/archives/git/0508/7789.html
Franck
^ permalink raw reply
* Re: [ANNOUNCE] GIT 0.99.9j aka 1.0rc3
From: Junio C Hamano @ 2005-11-18 8:29 UTC (permalink / raw)
To: Fernando J. Pereda; +Cc: git
In-Reply-To: <20051118083215.GA9551@ferdyx.org>
"Fernando J. Pereda" <ferdy@ferdyx.org> writes:
> We use the full tarball to build git in Gentoo Linux, are you planning
> to provide it ? Or from now on you won't provide the full tarball ?
No, it was a fallout from RPM renaming. I'll fix up the release
script.
Thanks for letting me know.
^ permalink raw reply
* Re: [RFC] Applying a graft to a tree and "rippling" the changes through the history
From: Matthias Urlichs @ 2005-11-18 8:49 UTC (permalink / raw)
To: git
In-Reply-To: <7vll01ut6j.fsf@assigned-by-dhcp.cox.net>
Hi, Junio C Hamano wrote:
> Ryan Anderson <ryan@michonline.com> writes:
>
>> I've written a tool that will take a single commit, add it as a parent
>> of another commit, and recreate the history above that second commit in
>> a fully compatible manner.
>
You're not the only one. My tool is different, however, in that it accepts
a list of old=>new commits. I have used it successfully to re-graft my
changes from a CVS->GIT tree to the corresponding CVS->SVN->GIT tree
(which cannot be identical, because (a) SVN's timestamps are not accurate
enough and (b) SVN's CVS import is more accurate in reproducing CVS
archives than cvsps can be).
> Also another rhetorical, tongue-in-cheek question. What is your
> plan to ripple the graft through to update signed tags? ;-)
I'd suggest adding the capability of grafting something onto a tag...
#!/usr/bin/python
# This is a simple script which clones a git subtree to another.
import sys,re,optparse,os,subprocess
parser = optparse.OptionParser("corresponding_file [ old_commit ]", conflict_handler="resolve", description="""\
Transfer a list of commits from one repository to another.
The first argument is a list of SHA1 entries of the form
old new
It lists which commits are "the same".
old_commit and those of its parents which are not listed in the
corresponding_file are copied, i.e. new commit objects are created.
Their SHA1s are added to the file so that you may repeat the process
with other commits, or run it incrementally.
""")
parser.add_option("-h","--help","-?", action="help",
help="Print this help message and exit")
parser.add_option("-v", "--verbose", dest="verbose", action="store_true",
help="Report progress")
(options, args) = parser.parse_args()
if len(args) < 1 or len(args) > 3:
parser.error("requires one to three arguments")
def end(p):
try:
retcode = p.wait()
except OSError,e:
print >>sys.stderr, "git-rev-list failed:", e
else:
if retcode < 0:
print >>sys.stderr, "git-rev-list was terminated by signal", -retcode
sys.exit(1)
elif retcode > 0:
print >>sys.stderr, "git-rev-list exited with non-zero exit code", retcode
sys.exit(1)
re_cmt = re.compile(r'\s*#.*')
corr = {}
for l in open(args[0]):
l = re_cmt.sub("",l).strip()
if l == "": continue
try:
a,b = l.split()
except ValueError:
continue
if len(a) != 40: continue
if len(b) != 40: continue
corr[a]=b
corrf=open(args[0],"a")
if len(args) >= 2:
srctag = args[1]
else:
srctag = "HEAD"
srcrepo = os.path.curdir
commits=[]
cmd = ["git-rev-list",srctag]
for k in corr.iterkeys():
cmd.append("^"+k)
if options.verbose:
print cmd
p=subprocess.Popen(cmd, stdout=subprocess.PIPE)
for l in p.stdout:
l = l.strip()
commits.append(l)
end(p)
while len(commits):
c = commits.pop()
if c in corr: continue
if options.verbose:
print "Processing:",c
p=subprocess.Popen(["git-cat-file","commit",c], stdout=subprocess.PIPE)
qf=os.tempnam()
try:
q=open(qf,"w")
nx=False
for l in p.stdout:
if nx:
q.write(l)
continue
l = l.strip()
if l == "":
nx=True
q.write("\n")
continue
a,b = l.split(" ",1)
if a == "parent":
b = corr[b]
print >>q,a,b
q.close()
q=subprocess.Popen(["git-hash-object","-w","-t","commit",qf], stdout=subprocess.PIPE)
d = q.stdout.read().strip()
end(q)
finally:
os.unlink(qf)
end(p)
corr[c] = d
print >>corrf, c,d
if options.verbose:
print c,d,l
# OK, everything is done.
corrf.close()
print d
--
Matthias Urlichs | {M:U} IT Design @ m-u-it.de | smurf@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
- -
It's not what you know or what you do, it's who you know.
^ permalink raw reply
* Re: "make test" fails with current HEAD
From: Matthias Urlichs @ 2005-11-18 8:56 UTC (permalink / raw)
To: git
In-Reply-To: <7vbr0imlha.fsf@assigned-by-dhcp.cox.net>
Hi, Junio C Hamano wrote:
> Matthias Urlichs <smurf@smurf.noris.de> writes:
>
>>>> Files /dev/null and b/file3 differ
>>
>> Of course, with LANG=de_DE.UTF-8 the situation is worse ...
>
> A midway compromise solution would be to detect if either file
> is binary ourselves and not to call diff but always say "Binary
> files difer".
Actually, there's a better way:
$ diff -u /dev/null /tmp/ra
Binary files /dev/null and /tmp/ra differ
$ echo $?
2
So the trivial fix is to emit our own "Binary files FOO and BAR differ"
line if the exit status is 2.
--
Matthias Urlichs | {M:U} IT Design @ m-u-it.de | smurf@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
- -
If a man will go as far as he can see, he will be able to see farther when
he gets there.
^ permalink raw reply
* Re: [PATCH 1/5] Library code for user-relative paths, take three.
From: Andreas Ericsson @ 2005-11-18 10:08 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7v8xvmsu9o.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
>
>>+ /* This is perfectly safe, and people tend to think of the directory
>>+ * where they ran git-init-db as their repository, so humour them. */
>>+ (void)chdir(".git");
>
>
> It might be safe, but I think it changes the behaviour of
> upload-pack with strict case. My gut reaction is we would want
> "if (!strict)" in front. Thoughts?
>
As it says in the comment; People tend to think of the directory where
they ran "git init-db" as their repository, so humour them. It's nice
for sharing files between devs in the office, and it *is* safe. Do as
you please though. It's the generality of the
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox