ytoolshed / multipkg

Automation for package builds
67 stars 37 forks source link

need an INSTALL doc. #11

Closed nrh closed 12 years ago

nrh commented 13 years ago

am i missing something, or is multipkg packaged with multipkg? there's no (clear) way to install it without already having a functioning copy.

nmeyerhans commented 13 years ago

Yeah, bootstrapping it is a bit of a pain. I've gone through it a few times at this point and keep meaning to write something up. IIRC, it starts with a standard Makefile.PL install in the source directory in order to install the modules. Check index.yaml for the runtime dependencies. Install root/usr/share and root/usr/bin by hand. Then call svn-multipkg (or git-multipkg or whatever) to build an actual package. Delete the stuff you installed by hand and install the package. Somewhere in there you also need to perform the stuff from scripts/transform as well.

Feel free to try and translate that into something more coherent...

nrh commented 13 years ago

hmm, I got as far as:

[nrh@toki root/usr/bin (master)] PATH=.:$PATH ./git-multipkg -b https://github.com/ytoolshed/ multipkg remote: Counting objects: 439, done. remote: Compressing objects: 100% (287/287), done. remote: Total 439 (delta 176), reused 237 (delta 66) Receiving objects: 100% (439/439), 81.00 KiB, done. Resolving deltas: 100% (176/176), done. No such directory /Users/nrh/projects/multipkg/root/usr/bin/MULTIPKG_CONFIG_DIR

Is MULTIPKG_CONFIG_DIR supposed to be the location of the usr/share stuff? What would normally sub that out?

nrh commented 13 years ago

er, markdown is doing...stuff..

__MULTIPKG_CONFIG_DIR__

is what I meant.

nmeyerhans commented 13 years ago

On Wed, Nov 16, 2011 at 12:30:50PM -0800, Nicholas Harteau wrote:

Is MULTIPKG_CONFIG_DIR supposed to be the location of the usr/share stuff? What would normally sub that out?

This is what's filled in by scripts/transform:

Tag files with PKGVERID

[ -d "$INSTALLDIR" ] || exit 1 [ -n "$PKGVERID" ] || exit 1

for x in find "$INSTALLDIR" -type f; do grep -q MULTIPKG_BUILD_VERSION "$x" && sed -i "s,MULTIPKG_BUILD_VERSION,$PKGVERID," "$x" grep -q MULTIPKG_CONFIG_DIR "$x" && sed -i "s,MULTIPKG_CONFIG_DIR,/usr/share/multipkg," "$x" done

nrh commented 13 years ago

I think there's an inception-esque issue with multipkg installing multipkg.

multipkg will install multipkg into $TMPDIR/whatever, including usr/share/scripts/transform it will then run INSTALLDIR=$TMPDIR/whatever /usr/share/scripts/transform, which will sed the FOOs out of the transform script, rendering it inoperable before it creates the tarball

the resulting script in the tarball is no longer functional.

cuzelac commented 12 years ago

No, I had the same issue. I bootstrapped a few months ago by futzing with INC and/or manually copying the requisite .pm files around. Agree that there's got to be a better way.

cuzelac commented 12 years ago

Wrote a readme for rpm-based distros on branch issue-11.

To work, this requires pull 17 get merged.

Once that's done, I'll test my doc, adjust, and merge to master.

cuzelac commented 12 years ago

All is done and merged!