]> andersk Git - gssapi-openssh.git/blob - openssh/make_gpt_dist
6389098a36adb5ee76c5d138eff81bfd51c17b73
[gssapi-openssh.git] / openssh / make_gpt_dist
1 #!/usr/bin/env perl
2 #
3 # make_gpt_dist - adapted from GPT's make_gpt_dist script
4 #
5 # Create a GPT source package after deriving the necessary build files.
6 #
7
8 #
9 # You can define the source directory and package names to suit your needs.  It's
10 # important to remember that GPT needs the source package name to be similar to
11 # the name of the package as defined in the package metadata (pkg_data_src.gpt).
12 #
13 # Failing to do this correctly will not affect bundle-creation, but will affect
14 # globus-build's ability to select and untar the correct package corresponding
15 # to the name gpt-bundle gives in its 'packaging_list'.
16 #
17
18 $srcdirname = "gsi_openssh-3.5-src";
19 $srcpkgname = $srcdirname;
20
21 #
22 # uncomment when we've got a better place to get the current version from
23 #
24 # determine gpt version number
25 #
26 #open (CFG, 'packaging_tools/configure.in');
27 #
28 #my $version;
29 #for (<CFG>) {
30 #  if (m!AM_INIT_AUTOMAKE\(\w+,([^,\)]+)!) {
31 #    $version = $1;
32 #    $version =~ s!\s+!!g;
33 #  }
34 #}
35
36 #
37 # test to make sure we're okay to
38 #   o create/use the $srcdirname directories
39 #   o create the source package
40 #
41
42 if ( (!defined($srcdirname)) || length($srcdirname) le 0 )
43 {
44     printf("\$srcdirname must be defined to a usable value!\n");
45     die;
46 }
47
48 if ( (!defined($srcpkgname)) || length($srcpkgname) le 0 )
49 {
50     printf("\$srcpkgname must be defined to a usable value!\n");
51     die;
52 }
53
54 if ( -e "../$srcdirname" )
55 {
56     printf("found existing '../$srcdirname'... please remove before continuing\n");
57     die;
58 }
59
60 if ( -e "./$srcdirname" )
61 {
62     printf("found existing './$srcdirname'... please remove before continuing\n");
63     die;
64 }
65
66 if ( -e "./$srcpkgname.tar" )
67 {
68     printf("found existing './$srcpkgname.tar'... please remove before continuing\n");
69     die;
70 }
71
72 if ( -e "./$srcpkgname.tar.gz" )
73 {
74     printf("found existing './$srcpkgname.tar.gz'... please remove before continuing\n");
75     die;
76 }
77
78 #
79 # prep the source directory by creating a temp directory containing all of the
80 # required files.
81 #
82
83 printf("copying files into source directory...\n");
84 system("mkdir ../$srcdirname")==0 or die "Unable to create ../$srcdirname: $?";
85 system("cp -rf * ../$srcdirname")==0 or die "Unable to copy . into ../$srcdirname: $?";
86 system("mv ../$srcdirname ./$srcdirname")==0 or die "Unable to move $srcdirname from ../ to ./: $?";
87
88 chdir("./$srcdirname");
89
90 #
91 # remove any 'unnecessary' files from the source directory.
92 #
93
94 printf("pruning source directory of extraneous files...\n");
95 system("rm -rf `find . -name CVS -print`")==0 or die "Unable to remove cvs directories: $?";
96
97 #
98 # Originally, we were going to include the MD5 sums in the Announcement 
99 # file.  Among other virtues, this complicated the process of distributing 
100 # the Announcement to users since it would get included in the package 
101 # itself.  We decided to keep the announcement in the package, and got 
102 # around the Catch-22 by not including MD5 sums in that file.
103 #
104 # So, keep this line commented!:
105 # system("rm -f Announcement.txt")==0 or die "Unable to remove Announcement.txt: $?";
106 #
107
108 #
109 # run the standard development tools to get the necessary derived files.
110 #
111
112 printf("running make distprep...\n");
113 system("make -f Makefile.in distprep")==0 or die "Could not run make distprep: $?";
114 if ( ! -e "configure" )
115 {
116     printf("'make distprep' failed to create configure.\n");
117     printf("Check PATH for autoreconf.\n");
118     die;
119 }
120 chdir("../");
121
122 #
123 # create the source package from the source directory.
124 #
125
126 printf("creating source tarball '$srcpkgname.tar.gz'...\n");
127 system("tar -cf ./$srcpkgname.tar ./$srcdirname")==0 or die "Unable to create $srcpkgname.tar: $?";
128 system("gzip -f ./$srcpkgname.tar")==0 or die "Unable to gzip $srcpkgname.tar: $?";
129
130 printf("cleaning up after myself...\n");
131 system("rm -rf ./$srcdirname")==0 or die "Unable to remove ./$srcdirname: $?";
132
133 #
134 # done.
135 #
136
137 printf("done.\n");
This page took 0.037614 seconds and 3 git commands to generate.