Commit | Line | Data |
---|---|---|
1ea15dbe JT |
1 | #!/bin/sh |
2 | # Shell script for building Solaris package of rsync | |
3 | # Author: Jens Apel <jens.apel@web.de> | |
4 | # License: GPL | |
5 | # | |
6 | # BASEDIR is /usr/local and should be the same as the | |
7 | # --prefix parameter of configure | |
8 | # | |
9 | # this script should be copied under | |
10 | # packaging/solaris/5.8/build_pkg.sh | |
11 | ||
12 | # Definitions start here | |
13 | # you can edit this, if you like | |
14 | ||
15 | # The Package name under which rsync will b installed | |
16 | PKGNAME=SMBrsync | |
17 | ||
18 | # Extract common info requires for the 'info' part of the package. | |
19 | # This should be made generic and generated by the configure script | |
20 | # but for now it is hard coded | |
21 | BASEDIR=/usr/local | |
22 | VERSION="2.5.5" | |
23 | ARCH=`uname -p` | |
24 | NAME=rsync | |
25 | ||
26 | # Definitions end here | |
27 | # Please do not edit below this line or you know what you do. | |
28 | ||
29 | ## Start by faking root install | |
30 | echo "Creating install directory (fake $BASEDIR)..." | |
31 | START=`pwd` | |
32 | FAKE_ROOT=$START/${PKGNAME} | |
33 | mkdir $FAKE_ROOT | |
34 | ||
35 | # copy the binary and the man page to their places | |
36 | mkdir $FAKE_ROOT/bin | |
37 | mkdir -p $FAKE_ROOT/doc/rsync | |
38 | mkdir -p $FAKE_ROOT/man/man1 | |
39 | mkdir -p $FAKE_ROOT/man/man5 | |
40 | ||
41 | cp ../../../rsync $FAKE_ROOT/bin/rsync | |
42 | cp ../../../rsync.1 $FAKE_ROOT/man/man1/rsync.1 | |
43 | cp ../../../rsyncd.conf.5 $FAKE_ROOT/man/man5/rsyncd.conf.5 | |
44 | cp ../../../README $FAKE_ROOT/doc/rsync/README | |
45 | cp ../../../COPYING $FAKE_ROOT/doc/rsync/COPYING | |
46 | cp ../../../tech_report.pdf $FAKE_ROOT/doc/rsync/tech_report.pdf | |
47 | cp ../../../COPYING $FAKE_ROOT/COPYING | |
48 | ||
49 | ## Build info file | |
50 | echo "Building pkginfo file..." | |
51 | cat > $FAKE_ROOT/pkginfo << EOF_INFO | |
52 | PKG=$PKGNAME | |
53 | NAME=$NAME | |
54 | DESC="Program for efficient remote updates of files." | |
55 | VENDOR="Samba Team URL: http://samba.anu.edu.au/rsync/" | |
56 | BASEDIR=$BASEDIR | |
57 | ARCH=$ARCH | |
58 | VERSION=$VERSION | |
59 | CATEGORY=application | |
60 | CLASSES=none | |
61 | EOF_INFO | |
62 | ||
63 | ## Build prototype file | |
64 | cat > $FAKE_ROOT/prototype << EOFPROTO | |
65 | i copyright=COPYING | |
66 | i pkginfo=pkginfo | |
67 | d none bin 0755 bin bin | |
68 | f none bin/rsync 0755 bin bin | |
69 | d none doc 0755 bin bin | |
70 | d none doc/$NAME 0755 bin bin | |
71 | f none doc/$NAME/README 0644 bin bin | |
72 | f none doc/$NAME/COPYING 0644 bin bin | |
73 | f none doc/$NAME/tech_report.pdf 0644 bin bin | |
74 | d none man 0755 bin bin | |
75 | d none man/man1 0755 bin bin | |
76 | f none man/man1/rsync.1 0644 bin bin | |
77 | d none man/man5 0755 bin bin | |
78 | f none man/man5/rsyncd.conf.5 0644 bin bin | |
79 | EOFPROTO | |
80 | ||
81 | ## And now build the package. | |
82 | OUTPUTFILE=$PKGNAME-$VERSION-sol8-$ARCH-local.pkg | |
83 | echo "Building package.." | |
84 | echo FAKE_ROOT = $FAKE_ROOT | |
85 | cd $FAKE_ROOT | |
86 | pkgmk -d . -r . -f ./prototype -o | |
87 | pkgtrans -os . $OUTPUTFILE $PKGNAME | |
88 | ||
89 | mv $OUTPUTFILE .. | |
90 | cd .. | |
91 | ||
92 | # Comment this out if you want to see, which file structure has been created | |
93 | rm -rf $FAKE_ROOT | |
94 |