aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--FAQ2
-rw-r--r--INSTALL4
-rw-r--r--README26
-rw-r--r--example.slapt-getrc74
-rw-r--r--src/main.h3
-rw-r--r--src/package.c47
-rw-r--r--src/package.h2
7 files changed, 62 insertions, 96 deletions
diff --git a/FAQ b/FAQ
index f7fdfd6..b1a0d06 100644
--- a/FAQ
+++ b/FAQ
@@ -172,7 +172,7 @@ Frequenty Asked Questions:
You can now use multiple sources with slapt-get (including linuxpackages.net).
See the example slapt-getrc in the source tarball, or look in
- /etc/slapt-getrc.new if you installed via slackpack.
+ /etc/slapt-getrc.new if you installed via slackpack. See README.
12. I don't like the download spinner, how can I get more statistics?
diff --git a/INSTALL b/INSTALL
index fa3d75d..54e3311 100644
--- a/INSTALL
+++ b/INSTALL
@@ -20,3 +20,7 @@
To uninstall:
$ removepkg slapt-get-${VERSION}-${ARCH}-${RELEASE}
+
+
+You will want to customize the values within /etc/slapt-getrc.
+See README for more details.
diff --git a/README b/README
index c8ad8da..4d8c1b2 100644
--- a/README
+++ b/README
@@ -31,6 +31,7 @@ Table of Contents:
slapt-get tries to emulate Debian's apt-get as closely as possible.
* cache package data and update data from mirror site
+ * multiple sources (linuxpackage.net support)
* show packages that are available (from cached data)
* allow packages to be retrieved and installed by name
* allow updates to be retrieved and applied (frontent to updatepkg)
@@ -39,15 +40,17 @@ Table of Contents:
* remove packages (frontent to removepkg)
* dist-upgrade from one slackware release to another
* exclude (hold) packages from upgrades
+ * easy to script with
+ * extremely fast
2. Requirements
- slapt-get requires glibc-2.3.1 (slackware9 or better) due to
- the regex.h updates.
+ slapt-get requires Slackware-9.0 or better, due to glibc and openssl
+ updates.
- The following packages are required to build slapt-get:
+ The following packages are required to build slapt-get from source:
make, gcc, curl, glibc, kernel-headers, binutils, zlib, and openssl
@@ -69,15 +72,22 @@ Table of Contents:
lynx -source http://www.slackware.com/getslack/|grep -i href \
|awk -F "HREF=" '{print $2}'|cut -f2 -d'"'
- The SOURCE must be a path to a valid slackware release directory,
+ * SOURCE must be a path to a valid slackware release directory,
or a source such as linuxpackages.net (see example within rc).
Multiple sources can be defined. Please do not add redundant
mirror locations to the same release. Mirror fallback is not
yet implemented.
- WORKINGDIR will hold the package data and downloaded packages.
+ NOTE: It is not recommended to mix 3rd party package sources
+ with the official on production servers. Sometimes
+ third party sources contain the same packages as the
+ official mirrors. Third party packages might not be
+ as rigorously tested as official packages.
- EXCLUDE is a comma seperated list of pkgs you want excluded from
+ * WORKINGDIR will hold the package data and downloaded packages.
+ This directory will have to be created.
+
+ * EXCLUDE is a comma seperated list of pkgs you want excluded from
updating.
@@ -87,8 +97,8 @@ Table of Contents:
Probably lots of bugs. email bug reports to me:
Jason Woodward <woodwardj at jaos dot org>
- Make sure --update is ran once initially and downloaded *_list files are
- good.
+ Make sure --update is ran once initially and the downloaded files
+ (CHECKSUMS.md5, package_data) are good.
Some mirrors are incomplete and the downloaded file is actually html
specifying the webservers error message. MD5 checking has been
diff --git a/example.slapt-getrc b/example.slapt-getrc
index 133eb71..aae7912 100644
--- a/example.slapt-getrc
+++ b/example.slapt-getrc
@@ -1,46 +1,48 @@
# base mirror url to directory with a PACKAGES.TXT
# mirror can point to any release, ie: 9.0, 9.1, current, etc
#SOURCE=ftp://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-9.0/
+#SOURCE=ftp://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-current/
SOURCE=ftp://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-9.1/
# you can use multiple sources, such as linuxpackages.net
-#SOURCE=http://www3.linuxpackages.net/packages/Slackware-9.1/
+# (not recommended on production servers, see README)
+#SOURCE=ftp://ftp.linuxpackages.net/pub/Slackware-9.1/
WORKINGDIR=/var/slapt-get
EXCLUDE=kernel-ide,kernel-source,kernel-headers,kernel-modules,lilo
-# SOURCE=ftp://mirror.aarnet.edu.au/pub/slackware/slackware-9.0/
-# SOURCE=http://mirror.aarnet.edu.au/pub/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.planetmirror.com/pub/slackware/slackware-9.0/
-# SOURCE=http://ftp.planetmirror.com/pub/slackware/slackware-9.0/
-# SOURCE=ftp://gd.tuwien.ac.at/opsys/linux/slackware/slackware-9.0/
-# SOURCE=http://gd.tuwien.ac.at/opsys/linux/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.slackwarebrasil.org/pub/linux/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.linux.tucows.com/pub/distributions/Slackware/slackware-9.0/
-# SOURCE=ftp://sunsite.ualberta.ca/pub/Mirror/Linux/slackware/slackware-9.0/
-# SOURCE=http://sunsite.ualberta.ca/pub/Mirror/Linux/slackware-9.0/
-# SOURCE=ftp://ncart.scs.ryerson.ca/pub/slackware/slackware-9.0/
-# SOURCE=http://ncart.scs.ryerson.ca/pub/slackware/slackware-9.0/
-# SOURCE=ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/slackware-9.0/
-# SOURCE=ftp://sunsite.sut.ac.jp/pub/archives/linux/slackware/slackware-9.0/
-# SOURCE=http://sunsite.sut.ac.jp/pub/archives/linux/slackware/slackware-9.0/
-# SOURCE=http://www.rarf.riken.go.jp/archives/Linux/slackware/slackware-9.0/
-# SOURCE=ftp://linux.sarang.net/mirror/os/linux/distribution/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.man.olsztyn.pl/pub/linux/distributions/slackware/slackware-9.0/
-# SOURCE=http://ftp.man.olsztyn.pl/pub/linux/distributions/slackware/slackware-9.0/
-# SOURCE=ftp://sunsite.pub.ro/pub/Linux/distributions/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.rediris.es/mirror/linux/distributions/slackware/slackware-9.0/
-# SOURCE=ftp://luna.gui.uva.es/pub/linux.new/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.uniovi.es/pub/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.etse.urv.es/pub/linux/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.sunet.se/pub/Linux/distributions/slackware/slackware-9.0/
-# SOURCE=http://sunsite.cnlab-switch.ch/ftp/mirror/slackware/slackware/slackware-9.0/
-# SOURCE=ftp://sunsite.cnlab-switch.ch/mirror/slackware/slackware-9.0/
-# SOURCE=ftp://sunsite.cnlab-switch.ch/mirror/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.loxinfo.co.th/linux/slackware/slackware-9.0/
-# SOURCE=ftp://ftp.mirror.ac.uk/sites/ftp.slackware.com/pub/slackware/slackware-9.0/
-# SOURCE=ftp://carroll.cac.psu.edu/pub/linux/distributions/slackware/slackware-9.0/
-# SOURCE=http://carroll.cac.psu.edu/pub/linux/distributions/slackware/slackware-9.0/
-# SOURCE=ftp://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-9.0/
-# SOURCE=ftp://ftp-linux.cc.gatech.edu/pub/Linux/distributions/slackware/slackware-9.0/
+# SOURCE=ftp://mirror.aarnet.edu.au/pub/slackware/slackware-9.1/
+# SOURCE=http://mirror.aarnet.edu.au/pub/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.planetmirror.com/pub/slackware/slackware-9.1/
+# SOURCE=http://ftp.planetmirror.com/pub/slackware/slackware-9.1/
+# SOURCE=ftp://gd.tuwien.ac.at/opsys/linux/slackware/slackware-9.1/
+# SOURCE=http://gd.tuwien.ac.at/opsys/linux/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.slackwarebrasil.org/pub/linux/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.linux.tucows.com/pub/distributions/Slackware/slackware-9.1/
+# SOURCE=ftp://sunsite.ualberta.ca/pub/Mirror/Linux/slackware/slackware-9.1/
+# SOURCE=http://sunsite.ualberta.ca/pub/Mirror/Linux/slackware-9.1/
+# SOURCE=ftp://ncart.scs.ryerson.ca/pub/slackware/slackware-9.1/
+# SOURCE=http://ncart.scs.ryerson.ca/pub/slackware/slackware-9.1/
+# SOURCE=ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/slackware-9.1/
+# SOURCE=ftp://sunsite.sut.ac.jp/pub/archives/linux/slackware/slackware-9.1/
+# SOURCE=http://sunsite.sut.ac.jp/pub/archives/linux/slackware/slackware-9.1/
+# SOURCE=http://www.rarf.riken.go.jp/archives/Linux/slackware/slackware-9.1/
+# SOURCE=ftp://linux.sarang.net/mirror/os/linux/distribution/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.man.olsztyn.pl/pub/linux/distributions/slackware/slackware-9.1/
+# SOURCE=http://ftp.man.olsztyn.pl/pub/linux/distributions/slackware/slackware-9.1/
+# SOURCE=ftp://sunsite.pub.ro/pub/Linux/distributions/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.rediris.es/mirror/linux/distributions/slackware/slackware-9.1/
+# SOURCE=ftp://luna.gui.uva.es/pub/linux.new/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.uniovi.es/pub/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.etse.urv.es/pub/linux/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.sunet.se/pub/Linux/distributions/slackware/slackware-9.1/
+# SOURCE=http://sunsite.cnlab-switch.ch/ftp/mirror/slackware/slackware/slackware-9.1/
+# SOURCE=ftp://sunsite.cnlab-switch.ch/mirror/slackware/slackware-9.1/
+# SOURCE=ftp://sunsite.cnlab-switch.ch/mirror/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.loxinfo.co.th/linux/slackware/slackware-9.1/
+# SOURCE=ftp://ftp.mirror.ac.uk/sites/ftp.slackware.com/pub/slackware/slackware-9.1/
+# SOURCE=ftp://carroll.cac.psu.edu/pub/linux/distributions/slackware/slackware-9.1/
+# SOURCE=http://carroll.cac.psu.edu/pub/linux/distributions/slackware/slackware-9.1/
+# SOURCE=ftp://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-9.1/
+# SOURCE=ftp://ftp-linux.cc.gatech.edu/pub/Linux/distributions/slackware/slackware-9.1/
diff --git a/src/main.h b/src/main.h
index 73eb464..05ad2b6 100644
--- a/src/main.h
+++ b/src/main.h
@@ -66,9 +66,8 @@ enum action {
#define DEBUG 0
#define DO_NOT_UNLINK_BAD_FILES 0
#define PKG_LIST "PACKAGES.TXT"
-#define PKG_LIST_L "package_data_list"
+#define PKG_LIST_L "package_data"
#define PATCHES_LIST "patches/FILE_LIST"
-#define PATCHES_LIST_L "patches_list"
#define PATCHDIR "patches/"
#define REMOVE_CMD "/sbin/removepkg "
#define INSTALL_CMD "/sbin/installpkg "
diff --git a/src/package.c b/src/package.c
index 368f037..e568092 100644
--- a/src/package.c
+++ b/src/package.c
@@ -460,16 +460,6 @@ pkg_info_t *get_newest_pkg_with_description(pkg_info_t **pkgs,const char *pkg_na
}
/* parse the update list */
-struct pkg_list *get_update_pkgs(void){
- FILE *fh;
- struct pkg_list *list;
-
- fh = open_file(PATCHES_LIST_L,"r");
- list = parse_file_list(fh);
- fclose(fh);
- return list;
-}
-
struct pkg_list *parse_file_list(FILE *fh){
size_t getline_len;
ssize_t bytes_read;
@@ -866,43 +856,6 @@ int break_down_pkg_version(int *v,char *version){
return count;
}
-struct pkg_list *get_available_and_update_pkgs(void){
- struct pkg_list *updates;
- struct pkg_list *available;
- struct pkg_list *all = NULL;
- pkg_info_t **realloc_tmp;
- int i;
-
- updates = get_update_pkgs();
- available = get_available_pkgs();
-
- all = malloc( sizeof *all );
- all->pkgs = malloc( sizeof *all->pkgs );
- all->pkg_count = 0;
-
- realloc_tmp = realloc(
- all->pkgs,
- sizeof *all->pkgs * ( updates->pkg_count + available->pkg_count + 1 )
- );
- if( realloc_tmp != NULL ){
- all->pkgs = realloc_tmp;
- }else{
- fprintf(stderr,"Failed to resize size all package listing\n");
- exit(1);
- }
-
- for(i = 0; i < updates->pkg_count;i++){
- all->pkgs[all->pkg_count] = updates->pkgs[i];
- ++all->pkg_count;
- }
- for(i = 0; i < available->pkg_count;i++){
- all->pkgs[all->pkg_count] = available->pkgs[i];
- ++all->pkg_count;
- }
-
- return all;
-}
-
void write_pkg_data(const char *source_url,FILE *d_file,struct pkg_list *pkgs){
int i;
diff --git a/src/package.h b/src/package.h
index f834580..c6f1b62 100644
--- a/src/package.h
+++ b/src/package.h
@@ -64,7 +64,6 @@ struct pkg_list *get_available_pkgs(void);
struct pkg_list *get_installed_pkgs(void);
/* return list of update pkgs */
struct pkg_list *parse_file_list(FILE *);
-struct pkg_list *get_update_pkgs(void); /* scheduled for removal */
/* generate a short description */
char *gen_short_pkg_description(pkg_info_t *);
/* retrieve the newest pkg from pkg_info_t list */
@@ -87,7 +86,6 @@ int cmp_pkg_versions(char *, char *);
/* analyze the pkg version hunk by hunk */
int break_down_pkg_version(int *,char *);
/* get available, installed, and update pkgs all in one */
-struct pkg_list *get_available_and_update_pkgs(void); /* scheduled for removal */
/* write pkg data to disk */
void write_pkg_data(const char *,FILE *,struct pkg_list *);