LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware from Scratch and X11 (https://www.linuxquestions.org/questions/slackware-14/slackware-from-scratch-and-x11-4175560702/)

nobodino 06-09-2016 11:57 AM

ap: linuxdoc-tools: need slacktrack, itstool, unzip, libxml2, libxslt, python, tetex, rpm2tgz, rpm, diffutils, cpio, intltool

If one of these packages is missing, linudoc-tools won't build.
I made the lists by compiling by hand each package, searching for the dependancies by trying and trying again until I had something working.
The initial aim of this was to build Slackware from scratch with the minimum modifications to the slackbuilds, unless circular dependancy or bugs.
It's possible to build a "working system" by pass-passing a lot of docs by modifying the slackbuilds, that's what I'd done first, but I didn't like that way of working.
So it's why it is as it is now.

hendrickxm 06-09-2016 12:18 PM

Quote:

Originally Posted by nobodino (Post 5558468)
ap: linuxdoc-tools: need slacktrack, itstool, unzip, libxml2, libxslt, python, tetex, rpm2tgz, rpm, diffutils, cpio, intltool

If one of these packages is missing, linudoc-tools won't build.
I made the lists by compiling by hand each package, searching for the dependancies by trying and trying again until I had something working.
The initial aim of this was to build Slackware from scratch with the minimum modifications to the slackbuilds, unless circular dependancy or bugs.
It's possible to build a "working system" by pass-passing a lot of docs by modifying the slackbuilds, that's what I'd done first, but I didn't like that way of working.
So it's why it is as it is now.

Thanks, very clear! Using stock slackbuild feels better.
What about dhcp AND dhcpcd, lftp AND ncftp?

Have you tested the obscure X packages like lndir, ggcmakedep, ... none are listed in BLFS for example.
BLFS removes the libpthreadstubs dependency and what other packages need llvm apart from mesa (and that is optional).

nobodino 06-09-2016 01:31 PM

1 Attachment(s)
read the memo enclosed. You will better understand how it was built.
At the very beginning (two years from now), everything was built at hand, one package after one, until I got something close an equivalent "LFS" able to build everything, and able to access internet (the reason for the last packages).
Then I tried to automatize it with the help of JEG, until you see as it is now

nobodino 06-13-2016 06:03 AM

2 Attachment(s)
I've managed to shrink drastically the first part of sfs building, the functionality is not the same: 67 packages instead of more than 180.
It can boot, but need 'tools' to go on building sfs.
Hendrickxm: you can test it with build0_s.list instead of build1_s.list and patch kmod.SlackBuild with what is enclosed in the new memo.

hendrickxm 06-13-2016 06:47 AM

Thanks, excellent documentation. Your work is greatly appreciated.

hendrickxm 06-15-2016 11:03 AM

Slackware from Scratch 14.1
 
As an experiment I am trying to recompile slackware 14.1 instead.
Using a very minimal chroot I tried to rebuild almost all packages, excluding specific/exotic stuff and the toolchain.
Why is this useful? Not really sure, but I was intrigued with stripslack and LFS. So the idea was to have a LFS-like system, capable of recompiling itself. My goal is to have a very minimal slackware-based system. Using unmodified slackbuilds where possible. So this is the list:
Code:

aaa_base-14.1-i486-1
aaa_elflibs-14.1-i486-3
aaa_terminfo-5.8-i486-1
autoconf-2.69-noarch-1
automake-1.11.5-noarch-1
bash-4.2.053-i486-1_slack14.1
bc-1.06.95-i486-1
bin-11.1-i486-1
binutils-2.23.52.0.1-i486-2
bison-2.7-i486-1
bzip2-1.0.6-i486-1
ca-certificates-20160104-noarch-1_slack14.1
coreutils-8.21-i486-1
cxxlibs-6.0.18-i486-1
devs-2.3.1-noarch-25
diffutils-3.3-i486-1
e2fsprogs-1.42.8-i486-2
etc-14.1-i486-2
file-5.14-i486-1
findutils-4.4.2-i486-1
flex-2.5.37-i486-1
gawk-4.1.0-i486-2
gcc-4.8.2-i486-1
gcc-g++-4.8.2-i486-1
gdbm-1.8.3-i486-4
gettext-0.18.2.1-i486-2
gettext-tools-0.18.2.1-i486-2
glibc-2.17-i486-11_slack14.1
glibc-zoneinfo-2016d-noarch-1_slack14.1
gmp-5.1.3-i486-1
grep-2.14-i486-1a REMOVED pcre dependency
groff-1.22.2-i486-1
gzip-1.6-i486-1
kbd-1.15.3-i486-2a ADDED --disable-nls
kernel-headers-3.10.17_smp-x86-3
kmod-15-i486-1a ADDED --disable-manpages
libmpc-0.8.2-i486-2
libtool-2.4.2-i486-2
linuxdoc-tools-0.9.68-i486-4
m4-1.4.17-i486-1
make-3.82-i486-4
man-1.6g-i486-1
man-pages-3.53-noarch-1
mpfr-3.1.2-i486-1
nano-2.3.2-i486-1
ncurses-5.9-i486-2
patch-2.7.4-i486-1_slack14.1
perl-5.18.1-i486-1a REMOVED all modules except XML-Parser
pkg-config-0.25-i486-1
pkgtools-14.1-noarch-2
procps-3.2.8-i486-4
python-2.7.5-i486-1
readline-5.2-i486-4
sed-4.2.2-i486-1
shadow-4.1.5.1-i486-3_slack14.1
tar-1.26-i486-1a ADDED sed from LFS 7.4
texinfo-4.13a-i486-4
util-linux-2.21.2-i486-6
which-2.20-i486-1
xz-5.0.5-i486-1
zlib-1.2.8-i486-1

The packages I did not compile:
Code:

aaa_*
bin
binutils
ca-certificates
cxxlibs
devs
etc
gcc, gcc++
glibc-*
gmp
libmpc
libmpfr
libtool
linuxdoc-tools
man
man-pages
pkgtools
zlib

I added openssl-solibs and wget to be able to download some stuff inside my chroot.
I was able to compile openssl and wget as well. Openssl needed a modified patch from BLFS.
Some other stuff I tried to add and succeeded:
Code:

net-tools with suggested patch
iproute2 with sed from LFS 7.4
udev using LFS configure options
grub
sysvinit

Sysvinit-scripts and functions I am not gonna try to compile.

The next step is trying to build X and a bootable system, all will still be done inside the chroot.

It would be interesting to see if I can rebuild all these packages with the slackware-current toolchain, but I am in no hurry.

worsel 06-16-2016 04:13 PM

2 Attachment(s)
Kept on building after gcc-all, using the attached build7.list.

Ran into some problems:

> efibootmgr would not compile
> elilo would not compile -- needs efibootmgr.
> mkinitrd would not compile -- error: busybox_unstripped failed
> reiserfs progs did not build.
> ispell failed to build
> libmad failed to build.
> madplay, normalize did not build -- reason: need libmad
> mpg123 build failed -- reason: missing audio modules

I'm still working on the first four, but have attached patches for
libmad and mpg123. Would appreciate any patches for the first four.

I'll uncomment the failed items in the list when I find solutions.
gvim is not a problem. The build script I'm using builds both vim
and gvim when it encounters vim.

isapnptools is not used on x86_64.

hendrickxm 06-21-2016 05:20 PM

Slackware-current from binaries rebuild
 
I tried to install a small chroot with slackware-current binaries that could compile itself.
Here is what I came up with:
Code:

aaa_base-14.2-i586-2
aaa_terminfo-5.9-i486-1
acl-2.2.52-i486-1
attr-2.4.47-i486-1
autoconf-2.69-noarch-1
automake-1.15-noarch-1
bash-4.3.042-i586-1
bin-11.1-i486-1
binutils-2.26-i586-3
bison-3.0.4-i486-1
bzip2-1.0.6-i486-1
ca-certificates-20160104-noarch-1
coreutils-8.25-i586-2
cxxlibs-6.0.18-i486-1
db48-4.8.30-i486-2
devs-2.3.1-noarch-25
diffutils-3.3-i486-1
e2fsprogs-1.43.1-i586-1s0
etc-14.2-i586-6
expat-2.1.0-i486-1
file-5.25-i586-1s0
findutils-4.4.2-i486-1
flex-2.6.0-i586-1
gawk-4.1.3-i586-1s0
gc-7.4.2-i586-3
gcc-5.3.0-i586-3
gcc-g++-5.3.0-i586-3
gdbm-1.12-i586-1
gettext-0.19.8.1-i586-1
gettext-tools-0.19.8.1-i586-1s0
glibc-2.23-i586-1s0
glibc-zoneinfo-2016e-noarch-1
gmp-6.1.0-i586-1
grep-2.25-i586-1s0
groff-1.22.3-i586-2s0
guile-2.0.11-i486-2
gzip-1.8-i586-1
kernel-headers-4.4.13_smp-x86-1
less-481-i586-1
libcap-2.22-i486-1
libffi-3.2.1-i486-1
libmpc-1.0.3-i486-1
libsigsegv-2.10-i486-1
libtermcap-1.2.3-i486-7
libtool-2.4.6-i586-4
libunistring-0.9.3-i486-1
m4-1.4.17-i486-1
make-4.1-i586-2
man-1.6g-i586-3
man-pages-4.06-noarch-1
mpfr-3.1.4-i586-1
nano-2.5.3-i586-1
ncurses-5.9-i486-4
net-tools-1.60.20120726git-i486-1
network-scripts-14.2-noarch-1
openssl-1.0.2h-i586-1
patch-2.7.5-i586-1
perl-5.22.2-i586-1s0
pkg-config-0.29.1-i586-2s0
pkgtools-14.2-noarch-10
procps-ng-3.3.11-i586-1
readline-6.3-i586-2
sed-4.2.2-i486-1
shadow-4.2.1-i486-1
tar-1.29-i586-1
texinfo-6.1-i586-1
util-linux-2.27.1-i586-1s0
wget-1.18-i586-1s0
which-2.21-i586-1
xz-5.2.2-i586-1
zlib-1.2.8-i486-1

I did rebuild a few packages to remove a few linked libraries.
glibc was linked against libpng and something else
e2fsprogs against fuse
grep against pcre
perl is built with only XML-Parser
gettext-tools and pkg-config was linked with glib2
groff was linked against Xorg-libs
util-linux against eudev and python
wget with libidn

I would love to remove links against libsigsegv, gc, libffi, libunistring, libtermcap. Most of all removing guile would be awesome, what a slow build.
There is no eudev, sysV, kbd, kmod, bc, kernel, so booting is not possible. But I thought it would be nice to see if a small chroot could rebuild itself. Basically it is a LFS ch6 without bootstuff and extras needed to rebuild itself using mostly slackware buildscripts.
I did not rebuild gcc-*, binutils, bin, etc, devs, libtool, zlib, kernel-headers, linuxdoc-tools, aaa-*, mpfr, mpc, gmp, pkgtools because either part of toolchain, slackware related or too exotic.
packages with s0 are rebuilds with possibly modded buildscript.

I wanted to stay with 14.1 but my touchscreen/touchpad does not work on my laptop on 14.1 and current does.

EDIT: I managed to remove the guile and gc dependencies by going back to make-4.0. I also removed libunistring by compiling gettext-tools with --with-included-libunistring.
I am using cruxports4slack to build a few specific packages with Pkgfiles from Nutyx/LFS. Kbd with the slackware buildscript fails because of exotic translations.
Gperf, eudev --disable-introspection, sysV, sysklogd, man, man-pages, binutils, libtool (through specific buildscript so no need for help2man), kbd (specific buildscript), binutils, zlib, gmp, mpfr, mpc, they all compile. I will rebuild further and try to trim it down some more. A lot of stuff has been added compared to 14.1.

nobodino 06-29-2016 05:55 AM

2 Attachment(s)
new version:
- introduced a bare version with build0_s.list (no need of 'tools' to go on, but no internet): self sufficient to build slackware (81 packages to build)
- introduced build4_s.list to build almost everything except kde: some packages resist (qt-gstreamer, akonadi, gv,..)
- solved the problem for: efibootmgr (add efivar 0.23+patch and bump version 0.12), reiserfprogs (bump version 3.6.25), isapnptools (bump version 1.27), ispell (bump version 3.4..00), mkinitrd, libmad (patch), madplay, mpg123...
- add a lot of patches to build broken packages
- no more weird message when : grep 'tools/bin' * in /usr/bin, even with build0_s.list

That's all folks!

worsel 07-08-2016 09:18 PM

Nobodino,

Sorry to take so long, but I've been busy. Just finished testing your last scripts.
Initial build with build1_s.list went fine, except "bin/tools" showed up in bison
and flex binaries. Rebuilt them and everything appears to be fine.

Keep up the good work!

Worsel aka J. E. Garrott Sr

nobodino 07-10-2016 11:40 AM

1 Attachment(s)
I managed to build an updated version of slackware with LFS-svn-20160702.
I have built an entire build1_s.list with the following updated packages:
- gcc: 6.1.0
- binutils: 2.26.1
- kernel: 4.6.3
- eudev: 3.2
- glibc: 2.23 (add --disable-werror to configure)
- findutils: 4.6.0 (modified SlackBuild with a patch found on linuxquestions/slackware forum)
- lvm2: 2.02.160
- help2man: 1.47.3
- dialog: 20160424
- cmake: 3.6.0
- perl: 5.24.0
- pkg-config: 0.29.1 (add --disable-compile-warnings to configure)
- linuxdoc-tools: 0.9.69 (add to remove '|| exit 1' on 'make' and 'make install' to build 'docbook-utils')
- nano: 2.6.1
- make: 4.2.1
- xfsprogs: 4.5.0
- freetype: 2.6.4
- fuse: 2.9.7
- glib2: 2.48.1
- elfutils: 0.166
- pciutils: 3.5.1
- dhcpcd: 6.11.1
- iputils: 20160308 (no ping6)

Here's enclosed the complete 'ls -la /var/log/packages > liste.txt'.
It's functional as normal slackware.
I'll try to go further with build2_s.list.

worsel 07-10-2016 10:07 PM

Nobodino,

Looks good.

Question: Where did you get the slackbuild for efivar? I found one for version 0.20
and source for version 0.24*, no slackbuild for version 0.21.

Tried building build3_s.list but bombed out at qt. More tomorrow or Tuesday.


* https://github.com/Papitux/SlackStuf.../master/efivar

nobodino 07-11-2016 01:19 AM

1 Attachment(s)
efivar is 0.23 and not 0.21. I don't remember where I got it. Enclosed the original one.
qt: may work or not, on the last building : not working, as for firefox/seamonkey/thunderbird...

worsel 07-15-2016 11:42 PM

Guess I wasn't clear in my last post. "0.21" referred to the SlackBuild, where your
patch changes it to 0.23. Actually I'm using efivar-0.24, which doesn't seem to
need any patches. ( Keeping my fingers crossed! )

Thanks for patch anyway.

Finally got qt to build. Had to build ruby before building qt. The problem was
in qtwebkit where a configuration file wouldn't build.

nobodino 07-16-2016 07:37 AM

I got finally x working, up to blackbox (build2_s.list with the following changes to build with gcc-6.1.0:
- fontconfig: 2.12.0 (disabled the '|| exit 1' for 'make' and 'make install',and add '--disable-docs' to configure)
- qt : add '-std=gnu++98' to SLKCFLAGS (SLKCFLAGS="-O2 -march=i586 -mtune=i686 -std=gnu++98")


All times are GMT -5. The time now is 09:47 AM.