migrate from Gentoo to Debian for a smaller image
This commit is contained in:
		
							
								
								
									
										60
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,16 +1,48 @@ | ||||
| FROM gentoo/portage AS portage | ||||
| FROM gentoo/stage3:i686-openrc | ||||
| COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo | ||||
| RUN FEATURES="parallel-fetch" EMERGE_DEFAULT_OPTS="--autounmask-write --quiet-build=y" emerge eselect-repository dev-vcs/git joe && \ | ||||
|   eselect repository enable salfter && \ | ||||
|   emaint sync -r salfter && \ | ||||
|   emerge trn && \ | ||||
|   emerge -C git && \ | ||||
|   emerge --depclean && \ | ||||
|   eselect repository disable salfter && \ | ||||
|   rm -r /var/db/repos/gentoo/* /var/db/repos/salfter/* && \ | ||||
| FROM i386/debian | ||||
| ADD extras /tmp/extras | ||||
| RUN apt update && apt install -y build-essential git joe bison libncurses5 libncurses5-dev && \ | ||||
|   git clone https://github.com/arnoldrobbins/trn && \ | ||||
|   cd trn && \ | ||||
|   cp /tmp/extras/* . && \ | ||||
|   yes | ./Configure -dse \ | ||||
|      -D phost=alfter.diespammersdie.us \ | ||||
|      -D orgname='USS Voyager NCC-74656, Delta Quadrant' \ | ||||
|      -D defeditor='/usr/bin/joe' \ | ||||
|      -D active='remote' \ | ||||
|      -D acttimes='remote' \ | ||||
|      -D bin='/usr/bin' \ | ||||
|      -D binexp='/usr/bin' \ | ||||
|      -D cc='gcc' \ | ||||
|      -D cpprun='gcc -E' \ | ||||
|      -D cppstdin='gcc -E' \ | ||||
|      -D d_genauth='define' \ | ||||
|      -D d_local='undef' \ | ||||
|      -D extrainews='' \ | ||||
|      -D filexp='/usr/lib/trn/filexp' \ | ||||
|      -D groupdesc='' \ | ||||
|      -D hostbits='0' \ | ||||
|      -D installbin='/usr/local/bin' \ | ||||
|      -D installinews='/usr/local/bin' \ | ||||
|      -D installprivlib='/usr/local/lib/trn' \ | ||||
|      -D mimecap='' \ | ||||
|      -D myactive='.falseactive' \ | ||||
|      -D newslib='/tmp' \ | ||||
|      -D newslibexp='/tmp' \ | ||||
|      -D newsspool='none' \ | ||||
|      -D overviewdir='remote' \    | ||||
|      -D overviewfmt='none' \ | ||||
|      -D prefix='/usr' \ | ||||
|      -D prefixexp='/usr' \ | ||||
|      -D privlib='/usr/local/lib/trn' \ | ||||
|      -D privlibexp='/usr/local/lib/trn' \ | ||||
|      -D servername='no default' \ | ||||
|      -D subscriptions='' \ | ||||
|      -D threaddir='remote' \ | ||||
|      -D useinews='/usr/bin/inews' && \ | ||||
|   patch -p0 <post-config.patch && \ | ||||
|   make && make install && \ | ||||
|   useradd -mc "Scott Alfter" scott && \ | ||||
|   ln -sf /usr/share/zoneinfo/US/Pacific /etc/localtime | ||||
|   ln -sf /usr/share/zoneinfo/US/Pacific /etc/localtime && \ | ||||
|   apt remove -y build-essential git bison libncurses5-dev && apt -y autoremove && rm -rf /var/lib/apt/lists/* /tmp/extras | ||||
| WORKDIR /home/scott | ||||
| ENTRYPOINT ["/usr/bin/trn"] | ||||
|  | ||||
| ENTRYPOINT ["/usr/local/bin/trn"] | ||||
|   | ||||
| @@ -2,7 +2,7 @@ containerized trn | ||||
| ================= | ||||
|  | ||||
| This builds trn (from https://github.com/arnoldrobbins/trn) under 32-bit | ||||
| Gentoo Linux in a container.  Build it: | ||||
| Debian Linux in a container.  Build it: | ||||
|  | ||||
| ```docker build -t salfter/trn .``` | ||||
|  | ||||
|   | ||||
							
								
								
									
										271
									
								
								extras/config.sh.debian
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										271
									
								
								extras/config.sh.debian
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,271 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # This file was produced by running the Configure script. It holds all the | ||||
| # definitions figured out by Configure. Should you modify one of these values, | ||||
| # do not forget to propagate your changes by running "Configure -der". You may | ||||
| # instead choose to run each of the .SH files by yourself, or "Configure -S". | ||||
| # | ||||
|  | ||||
| # Package name      : trn | ||||
| # Source directory  : . | ||||
| # Configuration time: Thu Dec  5 05:47:03 UTC 2024 | ||||
| # Configured by     : root | ||||
| # Target system     : linux 2ab39202a68c 6.12.1-arch1-1 #1 smp preempt_dynamic fri, 22 nov 2024 16:04:27 +0000 x86_64 gnulinux  | ||||
|  | ||||
| Id='' | ||||
| Log='' | ||||
| Mcc='Mcc' | ||||
| _a='.a' | ||||
| _exe='' | ||||
| _o='.o' | ||||
| active='remote' | ||||
| acttimes='remote' | ||||
| aphostcmd='/usr/bin/hostname' | ||||
| archobjs='' | ||||
| awk='/usr/bin/awk' | ||||
| basename='/usr/bin/basename' | ||||
| bash='/usr/bin/bash' | ||||
| bin='/usr/local/bin' | ||||
| binexp='/usr/local/bin' | ||||
| byacc='byacc' | ||||
| c='' | ||||
| cat='/usr/bin/cat' | ||||
| cc='gcc' | ||||
| ccflags='-fpcc-struct-return -I/usr/local/include' | ||||
| cf_by='root' | ||||
| cf_time='Thu Dec  5 05:47:03 UTC 2024' | ||||
| citydist='none' | ||||
| cntrydist='none' | ||||
| comm='/usr/bin/comm' | ||||
| contains='grep' | ||||
| contdist='none' | ||||
| cp='/usr/bin/cp' | ||||
| cpp='/usr/bin/cpp' | ||||
| cppflags='-fpcc-struct-return -I/usr/local/include -D__GNUC__' | ||||
| cpplast='-' | ||||
| cppminus='-' | ||||
| cpprun='gcc -E' | ||||
| cppstdin='gcc -E' | ||||
| csh='csh' | ||||
| d_acttimes='define' | ||||
| d_attribut='define' | ||||
| d_berknames='define' | ||||
| d_bsd='undef' | ||||
| d_dirnamlen='' | ||||
| d_eunice='undef' | ||||
| d_ftime='define' | ||||
| d_genauth='define' | ||||
| d_getcwd='define' | ||||
| d_getdname='undef' | ||||
| d_gethname='define' | ||||
| d_getpwent='define' | ||||
| d_gettimeod='define' | ||||
| d_getwd='define' | ||||
| d_gnulibc='define' | ||||
| d_havetlib='undef' | ||||
| d_ignoreorg='undef' | ||||
| d_inews='define' | ||||
| d_internet='define' | ||||
| d_libndir='undef' | ||||
| d_local='undef' | ||||
| d_memcmp='define' | ||||
| d_memcpy='define' | ||||
| d_memset='define' | ||||
| d_mkdir='define' | ||||
| d_msdos='undef' | ||||
| d_newsadm='define' | ||||
| d_nntp='define' | ||||
| d_nolnbuf='undef' | ||||
| d_normsig='define' | ||||
| d_novoid='undef' | ||||
| d_passnames='define' | ||||
| d_phostcmd='define' | ||||
| d_portable='undef' | ||||
| d_rdchk='undef' | ||||
| d_rename='define' | ||||
| d_resinit='undef' | ||||
| d_sigblock='define' | ||||
| d_sighold='define' | ||||
| d_sizet='undef' | ||||
| d_strccmp='define' | ||||
| d_strchr='define' | ||||
| d_strftime='define' | ||||
| d_strstr='define' | ||||
| d_uname='undef' | ||||
| d_usendir='undef' | ||||
| d_usgnames='undef' | ||||
| d_uwait3='' | ||||
| d_uwait='undef' | ||||
| d_vfork='undef' | ||||
| d_voidsig='define' | ||||
| d_voidtty='' | ||||
| d_wifstat='define' | ||||
| d_xenix='undef' | ||||
| d_xthread='define' | ||||
| date='/usr/bin/date' | ||||
| defeditor='/usr/bin/joe' | ||||
| diff='/usr/bin/diff' | ||||
| direntrytype='struct dirent' | ||||
| echo='/usr/bin/echo' | ||||
| ed='ed' | ||||
| egrep='/usr/bin/egrep' | ||||
| eunicefix=':' | ||||
| exe_ext='' | ||||
| expr='/usr/bin/expr' | ||||
| extrainews='' | ||||
| filexp='/usr/local/lib/trn/filexp' | ||||
| find='' | ||||
| firstmakefile='' | ||||
| gccversion='12.2.0' | ||||
| glibpth='/shlib /usr/shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/local/lib' | ||||
| grep='/usr/bin/grep' | ||||
| groupdesc='' | ||||
| hint='previous' | ||||
| hostbits='0' | ||||
| i_bsdioctl='' | ||||
| i_dirent='define' | ||||
| i_ptem='undef' | ||||
| i_sgtty='undef' | ||||
| i_stdlib='define' | ||||
| i_string='define' | ||||
| i_sysdir='define' | ||||
| i_sysfilio='undef' | ||||
| i_sysioctl='define' | ||||
| i_sysndir='undef' | ||||
| i_syssockio='' | ||||
| i_systime='define' | ||||
| i_syswait='define' | ||||
| i_termio='undef' | ||||
| i_termios='define' | ||||
| i_time='define' | ||||
| i_unistd='define' | ||||
| i_utime='define' | ||||
| i_vfork='undef' | ||||
| incpath='' | ||||
| inews='inews' | ||||
| installbin='/usr/local/bin' | ||||
| installinews='/usr/local/bin' | ||||
| installmansrc='' | ||||
| installprivlib='/usr/local/lib/trn' | ||||
| ispell='ispell' | ||||
| ispell_options='' | ||||
| ispell_prg='none' | ||||
| jobslib='' | ||||
| ksh='ksh' | ||||
| ldflags=' -L/usr/local/lib' | ||||
| less='/usr/bin/less' | ||||
| lib_ext='.a' | ||||
| libc='' | ||||
| libndir='' | ||||
| libpth='/usr/local/lib /lib /usr/lib' | ||||
| libs=' ' | ||||
| libswanted='malloc resolv socket net hdb bbn str nls nsl intl x ucb' | ||||
| lint='' | ||||
| lns='/usr/bin/ln -s' | ||||
| locdist='none' | ||||
| locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' | ||||
| loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' | ||||
| mail='mail' | ||||
| mailer='mail' | ||||
| mailfile='/var/mail/%L' | ||||
| manext='' | ||||
| mansrc=' ' | ||||
| mansrcexp='' | ||||
| mboxchar='F' | ||||
| mimecap='/usr/local/etc/mimecap' | ||||
| mips='' | ||||
| mips_type='' | ||||
| mkdir='/usr/bin/mkdir' | ||||
| more='/usr/bin/more' | ||||
| multistatedist='none' | ||||
| mv='/usr/bin/mv' | ||||
| myactive='.falseactive' | ||||
| myuname='linux 2ab39202a68c 6.12.1-arch1-1 #1 smp preempt_dynamic fri, 22 nov 2024 16:04:27 +0000 x86_64 gnulinux ' | ||||
| n='-n' | ||||
| nametype='bsd' | ||||
| ndirc='' | ||||
| ndiro='' | ||||
| newsadmin='news' | ||||
| newslib='/tmp' | ||||
| newslibexp='/tmp' | ||||
| newsspool='none' | ||||
| nm='/usr/bin/nm' | ||||
| nm_opt='' | ||||
| nm_so_opt='--dynamic' | ||||
| nroff='nroff' | ||||
| obj_ext='.o' | ||||
| optimize='-O2' | ||||
| orgdist='none' | ||||
| orgname='USS Voyager NCC-74656, Delta Quadrant' | ||||
| osname='linux' | ||||
| osvers='6.12.1-arch1-1' | ||||
| overviewdir='remote' | ||||
| overviewfmt='none' | ||||
| package='trn' | ||||
| pager='/usr/bin/less' | ||||
| path_sep=':' | ||||
| perl='/usr/bin/perl' | ||||
| perlpath='/usr/bin/perl' | ||||
| pg='pg' | ||||
| pgp='pgp' | ||||
| phost='alfter.diespammersdie.us' | ||||
| phostcmd='hostname' | ||||
| plibpth='' | ||||
| prefix='/usr/local' | ||||
| prefixexp='/usr/local' | ||||
| prefshell='/usr/bin/bash' | ||||
| privlib='/usr/local/lib/trn' | ||||
| privlibexp='/usr/local/lib/trn' | ||||
| rm='/usr/bin/rm' | ||||
| rmail='rmail' | ||||
| rootid='0' | ||||
| runnm='false' | ||||
| sed='/usr/bin/sed' | ||||
| sendmail='sendmail' | ||||
| servername='no default' | ||||
| sharpbang='#!' | ||||
| shsharp='true' | ||||
| signal_t='void' | ||||
| smail='smail' | ||||
| so='so' | ||||
| sort='/usr/bin/sort' | ||||
| spackage='Trn' | ||||
| spell='spell' | ||||
| spitshell='cat' | ||||
| src='.' | ||||
| startsh='#!/bin/sh' | ||||
| statedist='none' | ||||
| strftimec='' | ||||
| strftimeo='' | ||||
| strings='/usr/include/string.h' | ||||
| strn='define' | ||||
| subscriptions='' | ||||
| sysman='/usr/share/man/man1' | ||||
| tail='/usr/bin/tail' | ||||
| tee='' | ||||
| termlib='' | ||||
| test='test' | ||||
| threaddir='remote' | ||||
| tk='undef' | ||||
| tkinc='' | ||||
| tklibs='' | ||||
| tr='/usr/bin/tr' | ||||
| trn_init='FALSE' | ||||
| trn_select='TRUE' | ||||
| trnl='\n' | ||||
| uname='/usr/bin/uname' | ||||
| uniq='/usr/bin/uniq' | ||||
| useinews='/usr/local/bin/inews' | ||||
| usenm='false' | ||||
| usevfork='false' | ||||
| usrinc='/usr/include' | ||||
| uuname='uuname' | ||||
| vi='vi' | ||||
| void='' | ||||
| vspell='' | ||||
| who='/usr/bin/who' | ||||
| xlibpth='/usr/lib/386 /lib/386' | ||||
| yacc='bison -y' | ||||
| yaccflags='' | ||||
| PATCHLEVEL="4.0-test77 (Sep 1, 2010)" | ||||
| CONFIG=true | ||||
							
								
								
									
										22
									
								
								extras/post-config.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								extras/post-config.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| --- config.h	2024-12-05 16:39:34.000000000 +0000 | ||||
| +++ config.h	2024-12-05 16:40:11.018017876 +0000 | ||||
| @@ -365,7 +365,7 @@ | ||||
|   *	This symbol, when defined, indicates that termlib-style routines | ||||
|   *	are available.  There is nothing to include. | ||||
|   */ | ||||
| -/*#define	HAS_TERMLIB	*//**/ | ||||
| +#define	HAS_TERMLIB	/**/ | ||||
|   | ||||
|  /* IGNOREORG: | ||||
|   *	This symbol, if defined, indicates that the ORGANIZATION environment | ||||
| --- Makefile	2024-12-05 16:39:34.000000000 +0000 | ||||
| +++ Makefile	2024-12-05 16:40:10.464686461 +0000 | ||||
| @@ -36,7 +36,7 @@ | ||||
|  strftimeo =  | ||||
|  installfilexp = /usr/local/lib/trn/filexp | ||||
|   | ||||
| -libs =    -lm   | ||||
| +libs = -ltermcap -lm   | ||||
|  tklibs =  | ||||
|  public_backup = trn$(exe) trn-artchk$(exe) $(nntpexe) $(msdosexe) | ||||
|  public_diff = Pnews Rnmail | ||||
		Reference in New Issue
	
	Block a user