{"thread":{"id":"18644","subject":"[PATCH] Build RPMs locally unless overruled in ~/.rpmmacros","startedAt":"2009-03-30T15:10:39Z","lastAt":"2009-04-02T06:47:55Z","messageCount":2,"participants":["Niels Basjes","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"109912","messageId":"1238425839-6337-1-git-send-email-Niels@Basjes.nl","threadId":"18644","inReplyTo":null,"subject":"[PATCH] Build RPMs locally unless overruled in ~/.rpmmacros","fromName":"Niels Basjes","fromEmail":"niels@basjes.nl","sentAt":"2009-03-30T15:10:39Z","receivedAt":"2009-03-30T15:10:39Z","isPatch":true,"sender":{"key":"niels@basjes.nl","avatar":"https://gravatar.com/avatar/1a1e9443d32983849de0a7a64aaad3fd2e238ca69bccbaa71a914d8edbd84ed5?d=mp&s=160"},"body":"From: Niels Basjes <niels@basjes.nl>\n\nSigned-off-by: Niels Basjes <niels@basjes.nl>\n---\n .gitignore |    1 +\n Makefile   |    8 +++++++-\n 2 files changed, 8 insertions(+), 1 deletions(-)\n\ndiff --git a/.gitignore b/.gitignore\nindex 1c57d4c..2f2554b 100644\n--- a/.gitignore\n+++ b/.gitignore\n@@ -173,3 +173,4 @@ configure\n tags\n TAGS\n cscope*\n+RPM_BUILDING\ndiff --git a/Makefile b/Makefile\nindex 7867eac..ad5a1f7 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -242,7 +242,13 @@ RM = rm -f\n TAR = tar\n FIND = find\n INSTALL = install\n-RPMBUILD = rpmbuild\n+RPMBUILDOPTS = $(shell if [ \"`grep '^%_topdir' $(HOME)/.rpmmacros`\" == \"\" ];        \\\n+                       then                                                         \\\n+                           mkdir -p RPM_BUILDING/{BUILD,RPMS,SOURCES,SPECS,SRPMS};  \\\n+                           echo '--define=\"_topdir `pwd`/RPM_BUILDING\"' ;           \\\n+                       fi                                                           \\\n+                )\n+RPMBUILD = rpmbuild $(RPMBUILDOPTS)\n TCL_PATH = tclsh\n TCLTK_PATH = wish\n PTHREAD_LIBS = -lpthread\n-- \n1.6.1.3\n"},{"id":"110197","messageId":"7vfxgrimas.fsf@gitster.siamese.dyndns.org","threadId":"18644","inReplyTo":"1238425839-6337-1-git-send-email-Niels@Basjes.nl","subject":"Re: [PATCH] Build RPMs locally unless overruled in ~/.rpmmacros","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-04-02T06:47:55Z","receivedAt":"2009-04-02T06:47:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Niels Basjes <Niels@basjes.nl> writes:\n\n> From: Niels Basjes <niels@basjes.nl>\n>\n> Signed-off-by: Niels Basjes <niels@basjes.nl>\n\nI am not opposed to have an option to build RPM binary packages in-tree,\nand RPM_BUILDING might be an already accepted name for the directory (even\nthough it looks too loud to my eyes, you may have chosen it because it is\na common practice in the RPM land---I am not an RPM person so I wouldn't\nknow).\n\nBut I thought somebody already pointed out a possible regression scenario.\nIf one has been running 'make rpm' with RPMBUILD that invokes rpmbuild\ncommand with a custom yet not $HOME/.rpmmacos file via --macros option, or\nhas been running it as a user that can write into system-wide rpm\nworkplaces, this patch would break such an established workflow.\n\nPerhaps something along this line might work just as well, without\nbreaking things for people?\n\n\tifdef RPM_BUILD_HERE\n        RPMBUILDOPTS = --define=\"_topdir $(pwd)/RPM_BUILDING\"\n\trpmprep:\n        \tmkdir RPM_BUILDING\n                mkdir RPM_BUILDING/BUILD\n        \tmkdir RPM_BUILDING/RPMS\n        \tmkdir RPM_BUILDING/SOURCES\n        \tmkdir RPM_BUILDING/SPECS\n        \tmkdir RPM_BUILDING/SRPMS\n\telse\n        RPMBUILDOPTS =\n        rpmprep:\n\t\t: nothing\n        endif\n\n\trpm: dist rpmprep\n        \t$(RPMBUILD) $(RPMBUILDOPTS) -ta $(GIT_TARNAME).tar.gz\n\nBy the way, as far as I can tell, you do not need to have SOURCES\ndirectory in order to run \"make rpm\" in git.git.\n\n> +RPMBUILDOPTS = $(shell if [ \"`grep '^%_topdir' $(HOME)/.rpmmacros`\" == \"\" ];        \\\n> +                       then                                                         \\\n> +                           mkdir -p RPM_BUILDING/{BUILD,RPMS,SOURCES,SPECS,SRPMS};  \\\n\nNot everybody runs bash.\n\n> +                           echo '--define=\"_topdir `pwd`/RPM_BUILDING\"' ;           \\\n> +                       fi                                                           \\\n> +                )\n> +RPMBUILD = rpmbuild $(RPMBUILDOPTS)\n>  TCL_PATH = tclsh\n>  TCLTK_PATH = wish\n>  PTHREAD_LIBS = -lpthread\n\nYou need to have \"make clean\" remove RPM_BUILDING.\n"}]}