aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2014-02-05 21:08:08 +0800
committerTing-Wei Lan <lantw44@gmail.com>2014-02-05 21:09:03 +0800
commitca3e25d5a7477b4963749e9919466d1719a0fa9b (patch)
tree52ddcb0295d442eb2adaf4f9cddb133c5e5ade6d
parent8f1448124c4e80dd80bd05dd5d937c884431db28 (diff)
downloadwspkg-ca3e25d5a7477b4963749e9919466d1719a0fa9b.tar
wspkg-ca3e25d5a7477b4963749e9919466d1719a0fa9b.tar.gz
wspkg-ca3e25d5a7477b4963749e9919466d1719a0fa9b.tar.bz2
wspkg-ca3e25d5a7477b4963749e9919466d1719a0fa9b.tar.lz
wspkg-ca3e25d5a7477b4963749e9919466d1719a0fa9b.tar.xz
wspkg-ca3e25d5a7477b4963749e9919466d1719a0fa9b.tar.zst
wspkg-ca3e25d5a7477b4963749e9919466d1719a0fa9b.zip
完成自動產生 FreeBSD packages 至 ports 目錄對應表的 script (同時修正 bug)
-rw-r--r--debian.pkg4
-rw-r--r--freebsd.pkg12
-rwxr-xr-xfreebsd.ports.sh52
-rw-r--r--packages.h10
-rwxr-xr-xpackages.sh2
5 files changed, 70 insertions, 10 deletions
diff --git a/debian.pkg b/debian.pkg
index 9fbc33b..5536e96 100644
--- a/debian.pkg
+++ b/debian.pkg
@@ -105,10 +105,13 @@
#define REMMINA remmina remmina-plugin-gnome remmina-plugin-nx \
remmina-plugin-rdp remmina-plugin-telepathy \
remmina-plugin-vnc remmina-plugin-xdmcp
+#define BAOBAB baobab
+#define GLADE glade
#define GTK2 libgtk2.0-dev libgtk2.0-doc libgtk2.0-0-dbg \
libgtkmm-2.4-dev libgtkmm-2.4-doc libgtkmm-2.4-dbg
#define GTK3 libgtk-3-dev libgtk-3-doc libgtk-3-0-dbg \
libgtkmm-3.0-dev libgtkmm-3.0-doc libgtkmm-3.0-dbg
+#define GNOME_SCREENSHOT gnome-screenshot
// Graphics
#define IMAGEMAGICK imagemagick
@@ -238,6 +241,7 @@
// Text
#define ASPELL_EN aspell-en
+#define GS_CJK_RESOURCE gs-cjk-resource
#define SPELL spell
// Utils
diff --git a/freebsd.pkg b/freebsd.pkg
index 893da36..7e3ebd2 100644
--- a/freebsd.pkg
+++ b/freebsd.pkg
@@ -103,8 +103,11 @@
#define GTK2_ENGINES gtk-engines2
#define GVFS gvfs
#define REMMINA remmina remmina-plugins
+#define BAOBAB gnome-utils
+#define GLADE glade3
#define GTK2 gtk2 gtk2-reference gtkmm24 gtkmm24-reference
#define GTK3 gtk3 gtk3-reference gtkmm30 gtkmm30-reference
+#define GNOME_SCREENSHOT gnome-utils
// Graphics
#define IMAGEMAGICK ImageMagick
@@ -143,7 +146,7 @@
// Machine Learning
// Mail
-#define MAILX bsd-mailx
+#define MAILX NULL
#define VM vm-emacs24
// Math
@@ -204,7 +207,7 @@
#define PYTHON_YAML py27-yaml
#define PYTHON_GDATA py27-gdata
#define PYTHON_CURL py27-curl
-#define PYTHON_LDAP py27-ldap2py27-smbpasswd
+#define PYTHON_LDAP py27-ldap2
#define PYTHON_SMBPASSWD py27-smbpasswd
#define PYTHON_SPHINX py27-sphinx
#define PYTHON_SCIKITS_LEARN py27-scikit-learn
@@ -214,7 +217,7 @@
#define PYTHON_VIRTUALENV py27-virtualenv
// Ruby
-#define RUBY ruby19
+#define RUBY ruby
#define RUBY_MYSQL ruby19-mysql
// Science
@@ -232,7 +235,8 @@
// Text
#define ASPELL_EN en-aspell // FIXME: not found in ports
-#define SPELL spell
+#define GS_CJK_RESOURCE poppler-data
+#define SPELL NULL
// Utils
#define BZIP2 NULL
diff --git a/freebsd.ports.sh b/freebsd.ports.sh
new file mode 100755
index 0000000..e748bdf
--- /dev/null
+++ b/freebsd.ports.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+msg () {
+ echo "$@" 1>&2
+}
+
+get_origin () {
+ grep "^$1" "${index}" | (
+ IFS="${IFS}|"
+ while read pkgnamever fullpath trash; do
+ pkgname="${pkgnamever%-*}"
+ if [ "${pkgname}" = "$1" ]; then
+ this_origin="${fullpath#${PORTSDIR}}"
+ this_origin="${this_origin#/}"
+ echo "${this_origin}"
+ break
+ fi
+ done
+ )
+}
+
+[ -z "$1" ] && msg "Usage: $0 list_file" && exit 1
+: ${FREEBSD_VERSION:="`uname -r | sed 's|^\([0-9]*\).*$|\1|'`"}
+: ${PORTSDIR:="/usr/ports"}
+index="${PORTSDIR}/INDEX-${FREEBSD_VERSION}"
+
+msg "==> FreeBSD version is ${FREEBSD_VERSION}"
+msg "==> FreeBSD ports tree is ${PORTSDIR}"
+msg "==> FreeBSD ports index file is ${index}"
+
+exec 3< "$1" # list file
+
+echo "// vim: ft=c: et"
+echo ""
+echo "// ====================================================================="
+echo "// This file maps FreeBSD packages to their ports directories"
+echo "// ====================================================================="
+echo ""
+
+while read pkgname 0<&3; do
+ msg "=> Processing package ${pkgname}"
+ origin="`get_origin ${pkgname}`"
+ [ -z "${origin}" ] && \
+ msg "==> Cannot find origin for ${pkgname} in your index file" && \
+ msg "==> Exit now!" && exit 1
+ msg "=> Processing package ${pkgname} - ${origin}"
+ printf "#define %-32s %s\n" "${pkgname}" "${origin}"
+done
+
+exec 3<&-
+
+msg "==> Done!"
diff --git a/packages.h b/packages.h
index f621436..f5540b6 100644
--- a/packages.h
+++ b/packages.h
@@ -127,9 +127,9 @@ gnome-backgrounds gnome-keyring gnome-nettool gnome-screensave
gnome-themes GNOME_USER_DOCS GTK2_ENGINES GVFS REMMINA
seahorse xdg-user-dirs zenity
// added by b01902062@linux5.csie.ntu.edu.tw
-baobab devhelp epiphany eog gedit
-ghex glade GTK2 GTK3 gnome-terminal
-gnome-screenshot gnome-system-monitor nautilus
+BAOBAB devhelp epiphany eog gedit
+ghex GLADE GTK2 GTK3 gnome-terminal
+GNOME_SCREENSHOT gnome-system-monitor nautilus
vinagre
#endif
@@ -258,9 +258,9 @@ texlive-full // Added by Artoo on 2008.12.14, requested by cjlin@csie.ntu.edu
// Text
#ifdef WSPKG_TEXT
-a2ps ASPELL_EN dict gs-cjk-resource gv
+a2ps ASPELL_EN dict GS_CJK_RESOURCE gv
mpage poppler-utils psutils SPELL xpdf
-html2p zh-autoconvert
+html2ps zh-autoconvert
pdftk // Added by lydian on 2011/8/3, requested by cjlin
#endif
diff --git a/packages.sh b/packages.sh
index 949cbd7..272367c 100755
--- a/packages.sh
+++ b/packages.sh
@@ -22,4 +22,4 @@ else
fi
${CPP} -D"$ostype" $selarg packages.h | \
- sed -e '/^#/d' -e '/^ *$/d' | tr ' ' '\n' | tr '-' '_' | sed '/^ *$/d'
+ sed -e '/^#/d' -e '/^ *$/d' | tr ' ' '\n' | sed '/^ *$/d'