{"thread":{"id":"6897","subject":"git installation (as private user) should NEVER write site_perl","startedAt":"2007-02-20T17:18:15Z","lastAt":"2007-02-20T18:53:29Z","messageCount":7,"participants":["Randal L. Schwartz","Erik Mouw","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"35122","messageId":"86sld0sq7c.fsf@blue.stonehenge.com","threadId":"6897","inReplyTo":null,"subject":"git installation (as private user) should NEVER write site_perl","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2007-02-20T17:18:15Z","receivedAt":"2007-02-20T17:18:15Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":"\nI tried to install git on a system where I was a normal user.  Of course,\nthis step fails:\n\n     Installing /usr/perl5/site_perl/5.6.1/Error.pm\n     Installing /usr/perl5/site_perl/5.6.1/Git.pm\n\nBut on a larger level, this should never have even been attempted, whether I\nwas a private user OR the box administrator.  The git installation should NOT\nbe installing things into the site_perl directory, which is owned by the CPAN\ninstallation tools, and also by the various packaging tools, and is also seen\nby non-git users of Perl on the machine.  (It would be bad to have two\ndifferent versions of Error.pm now being seen by all users.)\n\nIf git wants to add local Perl modules, they belong in ${prefix}/lib/perl/\nor something, with the appropriate \"use lib\" added to the Perl scripts.\n\nNo patches attached, but this is a showstopper for my client, and a bit of a\nshocker for me.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nPerl/Unix/security consulting, Technical writing, Comedy, etc. etc.\nSee PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!\n"},{"id":"35127","messageId":"20070220175536.GC26444@gateway.home","threadId":"6897","inReplyTo":"86sld0sq7c.fsf@blue.stonehenge.com","subject":"Re: git installation (as private user) should NEVER write site_perl","fromName":"Erik Mouw","fromEmail":"mouw@nl.linux.org","sentAt":"2007-02-20T17:55:37Z","receivedAt":"2007-02-20T17:55:37Z","isPatch":false,"sender":{"key":"mouw@nl.linux.org","avatar":null},"body":"On Tue, Feb 20, 2007 at 09:18:15AM -0800, Randal L. Schwartz wrote:\n> I tried to install git on a system where I was a normal user.  Of course,\n> this step fails:\n> \n>      Installing /usr/perl5/site_perl/5.6.1/Error.pm\n>      Installing /usr/perl5/site_perl/5.6.1/Git.pm\n\nIt gets installed in ~/share/perl/5.8.4/ when I compile as a normal\nuser (git-1.5.0.1):\n\nInstalling /home/erik/share/perl/5.8.4/Error.pm\nInstalling /home/erik/share/perl/5.8.4/Git.pm\nInstalling /home/erik/man/man3/private-Error.3pm\nInstalling /home/erik/man/man3/Git.3pm\n\n\nErik\n\n-- \nThey're all fools. Don't worry. Darwin may be slow, but he'll\neventually get them. -- Matthew Lammers in alt.sysadmin.recovery\n"},{"id":"35126","messageId":"86abz8sodh.fsf@blue.stonehenge.com","threadId":"6897","inReplyTo":"20070220175536.GC26444@gateway.home","subject":"Re: git installation (as private user) should NEVER write site_perl","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2007-02-20T17:57:46Z","receivedAt":"2007-02-20T17:57:46Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Erik\" == Erik Mouw <mouw@nl.linux.org> writes:\n\nErik> On Tue, Feb 20, 2007 at 09:18:15AM -0800, Randal L. Schwartz wrote:\n>> I tried to install git on a system where I was a normal user.  Of course,\n>> this step fails:\n>> \n>> Installing /usr/perl5/site_perl/5.6.1/Error.pm\n>> Installing /usr/perl5/site_perl/5.6.1/Git.pm\n\nErik> It gets installed in ~/share/perl/5.8.4/ when I compile as a normal\nErik> user (git-1.5.0.1):\n\nErik> Installing /home/erik/share/perl/5.8.4/Error.pm\nErik> Installing /home/erik/share/perl/5.8.4/Git.pm\nErik> Installing /home/erik/man/man3/private-Error.3pm\nErik> Installing /home/erik/man/man3/Git.3pm\n\nIs that a personally-installed Perl though?  Those paths look suspicious.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nPerl/Unix/security consulting, Technical writing, Comedy, etc. etc.\nSee PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!\n"},{"id":"35128","messageId":"863b50snvv.fsf@blue.stonehenge.com","threadId":"6897","inReplyTo":"86sld0sq7c.fsf@blue.stonehenge.com","subject":"Re: git installation (as private user) should NEVER write site_perl","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2007-02-20T18:08:20Z","receivedAt":"2007-02-20T18:08:20Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Randal\" == Randal L Schwartz <merlyn@stonehenge.com> writes:\n\nRandal> If git wants to add local Perl modules, they belong in\nRandal> ${prefix}/lib/perl/ or something, with the appropriate \"use lib\" added\nRandal> to the Perl scripts.\n\n>From a bit further research, it looks like git prefers installing git-only\nPerl modules using the standard MakeMaker, which of course will try to\ninstall them in site_lib.\n\nOddly enough, if I define NO_PERL_MAKEMAKER, I get the behavior I want.\n\nI suggest that NO_PERL_MAKEMAKER is the *only* correct behavior in this case,\nso I propose that the code be made unconditional, and the Makemaker stuff be\npulled out.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nPerl/Unix/security consulting, Technical writing, Comedy, etc. etc.\nSee PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!\n"},{"id":"35129","messageId":"20070220181224.GD26444@gateway.home","threadId":"6897","inReplyTo":"86abz8sodh.fsf@blue.stonehenge.com","subject":"Re: git installation (as private user) should NEVER write site_perl","fromName":"Erik Mouw","fromEmail":"mouw@nl.linux.org","sentAt":"2007-02-20T18:12:24Z","receivedAt":"2007-02-20T18:12:24Z","isPatch":false,"sender":{"key":"mouw@nl.linux.org","avatar":null},"body":"On Tue, Feb 20, 2007 at 09:57:46AM -0800, Randal L. Schwartz wrote:\n> >>>>> \"Erik\" == Erik Mouw <mouw@nl.linux.org> writes:\n> \n> Erik> On Tue, Feb 20, 2007 at 09:18:15AM -0800, Randal L. Schwartz wrote:\n> >> I tried to install git on a system where I was a normal user.  Of course,\n> >> this step fails:\n> >> \n> >> Installing /usr/perl5/site_perl/5.6.1/Error.pm\n> >> Installing /usr/perl5/site_perl/5.6.1/Git.pm\n> \n> Erik> It gets installed in ~/share/perl/5.8.4/ when I compile as a normal\n> Erik> user (git-1.5.0.1):\n> \n> Erik> Installing /home/erik/share/perl/5.8.4/Error.pm\n> Erik> Installing /home/erik/share/perl/5.8.4/Git.pm\n> Erik> Installing /home/erik/man/man3/private-Error.3pm\n> Erik> Installing /home/erik/man/man3/Git.3pm\n> \n> Is that a personally-installed Perl though?  Those paths look suspicious.\n\nNo, just standard Debian stable packages:\n\n  erik@zurix:~> which perl\n  /usr/bin/perl\n  erik@zurix:~> dpkg -S /usr/bin/perl\n  perl-base: /usr/bin/perl\n  perl-base: /usr/bin/perl\n  erik@zurix:~> dpkg -l perl-base\n  Desired=Unknown/Install/Remove/Purge/Hold\n  | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed\n  |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)\n  ||/ Name           Version        Description\n  +++-==============-==============-============================================\n  ii  perl-base      5.8.4-8sarge5  The Pathologically Eclectic Rubbish Lister\n\nGit is installed in my home directory:\n\n  erik@zurix:~ > which git\n  /home/erik/bin/git\n\n\nErik\n\n-- \nThey're all fools. Don't worry. Darwin may be slow, but he'll\neventually get them. -- Matthew Lammers in alt.sysadmin.recovery\n"},{"id":"35130","messageId":"7vvehwvge0.fsf@assigned-by-dhcp.cox.net","threadId":"6897","inReplyTo":"86abz8sodh.fsf@blue.stonehenge.com","subject":"Re: git installation (as private user) should NEVER write site_perl","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-02-20T18:21:59Z","receivedAt":"2007-02-20T18:21:59Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"merlyn@stonehenge.com (Randal L. Schwartz) writes:\n\n>>>>>> \"Erik\" == Erik Mouw <mouw@nl.linux.org> writes:\n>\n> Erik> On Tue, Feb 20, 2007 at 09:18:15AM -0800, Randal L. Schwartz wrote:\n>>> I tried to install git on a system where I was a normal user.  Of course,\n>>> this step fails:\n>>> \n>>> Installing /usr/perl5/site_perl/5.6.1/Error.pm\n>>> Installing /usr/perl5/site_perl/5.6.1/Git.pm\n>\n> Erik> It gets installed in ~/share/perl/5.8.4/ when I compile as a normal\n> Erik> user (git-1.5.0.1):\n>\n> Erik> Installing /home/erik/share/perl/5.8.4/Error.pm\n> Erik> Installing /home/erik/share/perl/5.8.4/Git.pm\n> Erik> Installing /home/erik/man/man3/private-Error.3pm\n> Erik> Installing /home/erik/man/man3/Git.3pm\n>\n> Is that a personally-installed Perl though?  Those paths look suspicious.\n\nActually that is what I get on my Debian box (Perl is from\ndistribution).  I build with prefix=$HOME/git-next and get\n\n        $ ls -lR ~/git-next/*/perl\n        /home/junio/git-next/lib/perl:\n        total 12\n        drwxrwsr-x 3 junio junio 4096 2007-02-20 10:17 ./\n        drwxrwsr-x 3 junio junio 4096 2007-02-20 10:17 ../\n        drwxrwsr-x 3 junio junio 4096 2007-02-20 10:17 5.8.8/\n\n        /home/junio/git-next/lib/perl/5.8.8:\n        total 16\n        drwxrwsr-x 3 junio junio 4096 2007-02-20 10:17 ./\n        drwxrwsr-x 3 junio junio 4096 2007-02-20 10:17 ../\n        drwxr-sr-x 3 junio junio 4096 2007-02-20 10:17 auto/\n        -rw-rw-r-- 1 junio junio  221 2007-02-20 10:17 perllocal.pod\n\n        /home/junio/git-next/lib/perl/5.8.8/auto:\n        total 12\n        drwxr-sr-x 3 junio junio 4096 2007-02-20 10:17 ./\n        drwxrwsr-x 3 junio junio 4096 2007-02-20 10:17 ../\n        drwxr-sr-x 2 junio junio 4096 2007-02-20 10:17 Git/\n\n        /home/junio/git-next/lib/perl/5.8.8/auto/Git:\n        total 12\n        drwxr-sr-x 2 junio junio 4096 2007-02-20 10:17 ./\n        drwxr-sr-x 3 junio junio 4096 2007-02-20 10:17 ../\n        -rw-rw-r-- 1 junio junio   83 2007-02-20 10:17 .packlist\n\n        /home/junio/git-next/share/perl:\n        total 12\n        drwxrwsr-x 3 junio junio 4096 2006-11-08 23:25 ./\n        drwxr-sr-x 4 junio junio 4096 2006-11-08 23:25 ../\n        drwxrwsr-x 2 junio junio 4096 2007-02-03 22:18 5.8.8/\n\n        /home/junio/git-next/share/perl/5.8.8:\n        total 32\n        drwxrwsr-x 2 junio junio  4096 2007-02-03 22:18 ./\n        drwxrwsr-x 3 junio junio  4096 2006-11-08 23:25 ../\n        -r--r--r-- 1 junio junio 22332 2007-02-03 22:15 Git.pm\n\nI have /usr/share/perl5/Error.pm that is packaged liberror-perl\nfrom the distro.\n"},{"id":"35134","messageId":"86y7msr786.fsf@blue.stonehenge.com","threadId":"6897","inReplyTo":"863b50snvv.fsf@blue.stonehenge.com","subject":"Re: git installation (as private user) should NEVER write site_perl","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2007-02-20T18:53:29Z","receivedAt":"2007-02-20T18:53:29Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Randal\" == Randal L Schwartz <merlyn@stonehenge.com> writes:\n\n>>>>> \"Randal\" == Randal L Schwartz <merlyn@stonehenge.com> writes:\nRandal> If git wants to add local Perl modules, they belong in\nRandal> ${prefix}/lib/perl/ or something, with the appropriate \"use lib\" added\nRandal> to the Perl scripts.\n\nRandal> Oddly enough, if I define NO_PERL_MAKEMAKER, I get the behavior I want.\n\nRandal> I suggest that NO_PERL_MAKEMAKER is the *only* correct behavior in this case,\nRandal> so I propose that the code be made unconditional, and the Makemaker stuff be\nRandal> pulled out.\n\nSo, something spookier is happening on this solaris box then.  I can\nsee that if MakeMaker is used, the Makefile.PL is referring to INST_LIBDIR\nwhich should indeed be private inside git's area.  And in fact, I can\nverify on my laptop that Git.pm was indeed installed into /opt/git/lib/site_perl/5.8.8/\n\nI don't know why this isn't working on solaris. :( It might be that the\nMakeMaker is too old, and doesn't respect the same prefix elements.\n\nCall off the hounds... I can locally work around it by setting\nNO_PERL_MAKEMAKER, and suspect I won't have anything further to contribute to\nthe core on this matter.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nPerl/Unix/security consulting, Technical writing, Comedy, etc. etc.\nSee PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!\n"}]}