LPM: Local Package Manager

Want to install software without root?

Change Log

The date format is YYYY/MM/DD

2017/1/9 Ver 2.0.0: Renewed with lpm.bio. macOS support is temporarily dropped.

2015/9/14 Ver 1.66: FIX: Did not work on old Mac OS X.

2015/8/4 Ver 1.65: FIX: Failed to download when http is redirected to https on some old Linux distros. Now uses wget whenever it is available.

2015/7/22 Ver 1.64: ADD: LPM recognizes Linux distributions.

2015/6/18 Ver 1.63: ADD: Official MacOS X support. ADD: lpm manualinstall FIX: ROOT_MODE was reset every time you update.

2015/5/15 Ver 1.62: FIX: The owners of files in archives are preserved when run by root. FIX: 'ver=' and 'topdirname=' were ignored when the source is a VCS repository.

2014/12/2 Ver 1.61: FIX: The bug fix in the previous release introduced a bug that causes 'shell' subcommand to stop prematurely.

2014/11/20 Ver 1.60: FIX: Security problem may have allowed others to execute arbitrary code when you execute a program in untrusted directores. FIX: the default tar in MacOS X outputs in a different format than GNU tar.

2014/5/15 Ver 1.59: FIX: Environment variable for architecture identification is not set as documented.

2014/5/15 Ver 1.58: FIX: Perl syntax error from Ver 1.57, which was mistakenly uploaded.

2014/5/14 Ver 1.57: FIX: Download failure was not detected when LWP::UserAgent is not available. IMP: Better error messages.

2014/5/13 Ver 1.56: FIX: 'lpm initlocaldir' did not work on Ubuntu because porg v0.2 cannot be installed without root. Now lpm patches it on the fly. FIX: Somehow lpm did not work with bash.

2014/4/20 Ver 1.55: ADD: If a package installs a file named '.lpm_save_under_this_dir', lpm adds files under the directory that contains that file when 'lpm freeze'.

2014/4/8 Ver 1.54: FIX: --root option worked when it was not given, and worked when given. If you already installed Ver 1.53, find the following line and change the value from 1 to 0.

use constant ROOT_MODE => 1;

2014/3/29 Ver 1.53: FIX: 'lpm updateself' fails. If you see the problem updating LPM, please add the following line just after the line containing "### CONFIG END ###".

use constant ROOT_MODE => 0;

2014/3/24 Ver 1.52: ADD: lpm root mode. You can use LPM with root (experimental).

2014/3/24 Ver 1.51: ADD: lpm initlocaldir works without internet connection (especially when the firewall does not allow access to sourceforge).

2014/3/24 Ver 1.50: ADD: lpm update command is added.

2014/3/24 Ver 1.49: ADD: lpm freeze/thaw/fridge commands are added.

2014/3/24 Ver 1.48: CHG: migrated from paco to porg.

2014/3/24 Ver 1.47: ADD: lpm automatically finds the type of Linux distributions (maybe useful for installing binaries). FIX: lpm ssconfig failed when user adds custom settings manually to the tail of init scripts.

2014/3/23 Ver 1.46: ADD: lpm shows dependent packages if build fails.

2014/3/22 Ver 1.45: FIX: the last fix at Ver 1.44 was insufficient.

2014/3/18 Ver 1.44: FIX: lpm did not work well when GnuPG does not exist AND when a signed LPM script contains a hyphen at the start of a line in an LPM script.

2014/2/25 Ver 1.43: FIX: lpm install of non-free packages from remote secure servers did not work. FIX: some wrong debug messages.

2014/2/24 Ver 1.42: FIX: lpm did not work when GnuPG does not exist. ADD: better message when a package is not found

2014/1/4 Ver 1.41: FIX: sourceforge command did not work, and the document for getlatest command was incorrect.

2013/12/6 Ver 1.40: FIX: version detection failed when one customized the output of git show

2013/9/7 Ver 1.39: FIX: better messaages. FIX: lpm uninstall still did not properly uninstall init scripts. ADD: $ARCH and $OS are available in scripts.

2013/8/20 Ver 1.38: FIX: the fix at ver 1.37 was not a true fix. ADD: --wnocert turns off SSL certificate verification by wget.

2013/8/19 Ver 1.37: FIX: lpm uninstall did not uninstall init scripts. ADD: package parameters

2013/8/16 Ver 1.36: ADD: better error messages for badly written LPM scripts. ADD: secure ssh local repository for non-distributable packages.

2013/8/14 Ver 1.35: FIX: fall back to wget did not work when the protocol is https. ADD: --wget option forces LPM to use wget.

2013/8/8 Ver 1.34: ADD: Support for packages incompatible with automatic downloading. You download commercial packages, put them in a specified directory, run LPM and they are installed.

2013/8/2 Ver 1.33: ADD: 'lpm updatelpmdevel' subcommand updates lpm to the latest development version. FIX: better hack for the csh setenv.

2013/8/1 Ver 1.32: ADD: 'lpm listrepos' subcommand displays the package list. FIX: exprimental hack for the csh MANPATH problem. Since I do not use (t)csh personally, please report if this works well.

2013/7/31 Ver 1.31: ADD: Automatically fall back to wget if necessary Perl modules are not available.

2013/7/29 Ver 1.30: ADD: support for xz format

2013/7/19 Ver 1.29: FIX: Package could not be uninstalled properly when some files are shared with another package.

2013/4/11 Ver 1.28: ADD: Improved error messages when build fails.

2012/11/30 Ver 1.27 ADD: Now you can give multiple source URLs with conditions (useful for software with binary distributions).

2012/10/16 Ver 1.26 FIX: initcpan command did not work with PERL_MM_OPT set.

2012/9/28 Ver 1.25 FIX: Normal URLs (a.k.a. non-git/hg/svn) did not work since Ver 1.24.

2012/9/12 Ver 1.24 ADD: git/hg/svn support. Now you can download from repositories instead of tar balls. Experimental Mac support.

2012/7/20 Ver 1.23 FIX: did not work with tcsh/csh properly in some situation.

2012/6/26 Ver 1.22 FIX: did not work with older Perl not shipped with Srypt::SSLeay

2012/6/26 Ver 1.21 ADD: git URL supported, ADD: improved messages, ADD: copyrep command added

2012/6/13 Ver 1.20 FIX: did not work with older Perl.

2012/4/12 Ver 1.19 ADD: creates $(LPM_LOCAL)/opt directory by default.

2012/3/27 Set up ML (English).

2012/3/25 Ver 1.18 ADD: removes CR automatically if an LPM script has DOS-style new lines (CR+LF).

2012/2/3 Ver 1.17 FIX: the HTML structure of sourceforge was changed and could not be parsed by LPM.

2011/9/22 Ver 1.16 FIX: updatelpm did not work at all. CHG: when you do 'lpm initlocaldir --local=hoge', '--local=hoge' is implicitly added for later invocations of LPM.

2011/9/4 Ver 1.15 ADD: use proxy if needed.

2011/9/1 Ver 1.14 CHG: cache downloaded files (mainly for lpm script debugging where the same archive is downloaded several times). ADD: topdirname command.

2011/8/3 Ver 1.13 ADD: can output the list of installed packages.

2011/6/13 Ver 1.12 FIX: Perl module could not be installed. ADD: self-update preserves the config parameters.

2011/5/18 Ver 1.11 ADD: better messages. ADD: sourceforge command.

2011/5/8 Ver 1.10 ADD: better help message. ADD: ssconfig command.

2011/4/27 Ver 1.09 ADD: several environmental variables for install scripts. FIX: bad (uninformative) error messages for some situations.

2011/4/24 Ver 1.08 FIX: did not recognize Ruby version number. FIX: compiler check did not work properly (Thanks to T. Nishiyama).

2011/4/22 Ver 1.07 FIX: sourceforge changed the structure of pages. FIX: extra new lines were added in shell/custominstall (Thanks to T. Nishiyama).

2011/3/6 Ver 1.06 NEW: works without uudecode. better error messages when compiler is not available.

2011/2/27 Ver 1.05 NEW: self update

2010/10/24 Ver 1.04 FIX: cannot install from local tar balls

2010/9/22 Set up ML (Japanese).

2010/?/?? The first version released.