diff --git a/.gitignore b/.gitignore index ce32291..91dc36a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,9 @@ + +# Packages *.deb -*.opk \ No newline at end of file +*.opk +*.rpm + +# Rubbish +*.swp + diff --git a/build/build.sh b/build/build.sh index 37e8e38..a0f68e8 100755 --- a/build/build.sh +++ b/build/build.sh @@ -2,6 +2,10 @@ VERSION=$(cat ../lib/version) +cd rpm +./build.sh $VERSION +exit + cd debian ./build.sh $VERSION > /dev/null diff --git a/build/rpm/build.sh b/build/rpm/build.sh new file mode 100755 index 0000000..0f4d8ae --- /dev/null +++ b/build/rpm/build.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +rm -rf *.rpm + +VERSION=$1 +REALVERSION=`echo "$VERSION" | cut -d'-' -f1` +RELEASE=`echo "$VERSION" | cut -d'-' -f2` + +mkdir -p rpm/ + +# share +cp ../../miscellaneous/* rpm/ + +# lib +mkdir -p rpm/lib/ +cp ../../lib/* rpm/lib/ + +# bin +echo '/usr/lib/zjunet/zjunet.sh "$@"' > rpm/zjunet +chmod +x rpm/zjunet + +# rpm +ARCH="noarch" +SEMINAME="zjunet-$REALVERSION" +FULLNAME="zjunet-$VERSION" +rm -rf ${SEMINAME}.tar.gz +find rpm -type d | xargs chmod 755 +rm -rf $SEMINAME +mv rpm $SEMINAME +tar zcvf ${SEMINAME}.tar.gz $SEMINAME +mkdir -p $HOME/rpmbuild/SOURCES +cp ${SEMINAME}.tar.gz $HOME/rpmbuild/SOURCES +cp build_spec.sh $SEMINAME/ +cd $SEMINAME +./build_spec.sh $VERSION +cd .. +cp "$SEMINAME/zjunet.spec" ./ +mkdir -p "$HOME/rpmbuild/SPECS" +cp zjunet.spec "$HOME/rpmbuild/SPECS" +fakeroot rpmbuild -ba zjunet.spec --target $ARCH +rm -rf zjunet.spec ${SEMINAME}.tar.gz $SEMINAME +cp $HOME/rpmbuild/RPMS/$ARCH/${FULLNAME}.$ARCH.rpm ./ + diff --git a/build/rpm/build_spec.sh b/build/rpm/build_spec.sh new file mode 100755 index 0000000..6254668 --- /dev/null +++ b/build/rpm/build_spec.sh @@ -0,0 +1,84 @@ +#!/bin/sh + +VERSION=$1 +REALVERSION=`echo "$VERSION" | cut -d'-' -f1` +RELEASE=`echo "$VERSION" | cut -d'-' -f2` + +echo "Summary: Command Line Scripts for ZJU " > zjunet.spec +echo "Name: zjunet" >> zjunet.spec +echo "Version: $REALVERSION" >> zjunet.spec +echo "Release: $RELEASE" >> zjunet.spec +echo "License: GPL" >> zjunet.spec +echo "Group: Applications/Internet" >> zjunet.spec +echo "URL: https://github.com/QSCTech/zjunet/" >> zjunet.spec +echo "Vendor: Qiu Shi Chao Website of Zhejiang University" >> zjunet.spec +echo "Packager: Senorsen " >> zjunet.spec +echo "Requires: xl2tpd >= 1.3.1, curl" >> zjunet.spec +echo "BuildRoot: %{_builddir}/%{name}-root" >> zjunet.spec +echo "Source: %{name}-%{version}.tar.gz" >> zjunet.spec +echo "BuildArch: noarch" >> zjunet.spec +echo "" >> zjunet.spec +echo "%description" >> zjunet.spec +echo "Command Line Scripts for ZJU " >> zjunet.spec +echo " This script provides a VPN / WLAN / NEXTHOP for ZJUer. " >> zjunet.spec +echo "" >> zjunet.spec +echo "%prep" >> zjunet.spec +echo "%setup -q" >> zjunet.spec +echo "" >> zjunet.spec +echo "%build" >> zjunet.spec +echo 'echo $RPM_BUILD' >> zjunet.spec +echo "" >> zjunet.spec +echo "%install" >> zjunet.spec +echo 'rm -rf $RPM_BUILD_ROOT' >> zjunet.spec +echo 'mkdir -p $RPM_BUILD_ROOT/usr/bin' >> zjunet.spec +echo 'mkdir -p $RPM_BUILD_ROOT/usr/lib/zjunet' >> zjunet.spec +echo 'mkdir -p $RPM_BUILD_ROOT/usr/share/zjunet' >> zjunet.spec +echo 'install -m 755 zjunet $RPM_BUILD_ROOT/usr/bin/zjunet' >> zjunet.spec +cd lib +for f in *.sh; do +echo "install -m 755 lib/$f \$RPM_BUILD_ROOT/usr/lib/zjunet/$f" >> ../zjunet.spec +done +cd .. +echo 'install -m 644 qsc.public.key $RPM_BUILD_ROOT/usr/share/zjunet/qsc.public.key' >> zjunet.spec +echo 'install -m 644 qsc.repo $RPM_BUILD_ROOT/usr/share/zjunet/qsc.repo' >> zjunet.spec +echo "" >> zjunet.spec +echo "%files" >> zjunet.spec +echo "%defattr(-,root,root)" >> zjunet.spec +echo "/usr/bin/zjunet" >> zjunet.spec +echo "/usr/share/zjunet/qsc.public.key" >> zjunet.spec +echo "/usr/share/zjunet/qsc.repo" >> zjunet.spec +cd lib +for f in *.sh; do +echo "/usr/lib/zjunet/$f" >> ../zjunet.spec +done +cd .. +echo "" >> zjunet.spec +echo "%clean" >> zjunet.spec +echo 'rm -rf $RPM_BUILD_ROOT' >> zjunet.spec +echo "" >> zjunet.spec +echo "%post" >> zjunet.spec +echo "cp /usr/share/zjunet/qsc.public.key /etc/pki/rpm-gpg/RPM-GPG-KEY-QSC-COMP66 || true" >> zjunet.spec +echo "rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-QSC-COMP66 || true" >> zjunet.spec +echo "cp /usr/share/zjunet/qsc.repo /etc/yum.repos.d/qsc.repo || true" >> zjunet.spec +echo "/usr/share/zjunet/zjunet-postinst || true" >> zjunet.spec +echo "" >> zjunet.spec +echo "%changelog" >> zjunet.spec +echo "* Sun Feb 08 2015 Senorsen - 0.2.4" >> zjunet.spec +echo "- Genrate debian and opkg packages using fakeroot (in case of wrong uid)" >> zjunet.spec +echo "- Replace test IP with a more stable one" >> zjunet.spec +echo "* Sun Nov 23 2014 Zeno Zeng - 0.2.3" >> zjunet.spec +echo "- build.sh & zjunet.sh now share lib/version" >> zjunet.spec +echo "- fork when calling xl2tpd-control" >> zjunet.spec +echo "* Sat Nov 22 2014 Senorsen - 0.2.2" >> zjunet.spec +echo "- P-t-P server address issues" >> zjunet.spec +echo "- comment typo fixed" >> zjunet.spec +echo "* Wed Nov 12 2014 Zeno Zeng - 0.2.1" >> zjunet.spec +echo "- xqyww123 fixed the compatibility with systemd" >> zjunet.spec +echo "- chaosink fixed the string escape problem in user.sh" >> zjunet.spec +echo "* Wed Oct 15 2014 Zeno Zeng - 0.2.0" >> zjunet.spec +echo "- Use xl2tpd.conf, abandon \$HOME/.zjunet/" >> zjunet.spec +echo "- Setup route after connect / disconnect wlan" >> zjunet.spec +echo "* Mon Oct 13 2014 Zeno Zeng - 0.1.2" >> zjunet.spec +echo "* Thu Oct 02 2014 Zeno Zeng - 0.1.0" >> zjunet.spec +echo "- Initial version of the package" >> zjunet.spec + diff --git a/miscellaneous/qsc.repo b/miscellaneous/qsc.repo new file mode 100644 index 0000000..8c1ace6 --- /dev/null +++ b/miscellaneous/qsc.repo @@ -0,0 +1,8 @@ +[qsc] +name=Several things for Qiu Shi Chao Website +baseurl=http://dl.zjuqsc.com/linux/yum +failovermethod=priority +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-QSC-COMP66 +