Skip to content
Snippets Groups Projects
Commit 3ef9d1ba authored by Miller Puckette's avatar Miller Puckette
Browse files

added utility scripts for making releases

parent 81ca1afa
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
release checklist
version string in s_main.c
test OSS and ALSA
release notes
./make-release 0.35-0 or 0.35-test11, etc
update rpmspec version number
as root:
rpmbuild -ba rpmspec
rpmbuild -bb rpmspec-alsa
check size of compressed files:
/usr/src/redhat/SRPMS/pd-0.36-0.src.rpm
/usr/src/redhat/RPMS/i386/pd-0.36-0.i386.rpm
/usr/src/redhat/RPMS/i386/pd-alsa-0.36-0.i386.rpm
copy from /usr/src/redhat/RPMS/i386 and /usr/src/redhat/SRPMS
scp ~/pd/doc/1.manual/* felix:public_html/Pd_documentation/
put on web page and on ftp://sdfelix.ucsd.edu/pub/msp
copy README.txt to web page
mail release notice from ../attic
announce to:
pd-announce@iem.kug.ac.at
http://crca.ucsd.edu/~msp/software.html
less formal:
http://crca.ucsd.edu/~msp/Software
http://crca.ucsd.edu/~msp/Software/pd-033TEST7-linux.tar.gz
#!/bin/sh
#usage: ./clone-pd <new directory>
if test x$1 == x
then
echo usage: ./clone ~/tmp/pd1
exit 1
fi
if mkdir $1;
then
cp -a ../src ../obj ../bin $1/
fi
#! /bin/sh
for i in `find . -name "*.[ch]"` ; do
expand $i > /tmp/foo
if ( ! cmp -s $i /tmp/foo ) ; then
echo detabbing: $i
cp /tmp/foo $i
fi
done
#!/bin/sh
#usage: ./get-tgz /tmp/x.tgz /tmp/sent-one.tgz
if test x$1 == x
then
echo usage: ./get-tgz /tmp/x.tgz /tmp/sent-one.tgz
exit 1
fi
rm -rf /tmp/image
mkdir /tmp/image
cd /tmp/image
tar xzf $1
find . -type f \( -name "*.o" -o -name "*.d_fat" -o -name "*.d_ppc" \
-o -perm -0100 \) \
-exec echo rm {} \;
echo "****************** NEW FILES *******************"
find . -type f -newer $2
cd ~/pd
git add INSTALL.txt LICENSE.txt README.txt doc extra man \
portaudio portmidi src msw linux
#!/bin/sh
#usage: ./make-nodoc 0.34-0 or 0.35-0test11 or 0.37-1test6
if test x$1 == x
then
echo usage: ./make-nodoc 0.34-0 or 0.35-0test11 or 0.37-1test6
exit 1
fi
set -x
cd ..
ROOTDIR=`pwd`
find . \( -name ".[a-zA-Z]*" -o -name "core*" -o -name "*.cache" \) \
-ok rm -r {} \;
cd src
sh ../linux/detab-src.sh
cd ../extra
sh ../linux/detab-src.sh
cd ..
TMPPD=/tmp/pd-$1
rm -rf /tmp/pd $TMPPD
mkdir $TMPPD
cp -a README.txt LICENSE.txt INSTALL.txt src extra man \
portaudio portmidi $TMPPD
mkdir $TMPPD/doc
mkdir $TMPPD/doc/7.stuff
mkdir $TMPPD/doc/7.stuff/tools
cp doc/7.stuff/tools/testtone.pd $TMPPD/doc/7.stuff/tools
mkdir $TMPPD/obj $TMPPD/bin
cd $TMPPD/src
autoconf
make distclean
rm -rf autom4te.cache
rm *.pd
cd /tmp
tar cf - pd-$1 | gzip > $ROOTDIR/archive/dist/pd-$1.src.tar.gz
mv pd-$1 pd
tar cf - pd | gzip > /usr/src/redhat/SOURCES/pd.tar.gz
# rm -rf /tmp/pd $TMPPD
ls -l $ROOTDIR/archive/dist/pd-$1.src.tar.gz
#!/bin/sh
#usage: ./make-release 0.34-0 or 0.35-0test11 or 0.37-1test6
if test x$1 == x
then
echo usage: ./make-release 0.34-0 or 0.35-0test11 or 0.37-1test6
exit 1
fi
set -x
cd ..
ROOTDIR=`pwd`
find . \( -name ".[a-zA-Z]*" -o -name "core*" -o -name "*.cache" \) \
-ok rm -r {} \;
cd src
sh ../linux/detab-src.sh
cd ../extra
sh ../linux/detab-src.sh
cd ..
TMPPD=/tmp/pd-$1
rm -rf /tmp/pd $TMPPD
mkdir $TMPPD
cp -a README.txt LICENSE.txt INSTALL.txt src doc extra man \
portaudio portmidi $TMPPD
mkdir $TMPPD/obj $TMPPD/bin
cd $TMPPD/src
autoconf
make distclean
rm -rf autom4te.cache
rm *.pd
cd /tmp
tar cf - pd-$1 | gzip > $ROOTDIR/archive/dist/pd-$1.src.tar.gz
mv pd-$1 pd
tar cf - pd | gzip > /usr/src/redhat/SOURCES/pd.tar.gz
# rm -rf /tmp/pd $TMPPD
ls -l $ROOTDIR/archive/dist/pd-$1.src.tar.gz
Summary: Real-time patchable audio and multimedia processor.
Name: pd
Version: 0.37
Release: 0
Copyright: BSD
Group: Applications/Multimedia
Source: pd.tar.gz
BuildRoot: /var/tmp/%{name}-buildroot
Prefix: %{_prefix}
%description
Pd gives you a canvas for patching together modules that analyze, process,
and synthesize sounds, together with a rich palette of real-time control
and I/O possibilities. Similar to Max (Cycling74) and JMAX (IRCAM). A
related software package named Gem extends Pd's capabilities to include
graphical rendering.
%prep
%setup -n pd
%build
cd src
./configure --disable-alsa --prefix=%{prefix} --mandir=%{_mandir}
make depend
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/pd/include
mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/pd/bin
install -m 644 man/* $RPM_BUILD_ROOT%{_mandir}/man1
install -s -m 4755 bin/pd $RPM_BUILD_ROOT%{prefix}/bin/pd
install -s bin/pd-gui bin/pd-watchdog $RPM_BUILD_ROOT%{prefix}/lib/pd/bin/
install -s bin/pdsend bin/pdreceive $RPM_BUILD_ROOT%{prefix}/bin/
install bin/pd.tk $RPM_BUILD_ROOT%{prefix}/lib/pd/bin/
cp -pr doc $RPM_BUILD_ROOT%{prefix}/lib/pd/
cp -pr extra $RPM_BUILD_ROOT%{prefix}/lib/pd/
install README.txt LICENSE.txt $RPM_BUILD_ROOT%{prefix}/lib/pd/
install src/*.h $RPM_BUILD_ROOT%{prefix}/lib/pd/include
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%{prefix}/bin/pd
%{prefix}/bin/pdsend
%{prefix}/bin/pdreceive
%{prefix}/lib/pd
%{_mandir}/man1/pd.1.gz
%{_mandir}/man1/pdsend.1.gz
%{_mandir}/man1/pdreceive.1.gz
%changelog
* Tue Apr 14 2001 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
- added %{prefix}, added %{_mandir} so that the man pages go into the
correct man directory for redhat
- added %{alsa} for automatic detection of the installed alsa library
- decoupled pd release (ie: PATCH2) from the rpm release
Summary: Real-time patchable audio and multimedia processor.
Name: pd-alsa
Version: 0.37
Release: 0
Copyright: free for any use
Group: Applications/Multimedia
Source: pd.tar.gz
BuildRoot: /var/tmp/%{name}-buildroot
Prefix: %{_prefix}
%description
Pd gives you a canvas for patching together modules that analyze, process,
and synthesize sounds, together with a rich palette of real-time control
and I/O possibilities. Similar to Max (Cycling74) and JMAX (IRCAM). A
related software package named Gem extends Pd's capabilities to include
graphical rendering.
%prep
%setup -n pd
%build
cd src
./configure --prefix=%{prefix} --mandir=%{_mandir}
make depend
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/pd/include
mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/pd/bin
install -m 644 man/* $RPM_BUILD_ROOT%{_mandir}/man1
install -s -m 4755 bin/pd $RPM_BUILD_ROOT%{prefix}/bin/pd
install -s bin/pd-gui bin/pd-watchdog $RPM_BUILD_ROOT%{prefix}/lib/pd/bin/
install -s bin/pdsend bin/pdreceive $RPM_BUILD_ROOT%{prefix}/bin/
install bin/pd.tk $RPM_BUILD_ROOT%{prefix}/lib/pd/bin/
cp -pr doc $RPM_BUILD_ROOT%{prefix}/lib/pd/
cp -pr extra $RPM_BUILD_ROOT%{prefix}/lib/pd/
install README.txt LICENSE.txt $RPM_BUILD_ROOT%{prefix}/lib/pd/
install src/*.h $RPM_BUILD_ROOT%{prefix}/lib/pd/include
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%{prefix}/bin/pd
%{prefix}/bin/pdsend
%{prefix}/bin/pdreceive
%{prefix}/lib/pd
%{_mandir}/man1/pd.1.gz
%{_mandir}/man1/pdsend.1.gz
%{_mandir}/man1/pdreceive.1.gz
%changelog
* Tue Apr 14 2001 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
- added %{prefix}, added %{_mandir} so that the man pages go into the
correct man directory for redhat
- added %{alsa} for automatic detection of the installed alsa library
- decoupled pd release (ie: PATCH2) from the rpm release
File added
File added
nmake
cd ..\extra
del *.dll
cd bonk~
nmake /NOLOGO pd_nt
cd ..\choice
nmake /NOLOGO pd_nt
cd ..\expr~
nmake /NOLOGO pd_nt
cd ..\fiddle~
nmake /NOLOGO pd_nt
cd ..\loop~
nmake /NOLOGO pd_nt
cd ..\lrshift~
nmake /NOLOGO pd_nt
cd ..\pique
nmake /NOLOGO pd_nt
cd ..\sigmund~
nmake /NOLOGO pd_nt
cd ..
#!/bin/tcsh
rm -rf image
mkdir image
cd image
unzip -q /tmp/pdout.zip
find . \( -name "*.lib" -o -name "*.exe" -o -name "*.dll" -o -name "*.obj" \
-o -name "*.exp" \) \
-exec rm {} \;
echo "****************** NEW FILES *******************"
find . -type f -newer /tmp/pd.zip
foreach i (`find . -name "*.c" -o -name "*.h" -o -name "*.cpp" \
-o -name "make*" -o -name "*.txt" -o -name "*.pd" -o -name "*.htm" \
-o -name "*.html" -o -name "*.tk"`)
textconvert w u < $i > /tmp/xxx
mv /tmp/xxx $i
end
makesfx /zip=pd-0.37-1test6.zip /sfx=pd-x.msw.exe /title=Pd /website=crca.ucsd.edu/~msp /defaultpath=$programfiles$
File added
#!/bin/tcsh
set PDDIR=`pwd`/..
set MSWDIR=`pwd`
cd $PDDIR
find . -name ".[a-zA-Z]*" -o -name core -ok rm {} \;
rm -rf /tmp/pd /tmp/pd.zip
cd /tmp
tar xzf $MSWDIR/pdprototype.tgz
cd $PDDIR
cp src/*.{c,h} src/notes.txt /tmp/pd/src
textconvert u w < src/u_main.tk > /tmp/pd/src/u_main.tk
cp src/makefile.nt /tmp/pd/src/makefile
textconvert u w < $MSWDIR/build-nt.bat > /tmp/pd/src/build.bat
cp -a portaudio /tmp/pd/portaudio
cp -a portmidi /tmp/pd/portmidi
cp -a doc/ INSTALL.txt LICENSE.txt /tmp/pd/
cp -a extra/ /tmp/pd/extra
cd /tmp/pd
find . -name "*.pd_linux" -exec rm {} \;
foreach i (`find . -name "*.c" -o -name "*.h" -o -name "*.cpp" -o -name "make*" -o -name "*.txt" -o -name "*.pd" -o -name "*.htm" -o -name "*.html"`)
textconvert u w < $i > /tmp/xxx
mv /tmp/xxx $i
end
cd ..
rm -f pd.zip
zip -q -r pd.zip pd
ls -l /tmp/pd.zip
#!/bin/tcsh
set PDDIR=`pwd`/..
set MSWDIR=`pwd`
cd $PDDIR
find . -name ".[a-zA-Z]*" -o -name core -ok rm {} \;
rm -rf /tmp/pd /tmp/pd.zip
cd /tmp
tar xzf $MSWDIR/pdprototype.tgz
cd $PDDIR
cp src/*.{c,h} src/notes.txt /tmp/pd/src
textconvert u w < src/u_main.tk > /tmp/pd/src/u_main.tk
cp src/makefile.nt /tmp/pd/src/makefile
textconvert u w < $MSWDIR/build-nt.bat > /tmp/pd/src/build.bat
cp -a portaudio /tmp/pd/portaudio
cp -a portmidi /tmp/pd/portmidi
cp -a INSTALL.txt LICENSE.txt /tmp/pd/
mkdir /tmp/pd/doc
mkdir /tmp/pd/doc/7.stuff
mkdir /tmp/pd/doc/7.stuff/tools
cp doc/7.stuff/tools/testtone.pd /tmp/pd/doc/7.stuff/tools
cp -a extra/ /tmp/pd/extra
cd /tmp/pd
find . -name "*.pd_linux" -exec rm {} \;
foreach i (`find . -name "*.c" -o -name "*.h" -o -name "*.cpp" -o -name "make*" -o -name "*.txt" -o -name "*.pd" -o -name "*.htm" -o -name "*.html"`)
textconvert u w < $i > /tmp/xxx
mv /tmp/xxx $i
end
cd ..
rm -f pd.zip
zip -q -r pd.zip pd
ls -l /tmp/pd.zip
/* Text file conversion unix/max/windows. duh. */
#include <stdio.h>
int main(int argc, char **argv)
{
FILE *infile;
int lastchar = 0, c;
int from, to;
if (argc < 3 || argc > 4) goto usage;
from = argv[1][0];
to = argv[2][0];
if (argc == 4)
{
if (!(infile = fopen(argv[3], "r")))
{
perror(argv[3]);
exit(1);
}
}
else infile = stdin;
if (from != 'u' && from != 'm' && from != 'w'
|| to != 'u' && to != 'm' && to != 'w')
goto usage;
while ((c = getc(infile)) != EOF)
{
if (from == 'u' && to == 'm')
{
if (c == '\n')
c = '\r';
putchar(c);
}
else if (from == 'u' && to == 'w')
{
if (c == '\n')
putchar('\r');
putchar(c);
}
else if (from == 'm' && to == 'u')
{
if (c == '\r')
c = '\n';
putchar(c);
}
else if (from == 'm' && to == 'w')
{
putchar(c);
if (c == '\r')
putchar('\n');
}
else if (from == 'w' && to == 'u')
{
if (c != '\r')
putchar(c);
}
else if (from == 'w' && to == 'm')
{
if (c != '\n')
putchar(c);
}
else putchar(c);
}
exit(0);
usage:
fprintf(stderr, "usage: textconvert <sysfrom> <systo> [file]\n");
fprintf(stderr, "systems are u[nix], m[ac], w[indows].\n");
exit (1);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment