File: makerpms

package info (click to toggle)
openscenegraph 1.2.0-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 26,924 kB
  • ctags: 25,229
  • sloc: cpp: 239,326; ansic: 2,178; sh: 1,990; yacc: 548; perl: 237; makefile: 227; lex: 151
file content (130 lines) | stat: -rw-r--r-- 1,907 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/sh

PRODUCT=$1
RPM_HEADER=$2
RPM_FILES=$3

SYS_SRC_DIR=/usr/src/packages/

VERSION=`make -s version`
rev=`echo $VERSION | cut -f1 -d"-"`
rel=`echo $VERSION | cut -f2 -d"-"`
TARBALL_NAME=$PRODUCT-$VERSION.tar.gz
TARBALL_DEST=$SYS_SRC_DIR/SOURCES/$TARBALL_NAME

printRPMHeaderBeforeDescription()
{
    cat $RPM_HEADER |  awk  \
        'BEGIN{flag=1}\
        { \
          if ($1 == "Description:" )\
            flag = 0;\
          if( flag == 1 ) \
              print $0;  \
        }'
}

printRPMHeaderAfterDescription()
{
    cat $RPM_HEADER |  awk  \
        'BEGIN{flag=0}\
        { \
          if( flag == 1 ) \
              print $0;  \
          if ($1 == "Description:" )\
            flag = 1;\
        }'
}

makeSpec()
{
    cat <<-LEOF
Name: $PRODUCT
`printRPMHeaderBeforeDescription`
Version: $rev
Release: $rel
Source: $TARBALL_NAME
Packager: `awk -f - /etc/passwd <<-EOF
BEGIN { FS=":"}
{
        if( \\$1 == "$LOGNAME" )
                print \\$5
}
EOF`

%description

`printRPMHeaderAfterDescription`

%prep

%setup

%build

%install

tar cf - . | tar xvfC - /

%files

LEOF

    cat $RPM_FILES | while read perm src dst
    do
        echo "%attr($perm, root, root) $dst"
    done
    echo
}

makedir()
{
    [ -d $1 ] || mkdir -p $1 
}

makeTarball()
{
    IDIR=$PRODUCT-$rev
    [ -d $IDIR ] && rm -rf $IDIR

    cat $RPM_FILES | while read perm src dst
    do
        makedir $IDIR/`dirname $dst`
        install $src $IDIR/$dst
    done

    tar cf - $IDIR | gzip > $TARBALL_DEST
}

check_args()
{
    if [ ! -f $RPM_HEADER ] 
    then
        echo RPM Header file == $RPM_HEADER == missing
        return 1
    fi
    if [ ! -f $RPM_FILES ] 
    then
        echo RPM Files file == $RPM_FILES == missing
        return 1
    fi

    return 0
}

if ! check_args 
then 
    exit 1; 
fi

makeTarball 

makeSpec > $PRODUCT.spec

rpmbuild -bb --clean $PRODUCT.spec

exit 0