mandos Δημοσ. 5 Απριλίου 2013 Share Δημοσ. 5 Απριλίου 2013 (επεξεργασμένο) Ο τίτλος έπρεπε να λέει "βοήθεια με pkgbuild" αλλά δεν το επιτρέπει το forum. Στο arch το πακέτο του nginx δεν έχει κάποια custom-addons που χρειάζομαι. Το AUR package nginx-custom τα έχει, αλλά χρησιμοποιεί το /conf/ folder το οποίο δεν το θέλω. Έτσι αποφάσισα να φτιάξω ένα δικό μου πακέτο, συνδιάζοντας τα παραπάνω. Μετά απο αρκετές ώρες βγήκε το παρακάτω pkgbuild: cfgdir=/etc/nginx _tmpdir=/var/lib/nginx # 3d party modules versions: _cachepurge_ver="2.1" _slowfscache_ver="1.10" _echo_ver="v0.45" _headersmore_ver="v0.19" _uploadprogress_ver="v0.9.0" _upstreamfair_hash="a18b4099fbd458111983200e098b6f0c8efed4bc" _fancyindex_ver="master" _httpupload_ver="2.2.0" _authpam_ver="1.2" pkgname=nginx pkgver=1.2.8 pkgrel=1 pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server compatible with Perusios configuration' arch=('i686' 'x86_64') depends=('pcre' 'zlib' 'openssl') makedepends=('gd' 'libxslt') url="http://nginx.org" license=('custom') install=nginx.install backup=(${_cfgdir:1}/fastcgi.conf ${_cfgdir:1}/fastcgi_params ${_cfgdir:1}/koi-win ${_cfgdir:1}/koi-utf ${_cfgdir:1}/mime.types ${_cfgdir:1}/nginx.conf ${_cfgdir:1}/scgi_params ${_cfgdir:1}/uwsgi_params ${_cfgdir:1}/win-utf etc/logrotate.d/nginx) source=("http://nginx.org/download/nginx-$pkgver.tar.gz" "http://labs.frickle.com/files/ngx_cache_purge-${_cachepurge_ver}.tar.gz" "http://labs.frickle.com/files/ngx_slowfs_cache-${_slowfscache_ver}.tar.gz" "https://github.com/masterzen/nginx-upload-progress-module/tarball/${_uploadprogress_ver}" "https://github.com/agentzh/headers-more-nginx-module/tarball/${_headersmore_ver}" "https://github.com/agentzh/echo-nginx-module/tarball/${_echo_ver}" "https://github.com/gnosek/nginx-upstream-fair/tarball/${_upstreamfair_hash}" "ngx_fancyindex-${_fancyindex_ver}.tar.gz::http://gitorious.org/ngx-fancyindex/ngx-fancyindex/archive-tarball/${_fancyindex_ver}" "https://github.com/vkholodkov/nginx-upload-module/tarball/${_httpupload_ver}" "http://web.iti.upv.es/~sto/nginx/ngx_http_auth_pam_module-${_authpam_ver}.tar.gz" service logrotate) md5sums=('b9f7640cca35196d0e719ac5da24c7bd' 'b403e963108f4e1700607cbe40916807' '68a1af12d5c1218fb2b3e05ed7ff6f0c' '9dd5dc90990dbaea68881a14d4b6d9f3' 'e0f1c0cf4291387e8f5ac481cecd0ddd' '851f882cf83732b2c70995227bdb07c6' 'ac5e7f485476af70e0ee1c52016cddaf' '8db9d2ef8b7ac63f9e23901dc3d36ab1' '8766b931f29602889e0454749580a781' '3f6322663c6479a7b6b974bfa7417e5c' '62d494d23aef31d0b867161f9fffa6eb' 'd7f84ca51ef0a8a343a6ce9d6dd74162') build() { local _cachepurge_dirname="ngx_cache_purge-${_cachepurge_ver}" local _slowfscache_dirname="ngx_slowfs_cache-${_slowfscache_ver}" local _headersmore_dirname="ngx_headers_more-${_headersmore_ver}" local _echo_dirname="ngx_echo-${_echo_ver}" local _uploadprogess_dirname="ngx_upload_progress-${_uploadprogress_ver}" local _upstreamfair_dirname="ngx_upstream_fair" local _fancyindex_dirname="ngx_fancyindex" local _upload_dirname="ngx_http_upload-${_upload_ver}" local _authpam_dirname="ngx_authpam" mv agentzh-headers-more-nginx-module-* ${_headersmore_dirname} mv agentzh-echo-nginx-module-* ${_echo_dirname} mv masterzen-nginx-upload-progress-module-* ${_uploadprogess_dirname} mv gnosek-nginx-upstream-fair-* ${_upstreamfair_dirname} mv ngx-fancyindex* ${_fancyindex_dirname} mv vkholodkov-nginx-upload-module* ${_upload_dirname} mv ngx_http_auth_pam_module-${_authpam_ver} ${_authpam_dirname} cd "$srcdir"/$pkgname-$pkgver ./configure \ --prefix=$_cfgdir \ --conf-path=$_cfgdir/nginx.conf \ --sbin-path=/usr/sbin/nginx \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=http --group=http \ --http-log-path=/var/log/nginx/access.log \ --error-log-path=/var/log/nginx/error.log \ --http-client-body-temp-path=$_tmpdir/client-body \ --http-proxy-temp-path=$_tmpdir/proxy \ --http-fastcgi-temp-path=$_tmpdir/fastcgi \ --http-scgi-temp-path=$_tmpdir/scgi \ --http-uwsgi-temp-path=$_tmpdir/uwsgi \ --with-imap --with-imap_ssl_module \ --with-ipv6 --with-pcre-jit \ --with-file-aio \ --with-http_dav_module \ --with-http_gzip_static_module \ --with-http_realip_module \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-http_mp4_module \ --with-http_addition_module \ --with-http_xslt_module \ --with-http_image_filter_module \ --with-http_sub_module \ --with-http_flv_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_degradation_module \ --with-http_perl_module \ --add-module=../${_cachepurge_dirname} \ --add-module=../${_echo_dirname} \ --add-module=../${_headersmore_dirname} \ --add-module=../${_slowfscache_dirname} \ --add-module=../${_uploadprogess_dirname} \ --add-module=../${_upstreamfair_dirname} \ --add-module=../${_fancyindex_dirname} \ --add-module=../${_upload_dirname} \ --add-module=../${_authpam_dirname} #--with-http_geoip_module \ #--add-module=/usr/lib/passenger/ext/nginx \ make } package() { cd "$srcdir"/$pkgname-$pkgver make DESTDIR="$pkgdir" install sed -e 's|\<user\s\+\w\+;|user html;|g' \ -e '44s|html|/usr/share/nginx/html|' \ -e '54s|html|/usr/share/nginx/html|' \ -i "$pkgdir"/etc/nginx/nginx.conf rm "$pkgdir"/etc/nginx/*.default install -d "$pkgdir"/$_tmpdir install -dm700 "$pkgdir"/$_tmpdir/proxy chmod 750 "$pkgdir"/var/log/nginx chown http:log "$pkgdir"/var/log/nginx install -d "$pkgdir"/usr/share/nginx mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx install -Dm644 "$srcdir"/logrotate "$pkgdir"/etc/logrotate.d/nginx install -Dm644 "$srcdir"/service "$pkgdir"/usr/lib/systemd/system/nginx.service install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/nginx/LICENSE rm -rf "$pkgdir"/var/run } Θέλω όμως αν μπορέσω να το κάνω να παίρνει αυτόματο το config από εδώ: https://github.com/perusio/drupal-with-nginx Επίσης το package που φτιάχνει έχει όνομα nginx, νομίζω θα ήταν σωστό να το κάνω κάτι τύπου nginx-drupal αλλά όταν το κάνω γκρινιάζει στο compile. Κάθε βοήθεια ευπρόσδεκτη Επεξ/σία 8 Απριλίου 2013 από mandos Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pmav99 Δημοσ. 6 Απριλίου 2013 Share Δημοσ. 6 Απριλίου 2013 Για το όνομα θελει να αλλάξεις το "pkgname=nginx" σε "pkgname=nginx-drupal". Αν το κάνεις όμως αυτό δε θα μπορείς μετά να χρησιμοποιήσεις τη μεταβλητή $pgkname στις build() και package(). H λύση είναι να ορίσεις μία βοηθητική μεταβλητή (πρέπει να ξεκινάει με κάτω πάυλα) την οποία και θα χρησιμοποιήσεις ως αντικαταστάτη της $pkgname . Δηλαδή pkgname=nginx-drupal _pkgname=nginxΈτσι, όπου έλεγε $pkgname θα το αντικαταστήσεις με $_pkgname Επίσης αν αλλάξεις το όνομα πρέπει να βάλεις και δύο γραμμές provides=("nginx") conflicts=("nginx") edit Για το conf, τι ακριβώς θέλεις από το github και που πηγαίνει; Γενικά ο κώδικας μέσα στην build είναι καθαρό bash. Με τις ίδιες ακριβώς εντολές που θα έβαζες τα αρχεία χειροκίνητα, με τον ίδιο τρόπο θα τα βάλεις και τώρα (πχ git clone και μετά copy, curl, wget κτλ) ps. Επειδή ο editor του insomnia τον παίζει γενικά, ανέβαζε τον κώδικα σε κανά pastebin Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mandos Δημοσ. 6 Απριλίου 2013 Μέλος Share Δημοσ. 6 Απριλίου 2013 (επεξεργασμένο) Ευχαριστώ pmav!Επειδή με τρώει ο πισινος μου αυτές τις μέρες αύριο θα το ξαναστησω με ext4 το σύστημα και μετα θα παλεψω με τον nginx.Το config του perusio είναι pita, θα πρεπει να το κάνω fork με αλλαγές για το arch. Έχω μέλλον μπροστά μου δεν έφερα ακόμα τα git-configs, αλλά το πακέτο είναι έτοιμο thnx Επεξ/σία 8 Απριλίου 2013 από mandos Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα